1.8 KiB
algoritmo di fully synchronous leader election.
restrizioni al modello dei sistemi distribuiti aggiuntive
- restrizione di topologia
- anello di dimensione nota
- 9 - Algoritmi distribuiti/1 - Problemi algoritmici/tempo
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)
.