1294
правки
Irina (обсуждение | вклад) |
KVN (обсуждение | вклад) |
||
(не показаны 3 промежуточные версии 1 участника) | |||
Строка 3: | Строка 3: | ||
== Постановка задачи == | == Постановка задачи == | ||
Алгоритм является самостабилизирующимся, если в конечном итоге он демонстрирует | Алгоритм является самостабилизирующимся, если в конечном итоге он демонстрирует корректное поведение независимо от начального состояния. Общая цель заключается в разработке самостабилизирующихся решений для определенной задачи. В настоящее время известно, что свойство самостабилизации применимо для целого ряда задач в распределенных вычислениях. Самостабилизация важна для распределенных систем и сетевых протоколов, подверженных преходящим сбоям. Самостабилизирующиеся системы автоматически восстанавливаются после сбоев, которые повреждают их состояние. | ||
Строка 47: | Строка 47: | ||
Одним из открытий, сделанных в ходе исследования самостабилизирующихся графовых алгоритмов, является разница между алгоритмами, которые завершают работу, и теми, которые постоянно меняют состояние даже после | Одним из открытий, сделанных в ходе исследования самостабилизирующихся графовых алгоритмов, является разница между алгоритмами, которые завершают работу, и теми, которые постоянно меняют состояние даже после стабилизации выходных результатов. Рассмотрим задачу построения остовного дерева с корнем в процессе r. Некоторые алгоритмы самостабилизируются на свойстве, заключающемся в том, что для каждого <math>p \ne r</math> переменная <math>u_p</math> ссылается на родителя p в остовном дереве, и состояние остается неизменным. Другим примером алгоритмов являются самостабилизирующиеся протоколы для циркуляции маркеров с тем побочным эффектом, что маршрут циркуляции маркеров формирует остовное дерево. Первый тип алгоритмов требует <math>O(lg \; n)</math> памяти на процесс, тогда как второй – <math>O(lg \; \delta)</math>, где <math>\delta</math> – степень (число соседей) процесса. Это различие было формализовано в понятии ''молчаливых'' алгоритмов, которые со временем перестают изменять какое бы то ни было значение в процессе коммуникации; в [5] для модели регистра связей было показано, что молчаливые алгоритмы для многих графовых задач требуют <math>\Omega(lg \; n)</math> памяти. | ||
Строка 57: | Строка 57: | ||
'''Общие методы''' | '''Общие методы''' | ||
Общая проблема построения самостабилизирующегося алгоритма для входной нереактивной задачи может быть решена с помощью стандартных инструментов распределенных вычислений: моментальный снимок, трансляция, сброс состояния системы и синхронизация – эти задачи являются конструктивными блоками, позволяющими непрерывно | Общая проблема построения самостабилизирующегося алгоритма для входной нереактивной задачи может быть решена с помощью стандартных инструментов распределенных вычислений: моментальный снимок, трансляция, сброс состояния системы и синхронизация – эти задачи являются конструктивными блоками, позволяющими непрерывно отслеживать глобальное состояние (в некоторых удачных случаях <math>\mathcal{L}</math> можно локально проверить и исправить). Эти конструктивные блоки имеют самостабилизирующиеся решения, что позволяет использовать общий подход. | ||
Строка 90: | Строка 90: | ||
10. Varghese, G., Jayaram, M.: The Fault Span of Crash Failures. J. ACM 47(2), 244-293 (2000) | 10. Varghese, G., Jayaram, M.: The Fault Span of Crash Failures. J. ACM 47(2), 244-293 (2000) | ||
[[Категория: Совместное определение связанных терминов]] |