Event dissemination over wide-area networks exploiting Network Coding and distributed gossip-based recovery: a mathematical model and some results Roberto Beraldi (Università «La Sapienza») Candidato: Silvio De Laurentiis DOTS-LCCI – Meeting – Napoli 13-14 ottobre 2011 di Laurea in Ingegneria Informatica, A.A. 2010/2011, «La Sapienza »
Introduzione Diffusione di eventi su larga scala. Bassa latenza, alta affidabilita’, efficienza Pubblicati 2 papers (RM-NA.F2) WS SRDS ICDCN’12,
Introduzione Overlay Network Struttura ad albero per diffusione iniziale rapida seguita da recupero stile p2p random + coding
Algoritmo Due fasi Push lungo l’albero Recovery distributio (gossip) Info + ridondanza Solo pacchetti UDP
Algoritmo
Contributo Un modello per le perfomance al fine di studiare Impatto della ridondanza su delay (#round), percentuale di decodifica, costo Scalabilita’ del protocollo Topologia migliore (fat vs deep) Estensione per: Gossip polarizzato Altre tecniche di recupero (random walk?)
Network Coding: Codifica EVENTO M = chunk X = combinazione lineare (c.l.) random su campo finito M1 M2 M3 M4 Ridondanza mediante ulteriori c.l. X = 𝑖=1 𝑛 𝑐 𝑖 𝑀 𝑖 X1 C1 X2 C2 X3 C3 X4 C4 A X5 C5 B X’ = 𝑖=1 𝑘 𝑐 𝑖 𝑋 𝑖 Possibile codifica su c.l.
Decodifica Progressiva (eliminazione di Gauss) bassa latenza Avviene quando il numero di c.l. indipendenti è pari numero di chunk in cui si è diviso l’evento matrice di decodifica a rango pieno, full rank
Parametri PARAMETRI DELL’ALGORITMO: PARAMETRI DEL CANALE: Dimensione evento (generation size) : n>=1 Livello (grado) di ridondanza: a>=0 PARAMETRI DEL CANALE: Gilbert-Elliot ABL ( Average Burst Length ) = [2 ; 5] PLR ( Packet Loss Rate ) = [0.02 ; 0.2] PARAMETRI TOPOLOGICI: Albero Regolare di grado D e livello L
Il Modello: ipotesi Ipotesi 1 (IP1): Rank [k c.l.] = k Per GF > 8 è molto ragionevole Ipotesi 2 (IP2): Rank [k1 + k2] = n (se k1+k2>=n), k1+k2 otherwise Molto ragionevole se i gruppi k1 e k2 sono random Gossip verso un ramo dell’albero diverso e non verso nodi che stanno ‘sotto’ (almeno all’inizio del recovery) Ipotesi 3 (IP3): Canali indipendenti. Inizio tx in un momento casuale
Il Modello Osservo il rango della matrice di decodifica di un nodo generico alla fine del round di recovery k Il rango è un numero intero i, compreso fra 0 ed n Studio come varia i nel tempo
Fase di push 𝜋 ℎ 0 𝑖 = Prob {rango di un nodo livello h alla termine del push=i} 𝑃 𝑖𝑗 = Prob {un nodo riceve j pacchetti, dato che il mittente ne ha spediti i} 𝑃 𝑖𝑗 =0 se j>i. Inoltre, P00=1 𝜋 0 0 𝑗 = 1, 𝑗=𝑛 0, 𝑎𝑙𝑡𝑟𝑖𝑚𝑒𝑛𝑡𝑖 𝜋 ℎ 0 𝑗 = 𝑃 𝑖𝑗 𝜋 ℎ−1 0 𝑖 , h=[1…L] 1 2 h
Fase di push 𝑃 𝐿 (𝑛,𝑑) = Prob. di perdere d pacchetti su n su un canale di Gilbert Elliot (IP 3) 𝑃 𝑛,𝑛−𝑥 = 𝑃 𝐿 𝑛+𝑎, 𝑎+𝑥 𝑃 𝑛−𝑥,𝑛−𝑥 = 𝑗=0 𝑎 𝑛−𝑥 𝑃 𝐿 𝑛−𝑥+ 𝑎 𝑛−𝑥 ,𝑗 𝑃 𝑛−𝑥,𝑛−𝑥′ = 𝑃 𝐿 𝑛−𝑥+ 𝑎 𝑛−𝑥 , 𝑎 𝑛−𝑥 + 𝑥 ′ −𝑥 𝑃 𝑛,𝑛 = 𝑗=0 𝑎 𝑃 𝐿 (𝑛+𝑎,𝑗) 1 x’ < x n n-x’ n-x
Fase di pull 𝜋 ℎ 𝑘 𝑖 = Prob {rango di un nodo livello h dopo il round k = i } 𝑃 𝐻 𝑘,𝑟 = Prob {rango nodo contattato durante round k = r } 𝑃 𝐼 (𝑗|𝑖,𝑟) = Prob {rango unione due matrici = j | rango matrici di partenza sono i ed r } 𝑃 𝑖𝑗 𝑘 = Prob { rango del nodo alla fine del round k passa i a j} Nota: 𝑃 𝑖𝑗 = 0, se j<i. Inoltre, Pnn=1
Fase di pull n n-x n-x’
Fase di pull 𝑃 𝐻 𝑘,𝑟 Nodi livello h (escludo il mio sotto albero) = 1 𝐷 𝐿 + ℎ=1 𝐿 𝜋 ℎ 𝑘−1 𝑟 𝐷 ℎ−1 𝐷 𝐿 𝑃 𝐻 𝑘,𝑟 Seleziono nodo livello h Prob contattare la radice Numero totale di nodi 𝐷 𝐿 p.e., D=2, L=3, 8 nodi
Fase di Pull 𝜋 ℎ 𝑘+1 𝑗 = 𝑖=0 𝑛 𝜋 ℎ 𝑘 𝑖 𝑃 𝑖𝑗 (𝑘) 𝑘=0… 𝜋 ℎ 𝑘+1 𝑗 = 𝑖=0 𝑛 𝜋 ℎ 𝑘 𝑖 𝑃 𝑖𝑗 (𝑘) 𝑘=0… 𝑃 𝑖𝑗 𝑘 = 𝑟=𝑗−𝑖 𝑛+𝑎 𝑑=0 𝑟 𝑃 𝐻 𝑘,𝑟 𝑃 𝐼 𝑗+𝑑 𝑖,𝑟 𝑃 𝐿 (𝑗+𝑑−𝑖,𝑑) Rango nodo contattato = r Il rango dell’unione è j+d. Transmetto j+d-i pkts, ne perdo d
Metriche di interesse SUCCESS RATE : DELAY : COSTO : Probabilità che tutti i nodi abbiano recuperato l’evento entro k round, 𝑃 𝑅 𝑘 DELAY : Numero minimo di round di Gossip necessari affinchè tutti abbiamo decodificato l’evento, 𝑁 𝑅 COSTO : Numero di pacchetti totali spediti nel sistema, C
Metriche Success Rate: Delay: Probabilità che ogni nodo dell’albero recuperi l’evento entro k round 𝑃 𝑅 𝑘 ≅ 1≤ℎ≤𝐿 𝐷 ℎ ∗ 𝜋 ℎ 𝑘 𝑛 Delay: Numero di round minimo tale che P R k = 1
Costi Costo = Diffusione + Gossip Facilemente integrabile nel modello Diffusione = aumenta con la ridondanza a Gossip = Dimunisce con a a ottimo in termini di costo
Validazione del modello
Impatto della ridondanza Come varia il Delay in funzione della ridondanza e del canale ( per diversi valori di PLR/ABL) ?
Scalabilità Come varia il Delay in funzione della profondità e del canale ( per diversi valori di PLR/ABL) ? Come cambia la velocità di recupero dei nodi a diversi livelli di profondità?
Costo
Altri aspetti interessanti Ridondanza deve aumentare se aumenta profondità L e ABL Esiste una topologia migliore (coppia L,D p.e., (2,6) vs (5,3)) ? GOSSIP Polarizzato ?
DOMANDE ?