Алгоритм Хуанга - Huangs algorithm - Wikipedia

Алгоритм Хуанга является алгоритм для обнаружения прекращение в распределенная система. Алгоритм был предложен Шинг-Цаан Хуанг в 1989 г. в Журнал компьютеров.

Обнаружение прекращения

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

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

Алгоритм

Алгоритм Хуанга можно описать следующим образом:

  • Изначально все процессы простаивают.
  • Распределенная задача запускается процессом, отправляющим вычислительное сообщение другому процессу. Первоначальный процесс отправки сообщения - это «контролирующий агент».
    • Начальный вес контролирующего агента равен (обычно 1).
  • При вычислении применяются следующие правила:
    • Процесс, отправляющий сообщение, делит свой текущий вес между собой и сообщением.
    • Процесс, получающий сообщение, добавляет себе вес сообщения.
    • После перехода в режим ожидания процесс отправляет сообщение, содержащее весь свой вес, обратно управляющему агенту, и он переходит в режим ожидания.
    • Прекращение действия происходит, когда контролирующий агент имеет вес и находится в нерабочем состоянии.

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

Смотрите также