2.5 KiB
aliases | |
---|---|
|
Problema per un sistema distribuito.
Definizione
Una entità vuole comunicare un'informazione a tutto il resto del sistema distribuito.
restrizioni al modello dei sistemi distribuiti
- restrizione di comunicazione
- restrizione di affidabilità
- restrizione di topologia
- restrizione di tempo
algoritmo
- Flooding
- flooding v1 (non algoritmo corretto...)
- flooding v2 (algoritmo corretto.)
- flooding v3 (ottimizzato!)
costo computazionale
comunicazione
In un grafo qualsiasi
Ogni entità deve ricevere per forza il messaggio, quindi sicuramente:
\Omega(Entities)
In più, non è possibile togliere nessun canale di comunicazione senza rischiare che un'entità non venga raggiunta, in quanto non si hanno informazioni sulla rete di comunicazione sottostante:
\Large 2 \cdot Channels - (Entities - 1)
restrizioni al modello dei sistemi distribuiti a un albero con leader alla radice di un albero
In un albero, è impossibile che due entità vicine vengano scoperte contemporaneamente, pertanto il notazione Ω-grande diminuisce a:
\Large Channels
restrizioni al modello dei sistemi distribuiti a un grafo completo
In un grafo completo il leader può inviare il messaggio direttamente ai suoi vicini:
\Large Nodes
9 - Algoritmi distribuiti/1 - Problemi algoritmici/tempo
In un grafo qualsiasi
Il grafo potrebbe essere un cammino di un grafo, che richiederebbe che ogni arco venisse attraversato, quindi sicuramente:
\Large Channels
restrizioni al modello dei sistemi distribuiti a un albero con leader alla radice di un albero
Anche un albero potrebbe essere un cammino di un grafo come un grafo qualsiasi:
\Large Channels
restrizioni al modello dei sistemi distribuiti a un grafo completo
In un grafo completo, tutte le entità sono vicine del leader, quindi ricevono tutte il messaggio contemporaneamente:
\Large 1