La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Outline Database P2P e stato dellarte delle strutture di indice Obiettivi dellarchitettura P-Ring Soluzioni di P-Ring Verifiche sperimentali dei risultati.

Presentazioni simili


Presentazione sul tema: "Outline Database P2P e stato dellarte delle strutture di indice Obiettivi dellarchitettura P-Ring Soluzioni di P-Ring Verifiche sperimentali dei risultati."— Transcript della presentazione:

1

2 Outline Database P2P e stato dellarte delle strutture di indice Obiettivi dellarchitettura P-Ring Soluzioni di P-Ring Verifiche sperimentali dei risultati P-Ring Gruppo 20 – Altini Bonetti Cardone

3 Database peer - to - peer Perchè si usano? –Fault tolerance –Robustezza –Scalabilità Requisiti –Query di uguaglianza –Query di range P-Ring Stato dellarte Obiettivi Soluzioni Verifiche Gruppo 20 – Altini Bonetti Cardone (q,r)

4 Parametri di performance 1. Load Balancing –Load imbalance 2. Performance di query Gruppo 20 – Altini Bonetti Cardone P-Ring Stato dellarte Obiettivi Soluzioni Verifiche (q,r) |nodoPiuCarico| |nodoMenoCarico|

5 Stato dellarte Chord –Basato su hashing load balanced –Dati non ordinati query di range non supportate BATON* –Performance di query proporzionali a log d P –Nessuna garanzia di load balancing Gruppo 20 – Altini Bonetti Cardone P-Ring Stato dellarte Obiettivi Soluzioni Verifiche

6 Hashing di Chord Massive Attack [0,8) [32,40) [26,32) [15,26) [8,15) Load balancing Performance di query Mogwai Mono Munari Mùm Gruppo 20 – Altini Bonetti Cardone P-Ring Stato dellarte Obiettivi Soluzioni Verifiche

7 Mantenendo lordine? Massive Attack AB.. OA.. MA.. GA.. DA.. Mogwai Mono Munari Mùm Gruppo 20 – Altini Bonetti Cardone P-Ring Stato dellarte Obiettivi Soluzioni Verifiche Load balancing Performance di query

8 Obiettivi di P-Ring Supportare query di uguaglianza e di range Distribuire uniformemente i dati tra i peer Garantire routing efficiente dei messaggi sullanello Gruppo 20 – Altini Bonetti Cardone P-Ring Stato dellarte Obiettivi Soluzioni Verifiche Load balancing Performance di query

9 Data Store Peer divisi in due gruppi: –Owner peers ( sf ÷ 2sf ) –Helper peers ( scarichi ) Se viene inserito un elemento in un peer che ha già 2sf elementi Se viene cancellato un elemento in un peer che ha sf elementi Gruppo 20 – Altini Bonetti Cardone P-Ring Stato dellarte Obiettivi Soluzioni Verifiche overflow underflo w sf = N/P

10 Data Store - Overflow 1: p0 = getHelperPeer(); 2: if p0 == null then 3: return; 4: end if 5: //execute the split 6: splitItems = p:own.splitSecondHalf(); 7: splitV alue = p:own.lastValue(); 8: splitRange = p:range.splitLast(splitV alue); 9: p0::joinRingMsgHandler(p,splitItems,sp litRange); P1 [0,8) P5 [32,40) P4 [26,32) P3 [15,26) P2 [8,15) Algorithm 1 : p.split() Helper peers [15,20)P [20,26) Gruppo 20 – Altini Bonetti Cardone P-Ring Stato dellarte Obiettivi Soluzioni Verifiche

11 Data Store - Underflow Algorithm 3 : p.merge() 1: //send message to successor and wait for result 2: (action; newRange; newItemsList) = p:ringNode:getSuccessor():: initiateMergeMsgHandler(p, jp:ownj); 3: p:own.add(newItemsList); 4: p:range.add(newRange); Algorithm 4 : (action; newRange; newItemsList) p0.initiateMergeMsgHandler(p,numItems) 1: if numItems + jp0:ownj > 2 ¢ sf then 2: //redistribute 3: compute nbItemsT oGive; 4: splitItems = p0:own.splitFirst(nbItemsT oGive); 5: splitV alue = splitItems:lastValue(); 6: splitRange = p0:range.splitFirst(splitV alue); 7: return (redistribute,splitRange,splitItems); 8: else 9: //merge and leave the ring 10: splitItems = p0:own; 11: splitRange = p0:range; 12: p0:ringNode:leaveRing(); 13: return (merge, splitRange, splitItems); 14: end if P1 [0,8) P5 [32,40) P4 [26,32) P3 [15,26) P2 [8,15) [30,32) [15,30) Gruppo 20 – Altini Bonetti Cardone P-Ring Stato dellarte Obiettivi Soluzioni Verifiche

12 Risultati Load imbalance 2...siamo proprio sicuri? Usare gli helper peer per bilanciare davvero il carico Ogni owner è responsabile del suo range...ma gli elementi sono distribuiti anche tra gli helper peer Gruppo 20 – Altini Bonetti Cardone P-Ring Stato dellarte Obiettivi Soluzioni Verifiche

