ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
Numărul 150
Numărul 149 Numărul 148 Numărul 147 Numărul 146 Numărul 145 Numărul 144 Numărul 143 Numărul 142 Numărul 141 Numărul 140 Numărul 139 Numărul 138 Numărul 137 Numărul 136 Numărul 135 Numărul 134 Numărul 133 Numărul 132 Numărul 131 Numărul 130 Numărul 129 Numărul 128 Numărul 127 Numărul 126 Numărul 125 Numărul 124 Numărul 123 Numărul 122 Numărul 121 Numărul 120 Numărul 119 Numărul 118 Numărul 117 Numărul 116 Numărul 115 Numărul 114 Numărul 113 Numărul 112 Numărul 111 Numărul 110 Numărul 109 Numărul 108 Numărul 107 Numărul 106 Numărul 105 Numărul 104 Numărul 103 Numărul 102 Numărul 101 Numărul 100 Numărul 99 Numărul 98 Numărul 97 Numărul 96 Numărul 95 Numărul 94 Numărul 93 Numărul 92 Numărul 91 Numărul 90 Numărul 89 Numărul 88 Numărul 87 Numărul 86 Numărul 85 Numărul 84 Numărul 83 Numărul 82 Numărul 81 Numărul 80 Numărul 79 Numărul 78 Numărul 77 Numărul 76 Numărul 75 Numărul 74 Numărul 73 Numărul 72 Numărul 71 Numărul 70 Numărul 69 Numărul 68 Numărul 67 Numărul 66 Numărul 65 Numărul 64 Numărul 63 Numărul 62 Numărul 61 Numărul 60 Numărul 59 Numărul 58 Numărul 57 Numărul 56 Numărul 55 Numărul 54 Numărul 53 Numărul 52 Numărul 51 Numărul 50 Numărul 49 Numărul 48 Numărul 47 Numărul 46 Numărul 45 Numărul 44 Numărul 43 Numărul 42 Numărul 41 Numărul 40 Numărul 39 Numărul 38 Numărul 37 Numărul 36 Numărul 35 Numărul 34 Numărul 33 Numărul 32 Numărul 31 Numărul 30 Numărul 29 Numărul 28 Numărul 27 Numărul 26 Numărul 25 Numărul 24 Numărul 23 Numărul 22 Numărul 21 Numărul 20 Numărul 19 Numărul 18 Numărul 17 Numărul 16 Numărul 15 Numărul 14 Numărul 13 Numărul 12 Numărul 11 Numărul 10 Numărul 9 Numărul 8 Numărul 7 Numărul 6 Numărul 5 Numărul 4 Numărul 3 Numărul 2 Numărul 1
×
▼ LISTĂ EDIȚII ▼
Numărul 138
Abonament PDF

Clasificarea protocoalelor Gossip și Epidemic

Ajay Rathore
Java Software Engineer @ Accesa



PROGRAMARE


Protocolul Gossip sau Epidemic reprezintă o clasă de algoritmi, care facilitează comunicarea într-o rețea distribuită, având aplicații multiple - de la comunicarea în rețelele de registre distribuite și rețele IOT, la sincronizarea actualizărilor prin replicarea bazei de date și nu numai.

Articolul curent se concentrează pe clasificarea protocoalelor - pentru a înțelege aplicațiile acestora - și pe analiza avantajelor și dezavantajelor lor. Cu toate că există diverse lucrări care documentează metodele de implementare și criteriile de clasificare, pentru acest studiu, materialele au fost selectate numai dacă au prezentat date de performanță relevante pentru implementările discutate în cele ce urmează.

Cele două protocoale urmează o abordare similară cu cea a răspândirii epidemiilor în lumea reală sau a răspândirii zvonurilor. În implementările acestor algoritmi, accentul se pune, de obicei, pe comunicarea de date către noduri selectate aleatoriu, așteptarea fiind de a ajunge la toate nodurile din rețea.

Pentru a clasifica protocolul Gossip, primul lucru care trebuie analizat este originea acestui tip de protocol în lucrarea publicată de Alan Demers et al. [1], unde autorii abordează problema replicării actualizărilor bazei de date la mii de site-uri diferite. Provocarea a fost de a realiza acest lucru pe o rețea nu tocmai sigură și aflată într-o schimbare lentă, într-un mod eficient și scalabil.

