Huangsův algoritmus - Huangs algorithm - Wikipedia

Huangův algoritmus je algoritmus pro detekci ukončení v distribuovaný systém. Algoritmus navrhl Shing-Tsaan Huang v roce 1989 v Journal of Computers.

Detekce ukončení

Základ detekce ukončení je v konceptu stavu procesu distribuovaného systému. Proces v distribuovaném systému je kdykoli buď v aktivním stavu, nebo v nečinném stavu. Aktivní proces se může kdykoli stát nečinným, ale nečinný proces se může znovu aktivovat až po obdržení výpočetní zprávy.

K ukončení dochází, když se všechny procesy v distribuovaném systému stanou nečinnými a při přenosu nejsou žádné výpočetní zprávy.

Algoritmus

Huangův algoritmus lze popsat takto:

  • Zpočátku jsou všechny procesy nečinné.
  • Distribuovaná úloha se spouští procesem, který odesílá výpočetní zprávu jinému procesu. Tento počáteční proces odeslání zprávy je „řídící agent“.
    • Počáteční hmotnost kontrolního činidla je (obvykle 1).
  • Během výpočtu se používají následující pravidla:
    • Proces odesílání zprávy rozdělí svou aktuální váhu mezi sebe a zprávu.
    • Proces přijímání zprávy přidává váhu zprávy sám sobě.
    • Po nečinnosti proces odešle zprávu obsahující celou svou váhu zpět řídícímu agentovi a přejde do nečinnosti.
    • K ukončení dochází, když má kontrolní agent váhu a je v klidovém stavu.

Některé slabiny Huangova algoritmu spočívají v tom, že nedokáže detekovat ukončení, pokud dojde ke ztrátě zprávy při přenosu nebo pokud proces selže, když je v aktivním stavu.

Viz také