13 Overflow P1 [0,8) q2 [28,30) P4 [32,34) P2 [8,15) P3 [15,24) q3 [26,28) P5 [34,42) q4 [24,26) q1 [30,32) Inserimento su P4 P [32,34) q1 [30,32) q2 [28,30) P4 [26,28) Gruppo 20 – Altini Bonetti Cardone P-Ring Stato dellarte Obiettivi Soluzioni Verifiche

14 Usurp Gruppo 20 – Altini Bonetti Cardone P-Ring Stato dellarte Obiettivi Soluzioni Verifiche sf Load balancing ancora non garantito Esempio: Serve unulteriore operazione < sf !!

15 Usurp Algorithm 5 : p.usurp() 1: //find least loaded helper peer and its master 2: (q,p0) = getLeastLoadedHelperPeer(); 3: if jp.respj ¸ 2p1 + ±jq.respj then 4: p:setHelperPeer(q); 5: redistribute p:own among new set of helpers; 6: redistribute p0:own among new set of helpers; 7: end if P1 P2 Gruppo 20 – Altini Bonetti Cardone P-Ring Stato dellarte Obiettivi Soluzioni Verifiche Load imbalance 2+ε

16 Content Router Obiettivo: inoltrare efficientemente i messaggi Problema : dati non uniformi Gruppo 20 – Altini Bonetti Cardone P-Ring Stato dellarte Obiettivi Soluzioni Verifiche (q,r)

17 Problemi di indicizzazione Utilizzare tabelle o B+tree? –Problema di consistenza Indicizzare per valore di chiave? –Load balancing esplicito non lo consente (distribuzione non uniforme dei dati) Indicizzare per posizione! Gruppo 20 – Altini Bonetti Cardone P-Ring Stato dellarte Obiettivi Soluzioni Verifiche No HR

18 Hierarchical Ring P1 P5 P4 P3 P2 10,P 2 15,P ,P ,P 3 20,P Gruppo 20 – Altini Bonetti Cardone P-Ring Stato dellarte Obiettivi Soluzioni Verifiche d: ordine dellanello, intero positivo > 1 Livello 1: primi d successori del peer Livello 2: peer ogni d hop Livello 3: peer ogni d 2 hop Livello i : peer ogni d (i-1) hop

19 Content Routing - Esempio Gruppo 20 – Altini Bonetti Cardone P-Ring Stato dellarte Obiettivi Soluzioni Verifiche Query di uguaglianza Valore richiesto 18 Algorithm : p.routeHandler(lb, up, msg, originator) find the maximum level l s.t. j > 0 p.node[l][j].iValue Є (rangeMin(p), lb]. if no such level exists then send(p.handleMessage(msg),originator); if rangeMin(succ(p)) Є (rangeMin(p); ub] then send(Route(lb,ub,msg,originator,requestT ype),succ(p)); else send(RoutingDoneMessage,originator); end if else find maximum k such that p.node[l][k].iValue Є (rangeMin(p); lb]; send(Route((lb,ub,msg,originator), p.node[l][k].peer)); end if Performance: log d P + m

20 Stabilizzazione dellindice...e durante inserimenti di peers? Se lHR non è consistente: caso peggiore scan sequenziale algoritmo di stabilizzazione Lalgoritmo gira indipendendemente su ogni peer È dimostrato che converge Performance: log d P + m + 2r(d-1) log d P 20,p5 15,p320,p5 10,p215,p3 p1 5,p1 18,p45,p1 15,p318,p4 p2 Gruppo 20 – Altini Bonetti Cardone succ() P-Ring Stato dellarte Obiettivi Soluzioni Verifiche

21 Performance Grafici (primo, terzo, 4-5-6, un paio degli ultimi) Gruppo 20 – Altini Bonetti Cardone P-Ring Stato dellarte Obiettivi Soluzioni Verifiche Overhead di traffico rispetto alla velocità di inserimento degli elementi Primo obiettivo raggiunto Supporto alle query di range

22 Performance Grafici (primo, terzo, 4-5-6, un paio degli ultimi) Gruppo 20 – Altini Bonetti Cardone P-Ring Stato dellarte Obiettivi Soluzioni Verifiche Load imbalance medio con diverse distribuzioni di dati Secondo obiettivo raggiunto Load balancing

23 Performance Grafici (primo, terzo, 4-5-6, un paio degli ultimi) Gruppo 20 – Altini Bonetti Cardone P-Ring Stato dellarte Obiettivi Soluzioni Verifiche Costo di ricerca di un peer al variare del numero dei peer Terzo obiettivo raggiunto Buone performance di query

24


Scaricare ppt "Outline Database P2P e stato dellarte delle strutture di indice Obiettivi dellarchitettura P-Ring Soluzioni di P-Ring Verifiche sperimentali dei risultati."

Presentazioni simili


Annunci Google