Au fost analizate trei abordări:

  1. Direct mail. Intuitiv, poate fi înțeleasă ca trimiterea unei actualizări către toate nodurile. Iar fiecare nod din rețea trimite actualizarea lui către celelalte noduri. În acest fel, pentru n actualizări, vom genera m mesaje, unde m este numărul de noduri. Astfel, în orice moment este posibil să existe mn* mesaje în rețea. De asemenea, în cazul unei rețele instabile, acest lucru poate însemna că actualizările nu sunt trimise tuturor nodurilor.

  2. Anti-entropy. Se rezolvă diferențele de stare dintre diversele locații, selectându-se o pereche aleatorie și analizându-se întreaga bază de date. Deoarece analiza delta a întregii stări nu este promptă, această abordare este mult mai lentă decât prima. Cu toate acestea, este mult mai fiabilă. În cadrul acestei abordări, generăm un număr mic de mesaje, în timp ce două noduri fac schimb de stări care ar putea conține mai multe actualizări. Este posibil chiar să fi primit actualizări de la alte noduri și, într-un singur schimb, să transmită și aceste actualizări, existând un schimb de date al întregii baze de date.

  3. Rumor Mongering. Fiecare actualizare este tratată ca o informație crucială. Un nod care primește o informație selectează un alt nod și o împărtășește cu un nod aleatoriu. Același comportament continuă până când se atinge scopul de a comunica cu fiecare nod. Deoarece această metodă trimite numai actualizări noi, dimensiunea mesajelor este redusă, cu toate că există o probabilitate non-zero ca o informație ,,să moară" înainte de a ajunge la toate nodurile.

Anti-entropy și Rumor Mongering sunt variații ale protocoalelor epidemice, care definesc performanța acestor protocoale prin analiza a trei criterii [1]:

Clasificarea protocoalelor din clasa Epidemic

Diseminare și agregare

Încă de la punctul de origine al unui astfel de protocol, putem observa că s-a încercat răspândirea informațiilor (diseminare) și, în același timp, procesarea informațiilor pe măsură ce actualizările sunt agregate (agregare). Putem spune că primele două clasificări pot fi făcute pe baza acestor două sarcini. Vom împărți algoritmii în aceste două secțiuni cu intenția de a diferenția care implementări/strategii sunt bune pentru diseminare, respectiv, agregare.

Iată câteva implementări și categoriile în care se pot încadra:

Diseminare Agregare
Rumor Mongering [1] Anti-Entropy [1]
Median-Counter Algorithms [6] P-Q epidemic [3]
Multi-factor weighting function (MFWF) Epidemic with immunity [4]
[7]
Epidemic with TTL [5]

Tabelul 1. Clasificarea algoritmilor pe baza accentului pe care îl pun pe procesarea datelor față de răspândirea mai rapidă/cu costuri reduse a informațiilor

Algoritmii P-Q epidemic, epidemic with immunity and epidemic with TTL au fost studiați printr-un studiu unificat care a adus îmbunătățiri ale acestora [2].

Această clasificare subliniază accentul pus de protocol în furnizarea de agregări informaționale bune în rețea vs. concentrarea pe transferul rapid de informații. Se poate observa un compromis oblic între acestea pe baza informațiilor privind întârzierea [1].

Tlast Tave Cost
Anti-entropy 7.8 5.3s Mărimea bazei de date
Rumor Mongering Asemănător cu rezultatul de mai sus Asemănător cu rezultatul de mai sus Mărimea listei de zvonuri (mult mai mică
decât mărimea bazei de date)
Epidemic with TTL N/A De ordinul 104
P-Q Epidemic N/A De ordinul 104
Epidemic with immunity N/A De ordinul 104
MFWF N/A 5s

Tabelul 2. Compararea performanțelor pentru diferiți algoritmi

Se poate observa că algoritmii axați pe diseminare lucrează la reducerea timpului de întârziere. Prin urmare, putem rezuma avantajele și dezavantajele acestei clasificări după cum urmează:

Pro Contra
Diseminare Asigurarea unei difuzări informaționale Poate avea o probabilitate diferită de
rapide. zero de a omite noduri.
Agregare Oferă o modalitate sigură de procesare a Costisitoare și, prin urmare, procesul
datelor la noduri. Oferă garanții de executare este lent.
privind operațiunile efectuate la
fiecare nod.

Tabelul 3. Pro și contra diseminării și agregării

Comunicare sincronă și asincronă

