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

Slides:



Advertisements
Presentazioni simili
Strutture dati per insiemi disgiunti
Advertisements

Algoritmi e Strutture Dati
Master Bioinformatica 2002: Grafi Problema: cammini minimi da tutti i vertici a tutti i vertici Dato un grafo pesato G =(V,E,w), trovare un cammino minimo.
Programmazione dinamica: problema della sottosequenza più lunga
                      Insertion-Sort
di Architetture Peer to Peer per la Gestione di Database Distribuiti
Lez. 91 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Alberi di ricerca.
Routing Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights Reserved)
Alberi binari di ricerca
Heap binomiali.
Insiemi disgiunti.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Ordinamenti lineari.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Usa la tecnica del.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Stesso approccio.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Ordinamenti ottimi.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Ordinamenti lineari.
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Stesso approccio.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Ordinamenti lineari.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Usa la tecnica del.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Stesso approccio.
Algoritmi Paralleli e Distribuiti a.a. 2008/09
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 20/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 10/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
1 Esempi di consistenza sui limiti Non consistente sui limiti, considera Z=2, poi X-3Y=10 Ma il dominio qui sotto e consistente sui limiti: Confrontare.
Offerta e Domanda di mercato
A.S.E.13.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 13 Alcune definizioniAlcune definizioni Algoritmo di sintesi ottima di Quine-McCluskeyAlgoritmo.
Algoritmi e Strutture Dati Alberi Binari di Ricerca.
Algoritmi e Strutture Dati Valutazione del tempo di esecuzione degli algoritmi.
1 2. Analisi degli Algoritmi. 2 Algoritmi e strutture dati - Definizioni Struttura dati: organizzazione sistematica dei dati e del loro accesso Algoritmo:
Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco
Algoritmi e Strutture Dati 20 aprile 2001
Algoritmi e Strutture Dati
Lezione 5. Ricapitolando…. Sistemi P2P puri Sistemi UniformiSistemi Non uniformi Abbiamo detto abbastanza KoordeNeighbor of Neighbor routing (NON)
Ancora esercizi!!! Chernoff Bound allora
Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – –
Ricapitolando…. Sistemi P2P puri Sistemi UniformiSistemi Non uniformi Abbiamo detto abbastanza KoordeNeighbor of Neighbor routing (NON)
Autori: I. Stoica, R. Morris, D. Liben-Nowell, D. R. Karger, M. F
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley Chord: A Scalable Peer-to-peer Lookup Service for Internet.
Ricapitolando…. Sistemi P2P puri Sistemi UniformiSistemi Non uniformi KoordeNeighbor of Neighbor routing (NON)
Lezione 5 Domande: Laverage path length di Chord con 2^b identificatori e N=2^b nodi è (giustificare la risposta) Laverage path length di Chord con 2^b.
Errata Corrige. DHT Routing (Tapestry) Tabella di routing (base k=4, digit d=4) Consideriamo il nodo x con id (x 1, x 2, x 3, x 4 ): (1+x 1, *, *, *)
Domande Consideriamo un grafo di de bruijn con base k, ed N = k^b nodi, quale delle seguenti affermazioni è vera (giustificare la risposta) Il grado di.
Introduzione ai Sistemi Operativi
Strutture di controllo in C -- Flow Chart --
Intelligenza Artificiale
Sistemi P2P avanzati Lezione 3 Chord seconda parte.
Sistemi P2P avanzati Lezione 4 Consisten Hashing Altri sistemi P2P uniformi F-Chord :-)
Sistemi P2P Facciamo un piccolo test Quanti successori ha un nodo nel protocollo Chord? (m) (1) (log N) (nessun prec.) Aumentando il numero di identificatori.
1 Y Modello di regressione semplice Supponiamo che una variabile Y sia funzione lineare di unaltra variabile X, con parametri incogniti 1 e 2 che vogliamo.
Reti L-S 2005 Servizio per la ricerca distribuita basato sul protocollo Rossi Daniele
Reti di Telecomunicazione Lezione 16 Corso di reti per le telecomunicazioni.
Algoritmi e Strutture Dati
Calcolo Parallelo e Distribuito
CLUSTERING WITH WEKA Branca Stefano Dosi Clio Gnudi Edward William.
David Novak and Pavel Zezula GRUPPO 13 Decorte Andrea Giammarino Giuseppe.
Introduzione Effettuare query top-k su un sistema altamente distribuito, sfruttando il P2P Nodi Principali (SP = Super Peers) Nodi Secondari (P = Peers)
P-Grid: A Self-Organizing Access Structure for P2P Information Systems Karl Aberer Presentazione et codice: Antonio Gaetani Marco Montali Marco Tamburini.
Introduzione agli algoritmi e strutture dati 3/ed T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein Copyright © 2010 – The McGraw-Hill Companies srl.
1 G RUPPO 12 Luca Druda Francesco Flor Daniele Palossi P ARALLEL D ISTRIBUTED P ROCESSING OF C ONSTRAINED S KYLINE Q UERIES BY F ILTERING Bin Cui, Hua.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 18 Ottobre.
14 marzo 2002 Avvisi:.
Voronoi-Based K Nearest Neighbor Search for Spatial Network Databases
Capitolo 7 Tavole hash Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 21 Agosto.
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
MCSA Mobile Code System Architecture Infrastruttura a supporto della code mobility Pierfrancesco Felicioni Reti di Calcolatori L.S. 2005/2006.
Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C Esercizi su Alberi.
R-AR-B R-CR-D R-E R-F H-A H-B H-CH-D H-E H-FH-G Rete di Riferimento Grafo Equivalente OSPF - RIP BGP.
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi Algoritmi distribuiti Lezione n°9.
Transcript della presentazione:

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

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)

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|

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

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

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

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

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

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

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

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

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

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

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+ε

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)

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

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

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

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

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

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

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