4551
правка
Irina (обсуждение | вклад) (Новая страница: «== Ключевые слова и синонимы == Атомарное сканирование == Постановка задачи == Реализация объекта «моментальный снимок» – это абстракция задачи получения согласованного представления нескольких общих переменных, в то время как другие процессы паралле...») |
Irina (обсуждение | вклад) |
||
Строка 72: | Строка 72: | ||
Сферы применения моментальных снимков включают распределенные базы данных, хранение контрольных точек или резервных копий для восстановления после ошибок, сборку мусора, обнаружение взаимоблокировок, отладку распределенных программ и получение согласованного представления значений, сообщаемых несколькими датчиками. Моментальные снимки применялись в качестве структурных элементов распределенных решений для задач поиска рандомизированного консенсуса и приближенного соответствия. Они также полезны в качестве примитива для построения других структур данных. Например, рассмотрим реализацию счетчика, который хранит целое число и поддерживает операции инкремента, декремента и чтения. Каждый процесс может хранить количество выполненных им инкрементов за вычетом количества декрементов в своем компоненте однорайтерного объекта типа «моментальный снимок», а счетчик может быть прочитан путем суммирования значений, полученных при сканировании. Ссылки на многие из упомянутых здесь областей применения можно найти в работе [ ]. | Сферы применения моментальных снимков включают распределенные базы данных, хранение контрольных точек или резервных копий для восстановления после ошибок, сборку мусора, обнаружение взаимоблокировок, отладку распределенных программ и получение согласованного представления значений, сообщаемых несколькими датчиками. Моментальные снимки применялись в качестве структурных элементов распределенных решений для задач поиска рандомизированного консенсуса и приближенного соответствия. Они также полезны в качестве примитива для построения других структур данных. Например, рассмотрим реализацию счетчика, который хранит целое число и поддерживает операции инкремента, декремента и чтения. Каждый процесс может хранить количество выполненных им инкрементов за вычетом количества декрементов в своем компоненте однорайтерного объекта типа «моментальный снимок», а счетчик может быть прочитан путем суммирования значений, полученных при сканировании. Ссылки на многие из упомянутых здесь областей применения можно найти в работе [ ]. | ||
== Открытые вопросы == | |||
Некоторые нижние границы сложности для реализаций из регистров известны [ ], но остаются пробелы между лучшими известными алгоритмами и лучшими нижними границами. В частности, неизвестно, существует ли эффективная реализация моментальных снимков из небольших регистров без ожидания. | Некоторые нижние границы сложности для реализаций из регистров известны [ ], но остаются пробелы между лучшими известными алгоритмами и лучшими нижними границами. В частности, неизвестно, существует ли эффективная реализация моментальных снимков из небольших регистров без ожидания. | ||
== Экспериментальные результаты == | |||
Риани, Шавит и Туиту привели результаты оценки производительности для нескольких реализаций [16]. | Риани, Шавит и Туиту привели результаты оценки производительности для нескольких реализаций [16]. | ||
== См. также == | |||
* [[Реализация общих регистров в асинхронных системах передачи сообщений]] | * [[Реализация общих регистров в асинхронных системах передачи сообщений]] | ||
* [[Линеаризуемость]] | * [[Линеаризуемость]] |
правка