Următorul criteriu de clasificare poate fi văzut ca fiind tipul de comunicare utilizat între noduri. Aceeași clasificare este utilizată de Bunsel, Yann & Bertier [8], care definesc comunicarea sincronă astfel: "o comunicare sincronă este modelată printr-o întârziere de transmisie limitată"[8], iar pe cea asincronă: "o comunicare asincronă nu impune o limită asupra întârzierii de transmisie a unui mesaj". [8]

Iată câteva implementări care se pot încadra în această clasificare:

Sincronă Asincronă
MFWF asynchronous sum-weight gossip protocols [9]
Synchronous Consensus During Incomplete Synchrony Epidemic Asynchronous Rumor Spreading [10]

Tabelul 4. Clasificarea algoritmilor în funcție de modelul lor de comunicare

Dintre cei patru algoritmi specifici prezenți în tabelul de mai sus, orice implementare de algoritm care se finalizează într-un timp delimitat va fi considerată sincronă, iar opusul, asincronă. Un exemplu este MFWF, care a fost considerat sincron pentru acest studiu, deoarece în algoritmii prezentați nu există dovezi legat de existența vreunui mecanism care să asigure o procesare asincronă.

Algoritm Unitate Valoare Note
MFWF Procentul de retransmisii economisite Până la 84% Indică cât de puține noduri trebuie să
retransmită mesajul.
Synchronous Consensus During Incomplete N/A N/A Se concentrează asupra performanței prin
Synchrony a oferi dovezi de toleranță ridicată ale
implementării sincrone.
asynchronous sum-weight gossip protocols Numărul de mesaje/nod Până la 17 Diferențiază cazurile de deviație
standard de valorile empirice.
Epidemic Asynchronous Ru- mor Spreading N/A N/A Concentrat pe ilustrarea faptului că
f\
prezentând complexitatea temporală și
complexitatea mesajelor algoritmului.

Tabelul 5. Descrierea performanțelor algoritmilor

Performanțele algoritmilor selectați nu sunt exprimate în aceleași unități, mai jos fiind prezentat tabelul cu unitățile propuse în implementări și valorile acestora.

Unul dintre avantajele majore pentru comunicarea asincronă care poate fi observat în aceste implementări este posibilitatea implementării consensului fără selectarea liderului.

În Tabelul 6 sunt prezentate avantajele și dezavantajele pentru fiecare categorie.

Categorie Pro Contra
Asincronă Poate fi utilizat pentru rețelele cu Necesită mecanisme pentru a defini
entropie mare, unde respectarea livrării comportamentul nodurilor care procesează
stabilite ar putea fi dificilă. și primesc un zvon în același timp.
Sincronă Atomicitatea pentru înaintarea și
procesarea zvonurilor. Există o limită
de timp definită finalizarea
operațiunilor. Implementarea
algoritmului de consens fără selectarea
liderului.

Tabelul 6

Comunicarea anonimă și non-anonimă

Definiția acestor categorii este, de asemenea, studiată inspirându-ne din Busnel, Yann et al. [8], unde autorii definesc protocoalele de zvonuri anonime (AGP) ca fiind "protocoale care nu necesită cunoașterea identității niciunui element pentru niciuna dintre cele trei funcții ale protocolului generic". [8] și protocolul de zvon non-anonim (NGP) ca fiind "inconștient de identitățile elementelor cu care comunică sau ale oricărui alt element"[8].

Având în vedere aceste definiții, putem găsi următoarele implementări de protocoale în fiecare categorie:

Anonim Non-anonim
Rumor Mongering Gossip-based Peer Sampling [11]
Anti-Entropy T-Man [12]
Gossip Based Aggregation [13]

Utilizarea generală a AGP pare aplicabilă cazurilor în care protocolul de gossip este utilizat atât pentru diseminare, cât și pentru agregare, iar NGP este utilizat în scopul construirii de topologii.

Performanțele Rumor Mongering și Anti-Entropy au fost discutate mai sus. Performanța celor trei algoritmi rămași poate fi observată folosind viteza de convergență. Chiar dacă convergența poate avea semnificații diferite, în acest caz, ne vom referi la convergența spre obiectivul algoritmului.

Algoritm Factor de convergență Note
Gossip Based Aggregation 0.3 -0.8 Intervalul variază în funcție de
topologia rețelei.
T-Man 1 - 2 Cu presupunerea că nu a fost efectuat
niciun ciclu.
Gossip-based peer sampling Valorile converg rapid și, în general,
se obține o performanță bună.

