Maekawasův algoritmus - Maekawas algorithm - Wikipedia
Maekawův algoritmus je algoritmus pro vzájemné vyloučení na distribuovaný systém. Základem tohoto algoritmu je přístup podobný usnášeníschopnosti, kdy kterýkoli web potřebuje pouze získat oprávnění u podmnožiny jiných webů.
Algoritmus
Terminologie
- A stránky je jakékoli výpočetní zařízení, které spouští Maekawův algoritmus
- Pro každou žádost o vstup do kritické sekce:
- The požadující web je web, který požaduje vstup do kritické sekce.
- The přijímající stránky je každý další web, který přijímá požadavek z požadujícího webu.
- ts odkazuje na místní časovou značku systému podle jeho logické hodiny.
Algoritmus
Žádající stránky:
- Žádající web pošle zprávu na všechny weby v jeho sadě kvora .
Přijímající web:
- Po přijetí a zprávu, přijímající web vůle:
- Pokud web nemá vynikající zpráva (tj zpráva, která nebyla vydána), pak web pošle a zpráva na web .
- Pokud web má vynikající zpráva s procesem s vyšší prioritou než požadavek, pak web pošle a zpráva na web a web zařadí požadavek do fronty z webu .
- Pokud web má vynikající zpráva s procesem s nižší prioritou než požadavek, pak web pošle zpráva procesu, kterému byl aktuálně udělen přístup do kritické sekce podle webu . (To znamená, že stránky s vynikající zpráva.)
- Po přijetí a zpráva, web vůle:
- Poslat zpráva na web jen a jen pokud web obdržel a zpráva z nějakého jiného webu nebo pokud poslal výnos na jiné stránky, ale neobdržel nový .
- Po přijetí a zpráva, web vůle:
- Poslat zprávu k požadavku v horní části vlastní fronty požadavků. Všimněte si, že požadavky nahoře mají nejvyšší prioritu.
- Místo do fronty požadavků.
- Po přijetí a zpráva, web vůle:
- Vymazat ze své fronty požadavků.
- Poslat zprávu k požadavku v horní části fronty požadavků.
Kritická část:
- Stránky vstupuje do kritické sekce po přijetí a zpráva ze všech webů v .
- Po opuštění kritické sekce pošle a zpráva všem webům v .
Sada kvora ():
Sada kvora musí dodržovat následující vlastnosti:
- Stránky je obsažen přesně sady požadavků
- Proto:
Výkon
- Počet síťových zpráv; na
- Zpoždění synchronizace: 2 zpoždění šíření zpráv
- Algoritmus může uváznout bez ochrany na místě.[1][2]
Viz také
- Lamportův pekárenský algoritmus
- Lamportův distribuovaný algoritmus vzájemného vyloučení
- Algoritmus Ricart – Agrawala
- Raymondův algoritmus
Reference
- M. Maekawa, „Algoritmus √N pro vzájemné vyloučení v decentralizovaných systémech“, ACM
Transaction in Computer Systems, sv. 3., č. 2., str. 145–159, 1985.
- Mamoru Maekawa, Arthur E. Oldehoeft, Rodney R. Oldehoeft (1987). Operační systémy: Pokročilý koncept. Benjamin / Cummings Publishing Company, Inc.
- B. Sanders (1987). Informační struktura distribuovaných algoritmů vzájemného vyloučení. ACM Transaction on Computer Systems, sv. 3, č. 2, s. 145–59.