Алгоритмы параллельной сборки мусора

Алгоритмы параллельной сборки мусора

Для получения полного решения проблемы работы в стартстопном режиме крайне привлекательно выделить сборщику мусора отдельный поток выполнения, конечно, при условии поддержки многозадачности операционной системой. Этот прием известен, как сборка мусора "на лету" (on-the fly) или параллельная.

Во время сборки мусора на лету выполнение ОО-системы использует два отдельных потока (часто соответствующих двум отдельным процессам операционной системы): приложение и сборщик. Только приложение выделяет память объектам с помощью инструкций создания; только сборщик освобождает память с помощью reclaim операций.

Сборщик будет работать непрерывно, повторяя фазу пометки и следом фазу чистки для обнаружения и удаления недостижимых объектов.

Отдельные потоки не обязательно должны быть отдельными процессами. Они могут быть, во избежание дополнительных расходов на переключение между процессами или даже потоками, плоскими сопрограммами. (Подробнее сопрограммы будут рассмотрены в лекции 12 курса "Основы объектно-ориентированного проектирования", рассматривающей "параллелизм")

Даже при этих условиях сборка мусора на лету на практике имеет неудовлетворительную полную производительность. Это печально, поскольку сам метод достаточно хорош, особенно при условии использования алгоритма Дейкстры (см. библиографическую ссылку).

По моему мнению (мой комментарий отражает надежду, а не научно установленный результат) параллельная сборка мусора - решение будущего, требующее кооперации с аппаратными средствами. Вместо того, чтобы воровать время у процессора, выполняющего приложение, сборка мусора должна управляться отдельным процессором, предназначенным только для решения этой задачи и сконструированным так, чтобы как можно меньше влиять на процессор(ы), работающие с приложением.

Эта идея требует изменения доминирующей аппаратной архитектуры и, вероятно, вряд ли найдет скорое применение. Я надеюсь, что ответом на иногда задаваемый вопрос -

"Какой тип аппаратного обеспечения наиболее пригоден для объектной технологии?" -

первым пунктом в списке пожеланий будет наличие отдельного процессора для сборки мусора.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Сборки

Из книги Время - деньги. Создание команды разработчиков программного обеспечения автора Салливан Эд


Точка сборки

Из книги Журнал "Компьютерра" №714 автора Журнал «Компьютерра»


Краткая схема сборки

Из книги Железо ПК [Популярный самоучитель] автора Пташинский Владимир

Краткая схема сборки В принципе, вы можете собирать компьютер в той последовательности, в какой пожелаете. Мало того, в зависимости от размеров и конфигурации корпуса, а также размера материнской платы очередность операций может варьироваться. Иногда проще сначала


Что нужно помнить при параллельной установке ОС

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Что нужно помнить при параллельной установке ОС Рассмотрим ситуацию, когда вы долго и успешно пользуетесь какой-либо операционной системой, хотите вдруг попробовать в деле Windows XP, но и от старой привычной системы отказываться не собираетесь. О чем нужно помнить в этом


Активизация сборки мусора

Из книги Руководство администратора баз данных Informix. автора Кустов Виктор

Активизация сборки мусора Итак, сборщик мусора в .NET призван управлять памятью за вас. Однако в очень редких случаях, перечисленных ниже, бывает выгодно программно активизировать начало сборки мусора, используя дня этого GC.Collect().• Перед входом приложения в блок


2.2.8.4 Утилита параллельной загрузки

Из книги Установка и настройка Tor автора Стручков Юрий

2.2.8.4 Утилита параллельной загрузки Утилита параллельной загрузки способна параллельно считывать данные из нескольких источников, ускоряя за счет этого процедуры загрузки и выгрузки данных. Предоставляемый ею графический интерфейс позволяет администратору базы


4. Пакеты (сборки) системы Tor

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

4. Пакеты (сборки) системы Tor Программное обеспечение Tor разрабатывается для различных операционных систем: - ОС семейства Microsoft Windows - ОС семейства Linux/Unix- ОС Apple- и для смартфонов (ОС Android, iPhone, iPad и др.)Для каждой из операционных систем существуют различные варианты


Механизм сборки мусора

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

Механизм сборки мусора Сборщик мусора (garbage collector) - это функция исполнительной системы (runtime system) языка программирования. Сборщик мусора выполняет обнаружение и утилизацию недостижимых объектов, не нуждаясь в управлении приложением, хотя приложение может иметь в своем


Основа сборки мусора

Из книги OrCAD PSpice. Анализ электрических цепей автора Кеоун Дж.

Основа сборки мусора Рассмотрим работу сборщика мусора.Основной алгоритм включает две фазы: пометка и чистка. Фаза пометки, начиная с оригиналов, рекурсивно следует ссылкам, проходит активную часть структуры и помечает как достижимые все встреченные объекты. Фаза


Практические проблемы сборки мусора

Из книги C++. Сборник рецептов автора Диггинс Кристофер

Практические проблемы сборки мусора Среда исполнения, обеспечивающая управление памятью, должна не только использовать хороший алгоритм сборки мусора, но и поддерживать несколько свойств, которые, хотя и не главные в теории управления памятью, являются существенными


Механизм сборки мусора

Из книги автора

Механизм сборки мусора Приведем схему алгоритма, используемого сборщиком мусора.Решение представляет собой не единственный алгоритм, а основано на комбинации основных алгоритмов, часть из которых используется совместно, часть - независимо друг от друга. Каждая


6.14.5 Тайм-аут сборки датаграммы

Из книги автора

6.14.5 Тайм-аут сборки датаграммы Рассмотрим следующую последовательность событий:? Пересылается датаграмма.? Пославший ее процесс аварийно завершается.? Датаграмма фрагментируется при пересылке.? По пути следования теряется один из фрагментов.При потере отправленного


Усилитель с общим эмиттером с параллельной обратной связью по напряжению

Из книги автора

Усилитель с общим эмиттером с параллельной обратной связью по напряжению В качестве примера, относящегося уже не к колебательному контуру, а к усилителю, на рис. 4.18 показана упрощенная гибридная ?-модель для усилителя ОЭ с параллельной обратной связью по напряжению. Рис.


Трехкаскадный усилитель с параллельной обратной связью по напряжению

Из книги автора

Трехкаскадный усилитель с параллельной обратной связью по напряжению Теперь рассмотрим более значительное изменение. Включим резистор обратной связи Rf=5 кОм между узлами 8 и 2 (то есть между коллектором последнего и базой первого каскадов). Это приведет к созданию


1.22. Создание окончательной сборки

Из книги автора

1.22. Создание окончательной сборки ПроблемаВы хотите создать небольшой быстрый исполняемый файл или динамическую библиотеку, предназначенные для распространения среди покупателей.РешениеВ основном для получения окончательной сборки требуется:• включить