1
Fork 0
mirror of https://github.com/Steffo99/appunti-magistrali.git synced 2024-11-22 18:44:17 +00:00
appunti-steffo/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Algoritmi di leader election/leader election su anello waiting con inizio non contemporaneo.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 , 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.

==Cambia come scegliere il tempo!== 2 \cdot 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).