Huangsův algoritmus - Huangs algorithm - Wikipedia
![]() | tento článek ne uvést žádný Zdroje.Prosince 2009) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
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.