ScholarGate
Ассистент

Распределенное взаимное исключение и выбор лидера

Взаимное исключение и выбор лидера — это классические задачи координации: обеспечение того, чтобы не более одного процесса обращалось к критическому ресурсу, и выбор одного выделенного координатора среди равных.

Найти тему в PaperMindСкороFind papers & topics
Tools & resources
Скачать слайды
Learn & explore
ВидеоСкоро

Definition

Распределенное взаимное исключение гарантирует, что не более одного процесса одновременно владеет общим ресурсом, обеспечивая при этом в конечном итоге доступ для всех запрашивающих; выбор лидера детерминированно выбирает ровно один процесс в качестве координатора, при этом все процессы соглашаются с результатом.

Scope

Эта тема охватывает алгоритмы взаимного исключения, основанные на разрешениях (алгоритм временных меток Лэмпорта, Рикарта-Агравалы, кворумный подход Маэкавы) и алгоритмы, основанные на токенах, наряду с их сложностью по количеству сообщений и свойствами справедливости; а также алгоритмы выбора лидера для колец (Чанг-Робертс) и общих сетей (алгоритм «задиры»), включая их предположения об идентификаторах и синхронности. Эти примитивы постоянно используются в службах координации и реплицированных системах.

Core questions

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

Key theories

Взаимное исключение, основанное на разрешениях
Алгоритмы, такие как Рикарта-Агравалы, упорядочивают запросы по логическим временным меткам и предоставляют доступ после того, как запрашивающий получил разрешение от всех (или кворума) равных узлов, достигая справедливости с ограниченной стоимостью сообщений на вход в критическую секцию.
Взаимное исключение, основанное на токенах
Уникальный токен циркулирует или запрашивается по требованию, и только его держатель может войти в критическую секцию, что снижает трафик сообщений, но требует механизмов для восстановления потерянного токена после сбоев.
Выбор лидера
Алгоритмы выбора, такие как Чанг-Робертс для колец и алгоритм «задиры» для общих сетей, используют идентификаторы процессов для схождения к единому координатору с наивысшим приоритетом, который признают все корректные процессы.

Clinical relevance

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

History

В статье Лэмпорта 1978 года о логических часах был представлен алгоритм взаимного исключения, основанный на временных метках; Рикарт и Агравала оптимизировали его в 1981 году, Маэкава вскоре после этого ввел кворумы, а алгоритм «задиры» Гарсиа-Молины 1982 года формализовал выбор лидера, предоставив этой области канонические алгоритмы координации.

Key figures

  • Leslie Lamport
  • Glenn Ricart
  • Ashok Agrawala
  • Hector Garcia-Molina

Related topics

Seminal works

  • ricart1981
  • garcia-molina1982
  • lynch1996

Frequently asked questions

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

Methods for this concept

Related concepts