Jump to content

Алгоритм Чанга и Робертса

Алгоритм Чанга и Робертса [1] — это кольцевой алгоритм выбора координатора , используемый в распределенных вычислениях .

Алгоритм

[ редактировать ]

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

  1. Изначально каждый процесс в кольце помечен как неучаствующий .
  2. Процесс, который замечает отсутствие лидера, запускает выборы. Он создает сообщение о выборах, содержащее его UID. Затем он отправляет это сообщение своему соседу по часовой стрелке.
  3. Каждый раз, когда процесс отправляет или пересылает сообщение о выборе , он также помечает себя как участник.
  4. Когда процесс получает сообщение о выборах, он сравнивает UID в сообщении со своим собственным UID.
    1. Если UID в сообщении о выборах больше, процесс безоговорочно пересылает сообщение о выборах по часовой стрелке.
    2. Если UID в сообщении о выборах меньше и процесс еще не является участником, процесс заменяет UID в сообщении своим собственным UID и отправляет обновленное сообщение о выборах по часовой стрелке.
    3. Если UID в сообщении о выборах меньше и процесс уже является участником (т. е. процесс уже отправил сообщение о выборах с UID, по крайней мере, таким же большим, как его собственный UID), процесс отбрасывает сообщение о выборах.
    4. Если UID во входящем сообщении о выборах совпадает с UID процесса, этот процесс начинает действовать как лидер.

Когда процесс начинает выступать в роли лидера, он начинает второй этап алгоритма.

  1. Лидерный процесс помечает себя как неучаствующий и отправляет выбранное сообщение своему соседу, объявляя о своем избрании и UID.
  2. Когда процесс получает выбранное сообщение , он помечает себя как неучастник , записывает выбранный UID и пересылает выбранное сообщение без изменений.
  3. Когда избранное сообщение достигает вновь избранного лидера, лидер отбрасывает это сообщение, и выборы завершаются.

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

Характеристики

[ редактировать ]

Алгоритм уважает безопасность : процесс получит выбранное сообщение со своим собственным UID только в том случае, если его UID больше, чем у других, и только тогда, когда все процессы согласуют один и тот же UID. Алгоритм также учитывает живучесть . Состояния «Участник» и «Неучастник» используются для того, чтобы, когда несколько процессов начинают выборы примерно в одно и то же время, будет объявлен только один победитель.

Когда выборы начинает один процесс, алгоритму в худшем случае требуется 3N-1 последовательных сообщений. Худший случай - это когда процесс, начинающий выборы, является непосредственным следующим за процессом с наибольшим UID: требуется N-1 сообщений, чтобы сообщение о выборах достигло его, затем N сообщений, чтобы оно вернуло свой собственный UID, затем еще N сообщений. послать всем на ринге выбранное сообщение.

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

См. также

[ редактировать ]
  1. ^ Эрнест Чанг; Розмари Робертс (1979), «Улучшенный алгоритм децентрализованного поиска экстремумов в круговых конфигурациях процессов» , Communications of the ACM , 22 (5), ACM: 281–283, doi : 10.1145/359104.359108 {{citation}}: CS1 maint: несколько имен: список авторов ( ссылка )
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: cb9d913336c8d448e6d5b7dcf2a95b92__1674989820
URL1:https://arc.ask3.ru/arc/aa/cb/92/cb9d913336c8d448e6d5b7dcf2a95b92.html
Заголовок, (Title) документа по адресу, URL1:
Chang and Roberts algorithm - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)