Lamports distribuovaný algoritmus vzájemného vyloučení - Lamports distributed mutual exclusion algorithm - Wikipedia
Lamportův distribuovaný algoritmus vzájemného vyloučení je algoritmus založený na tvrzení pro vzájemné vyloučení na distribuovaný systém.
Algoritmus
Uzlové vlastnosti
- Každý proces udržuje frontu nevyřízených požadavků na zadání kritické sekce v pořadí. Fronty jsou seřazeny podle virtuálních časových razítek odvozených od Lamportova časová razítka.[1]
Algoritmus
Proces vyžádání
- Posunutí jeho požadavku do vlastní fronty (seřazené podle časových razítek)
- Odeslání požadavku do každého uzlu.
- Čekání na odpovědi ze všech ostatních uzlů.
- Pokud je vlastní požadavek v čele jeho fronty a byly přijaty všechny odpovědi, přejděte do kritické sekce.
- Po opuštění kritické sekce odeberte její požadavek z fronty a odešlete zprávu o vydání každému procesu.
Další procesy
- Po obdržení požadavku posuňte požadavek do vlastní fronty požadavků (seřazené podle časových razítek) a odpovězte časovým razítkem.
- Po přijetí zprávy o uvolnění odeberte odpovídající požadavek z vlastní fronty požadavků.
Složitost zprávy
Tento algoritmus vytváří 3 (N - 1) zprávy na žádost, nebo (N - 1) zprávy a 2 vysílání. 3 (N - 1) zprávy na žádost zahrnují:
- (N - 1) celkový počet žádostí
- (N - 1) celkový počet odpovědí
- (N - 1) celkový počet vydání
Nevýhody
Tento algoritmus má několik nevýhod. Oni jsou:
- Je to velmi nespolehlivé, protože selhání některého z procesů zastaví postup.
- Má vysokou složitost zpráv 3 (N - 1) zprávy na vstup / výstup do kritické sekce.
Viz také
- Algoritmus Ricart-Agrawala (vylepšení oproti Lamportovu algoritmu)
- Lamportův pekárenský algoritmus
- Raymondův algoritmus
- Maekawův algoritmus
- Algoritmus Suzuki-Kasami
- Algoritmus Naimi-Trehel
Reference
- ^ Kshemkalyani, A., & Singhal, M. Kapitola 9: Distribuované algoritmy vzájemného vyloučení. Distribuované výpočty: Principy, algoritmy a systémy (strana 10 z 93). Cambridge University Press.
![]() | Tento počítačová věda článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |