1
Fork 0
mirror of https://github.com/Steffo99/appunti-magistrali.git synced 2024-11-27 20:34:18 +00:00
appunti-steffo/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Algoritmi di leader election/leader election su anello waiting.md

1.8 KiB

algoritmo di fully synchronous leader election.

restrizioni al modello dei sistemi distribuiti aggiuntive

comportamento

[!Summary] Ogni entità aspetta un tempo proporzionale al valore del suo identificatore e al tempo necessario per un messaggio di attraversare tutto l'anello, inviando il suo identificatore alla successiva al termine dell'attesa.

Quando una entità in attesa riceve l'identificatore di un'altra, la accetta come leader e termina.

\Large \mathrm{sleep}(Entities \cdot Identifier)

algoritmo corretto

[!Success] Prima o poi, un'entità terminerà la sua attesa, e farà circolare il suo messaggio di terminazione da tutte le altre.

costo computazionale distribuito

Costo notazione O-grande
comunicazione O(Entities)
9 - Algoritmi distribuiti/1 - Problemi algoritmici/tempo Dipende.

comunicazione

Vengono inviati solamente: Entities

Quindi, il costo computazionale è di: \Large O(Entities)

9 - Algoritmi distribuiti/1 - Problemi algoritmici/tempo

L'identificatore minore deve terminare l'attesa per poter notificare della terminazione: \color{LightCoral} \mathrm{sleep}(\min (Identifier))

Poi, deve trascorrere sufficiente tempo per il broadcast problem di terminazione: \color{SkyBlue} Entities

Per un totale di: { \color{LightCoral} \mathrm{sleep}(\min (Identifier)) } + { \color{SkyBlue} Entities }

La notazione asintotica risultante dipende dalla scelta effetuata di \mathrm{delay}(Identifier).