1
Fork 0
mirror of https://github.com/Steffo99/appunti-magistrali.git synced 2024-11-29 05:14:18 +00:00
appunti-steffo/9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Algoritmi affidabili/two-steps broadcast.md

1.4 KiB

algoritmo di broadcast affidabile su grafo completo.

restrizioni al modello dei sistemi distribuiti aggiuntive

comportamento

[!Summary] Il leader invia il messaggio ad un numero sufficiente di vicini di un'entità per garantire che arrivi ad almeno a uno, poi essi lo inoltrano a tutti i vicini.

algoritmo corretto

[!Success] Per la edge-broadcast-possibility, ci sono sempre canale di comunicazione sufficienti a consegnare il messaggio a tutte le entità.

costo computazionale distribuito

Costo notazione O-grande
comunicazione O(Entities \cdot Fallible)
9 - Algoritmi distribuiti/1 - Problemi algoritmici/tempo O(1)

comunicazione

Durante il primo step, vengono inviati dal leader: Fallible + 1

Durante il secondo step, vengono inviati da ogni entità ricevitrice a tutti gli altri che non sono lei stessa o il leader: \sum_{Entity}^{Fallible + 1} Entities - 2 Ovvero: (Fallible + 1) \cdot (Entities - 2)

In notazione asintotica: \Large O(Entities \cdot Fallible)

9 - Algoritmi distribuiti/1 - Problemi algoritmici/tempo

Vengono effettuati sempre 2 passi, che in notazione asintotica è: \Large O(1)