Este de remarcat faptul că conștientizarea topologică necesită mecanisme speciale pentru a partaja omologii cunoscuți în NGP. Nu există argumente clare pro și contra în acest caz, deoarece această clasă de algoritmi este implementată în scopuri foarte diferite.

Corecția erorilor vs. corecția fără erori

Aceasta este o categorie inspirată de faptul că algoritmi precum Rumor Mongering au o probabilitate diferită de zero de a nu răspândi toate actualizările [14] [1], implicând faptul că pot exista noduri în sistem care nu au primit actualizări. În schimb, Anti-Entropy este un algoritm fiabil, care asigură că toate actualizările ajung în tot sistemul.

Avantajul algoritmului de corecție fără erori, cum ar fi Rumor Mongering, este rapiditatea. Același lucru lipsește în cazul algoritmilor de corecție ale erorilor, cum ar fi Anti-Entropy.

Alte considerații

Multe alte clasificări pot fi construite prin luarea în considerare a combinațiilor dintre aceste clase diferite, spre exemplu Anonymous Synchronized Gossip Protocol [8].

Alte clase de protocoale de gossip se bazează pe criterii de localizare și alte criterii [7] precum:

Mențiuni

Acest raport a fost elaborat sub îndrumarea doamnei dr. conf. Elena Simona Apostol, din cadrul Universității Politehnice din București, ca parte a cursului Distributed Algorithms.

Bibliografie

[1] Alan Demers, Mark Gealy, Dan Greene et al, Epidemic Algorithms for Replicated Database Maintenance, Palo Alto Research Center 1989

[2] Feng, Zuyong și Chin, Kwan-Wu: A unified study of epidemic routing protocols and their enhancements 2012, 1484-1493

[3] T. Matsuda și T. Takine, "(p,q)-epidemic routing for sparsely populated mobile ad hoc networks," IEEE JSAC, vol. 26, nr. 5, pp. 783-793, iunie 2008

[4] P. Mundur, M. Seligman și J. N. Lee, "Immunity-based epidemic routing in intermittent networks", în IEEE SECON, California, SUA, 16-20 iunie 2008, pp. 609-611

[5] J. Davis, A. Fagg și B. Levine, "Wearable computers as packet transport mechanisms in highly partitioned ad-hoc networks", în Proceedings of Fifth International Symposium on Wearable Computers (ISWC), Zurich, Elveția, 18-21 octombrie 2001, pp. 141-148

[6] R. Karp, C. Schindelhauer, S. Shenker și B. Vocking: Randomized Rumor Spreading

[7] Altoaimy L, Alromih A, Al-Megren S, Al-Hudhud G, Kurdi H, Youcef-Toumi K. Context-Aware Gossip-Based Protocol for Internet of Things Applications. Sensors (Basel). 2018 iul. 11; 18(7):2233. doi: 10.3390/s18072233. PMID: 29997354; PMCID: PMC6068978

[8] Busnel, Yann & Bertier, Marin & Kermarrec, Anne-Marie. (2008). Bridging the Gap between Population and Gossip-based Protocols

[9] David Picard, Jerome Fellus, Stephane Garnier 2021. Non asymptotic bounds in asynchronous sum-weight gossip protocols

[10] Georgiou, Chryssis & Gilbert, Seth & Guerraoui, Rachid & Kowalski, Dariusz. (2008). On the Complexity of Asynchronous Gossip. Proceedings of the Annual ACM Symposium on Principles of Distributed Computing. 10.1145/1400751.1400771

[11] M. Jelasity, A. Montresor și O. Babaoglu. Gossip-based aggregation in large dynamic networks. ACM Transactions on Computer Systems, 23(3):219-252, 2005

[12] M. Jelasity și O. Babaoglu. T-Man: Fast gossip-based construction of largescale overlay topologies. Raport tehnic UBLCS-2004-7, Universitatea din Bologna, Departamentul de Informatică, Bologna, Italia, mai 2004

[13] M. Jelasity, A. Montresor și O. Babaoglu. Gossip-based aggregation in large dynamic networks. ACM Transactions on Computer Systems, 23(3):219-252, 2005

[14] Márk Jelasity Universitatea din Szeged și Academia Maghiară de Științe, Gossip 2011

NUMĂRUL 149 - Development with AI

Sponsori

  • Accenture
  • BT Code Crafters
  • Accesa
  • Bosch
  • Betfair
  • MHP
  • BoatyardX
  • .msg systems
  • P3 group
  • Ing Hubs
  • Cognizant Softvision
  • Colors in projects