David Novak and Pavel Zezula GRUPPO 13 Decorte Andrea Giammarino Giuseppe.

Slides:



Advertisements
Presentazioni simili
Scheduling (Schedulazione) Susanna Pelagatti – Università di Pisa
Advertisements

Strutture dati per insiemi disgiunti
Meccanismi di IPC Problemi classici di IPC
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
di Architetture Peer to Peer per la Gestione di Database Distribuiti
Algoritmi e Strutture Dati
Lez. 3 - Gli Indici di VARIABILITA’
esponente del radicando
RB-alberi (Red-Black trees)
Realizzazione del file system
Alberi binari di ricerca
Cammini minimi con sorgente singola
Interpretazione Astratta
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
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 Strutture dati per.
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Algoritmi e Strutture Dati
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 22/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Capitolo 6 Interrogazioni.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 4 Ordinamento: Heapsort Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Capitolo 6 Il problema.
Capitolo 9 Il problema della gestione di insiemi disgiunti (Union-find) Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Capitolo 6 Il problema.
Algoritmi e Strutture Dati III. Algoritmi di Ordinamento
Seminario su clustering dei dati – Parte II
CONTROLLO DI SUPPLY CHAIN MEDIANTE TECNICHE H-INFINITO E NEGOZIAZIONE
Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco
Algoritmi e Strutture Dati
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley Chord: A Scalable Peer-to-peer Lookup Service for Internet.
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.
Cercare informazioni sul Web. 5-2 Organizzazione dellinformazione tramite gerarchie Classificazione gerarchica Linformazione è raggruppata in un piccolo.
QuickSort Quick-Sort(A,s,d) IF s < d THEN q = Partiziona(A,s,d) Quick-Sort(A,s,q-1) Quick-Sort(A,q + 1,d)
Lezione 4 Probabilità.
Sistemi P2P avanzati Lezione 3 Chord seconda parte.
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.
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.
Presentazione del progetto di: Reti di calcolatori L-S Matteo Corbelli.
Reti L-S 2005 Servizio per la ricerca distribuita basato sul protocollo Rossi Daniele
DEIS Università di Bologna
Modellazione di terreni a risoluzione adattiva
Anche la RB-Delete ha due fasi: Nella prima viene tolto un nodo y avente uno dei sottoalberi vuoto sostituendolo con la radice dellaltro sottoalbero. Per.
Elementi di Informatica di base
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
U N INFRASTRUTTURA DI SUPPORTO PER SERVIZI DI FILE HOSTING Matteo Corvaro Matricola Corso di Reti di Calcolatori LS – Prof. A. Corradi A.A.
Calcolo Parallelo e Distribuito
1 Questionario di soddisfazione ATA - a. sc. 2008/09 Il questionario è stato somministrato nel mese di aprile Sono stati restituiti 29 questionari.
TRASFORMAZIONI GEOMETRICHE
Towards Robust Indexing for Ranked Queries aa 09/10 Candeloro D. Orlando M. Pedone A. Gruppo 5.
Efficient Region- Based Image Retrieval di Roger Weber e Michael Mlivoncic Swiss Federal Institute of Technology (ETH) Presentazione di Laura Galli, Mauro.
Capitolo 3 Strutture dati elementari 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 18 Ottobre.
COMUNICAZIONE ONLINE, RETI E VIRTUALITA MATTEO CRISTANI.
Voronoi-Based K Nearest Neighbor Search for Spatial Network Databases
Continuos Query Processing in Data Streams Using Duality of Data and Queries Hyo-Sang Lim, Jae-Gil Lee, Min-Jae Lee,Kyu-Young Whang, Il-Yeol Song GRUPPO.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Studio degli indici per query di similarità basati su matrici di distanze Esame di Sistemi Informativi per le Decisioni L-S Presentato da: Ing. Marco Patella.
Modulo 6 Test di verifica
Lez. 3 - Gli Indici di VARIABILITA’
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 21 Agosto.
Nemesi Creazione e pubblicazione di una rivista online tramite l’utilizzo di Java Message Service.
1 Esercitazione Sistemi distribuiti: sistemi che risisedono su più calcolatori interconnessi da una rete di comunicazione Algoritmi distribuiti: programmi.
Voronoi-Based K Nearest Neighbor Search for Spatial Network Databases1 GRUPPO 13: Relatore: Mengoli Dario Mengoli Dario Rovatti Fabrizio Tassoni Davide.
Self-Organizing Map (SOM Kohonen, 1981) è una tecnica di visualizzazione dei dati multidimensionali SOM è una mappa mono- (bi-)dimensionale che rappresenta.
Prof.ssa Rossella Petreschi Lezione del 17 /10/2014 del Corso di Algoritmica Lezione n°5.
Transcript della presentazione:

David Novak and Pavel Zezula GRUPPO 13 Decorte Andrea Giammarino Giuseppe

Utente f0rnisce unimmagine Trovare immagini simili nel database basandosi su distanza quadratica tra le features Difficoltà nel lavorare con dati di questo genere? 2 Gruppo 13 M-Chord

Dati ad alta dimensionalità Funzioni distanza onerose computazionalmente (nellordine di O(D 2 )) Dati non gestibili efficientemente con spazi vettoriali Query multidimensionali di similarità Servono nuove strategie! 3 Gruppo 13 M-Chord

Introduzione di spazi metrici anziché vettoriali Sviluppo di strategie distribuite per dividere il carico di lavoro su nodi interconnessi tra loro Al momento della pubblicazione, numerosi studi su applicazioni di ricerca distribuita, ma la maggior parte di loro si concentrano su spazi vettoriali Gli unici riguardanti spazi metrici sono GHT* (nativamente metrica, basata sui Generalized Hyperplane Tree) e MCAN, che estende il protocollo CAN (Content Addressable Network) 4 Gruppo 13 M-Chord

Sviluppare una struttura per la ricerca distribuita che sia applicabile a spazi metrici basandosi su alcune soluzioni esistenti: iDistance Protocollo Chord Esse verranno integrate ed estese nella struttura di M- Chord 5 Gruppo 13 M-Chord

Uno spazio metrico M è una coppia (U, d) U è il dominio degli oggetti d è una funzione di distanza Tutti gli oggetti di U soddisfano le seguenti proprietà: 6 Gruppo 13 M-Chord

Metodo di indicizzazione per ricerca di similarità in spazi vettoriali Partizione dei dati in n cluster, rappresentati da un pivot p i A ogni oggetto x viene assegnata chiave unidimensionale che tiene conto della distanza dal pivot c è una costante per separare i cluster Valori sono memorizzati in un B + -tree sulla base della chiave iDist(x) 7 Gruppo 13 M-Chord

P0P0 P2 C0 C1 C2 C2*C3*C P1P1 8 Gruppo 13 M-Chord

Protocollo P2P per Distributed Hash Table Chord specifica come chiavi debbano essere assegnate ai nodi, come si possa localizzare nodo responsabile per una chiave e come esso recuperi valore di una chiave specifica Basato su scambio di messaggi Dinamico, consistent hashing Dominio mappato uniformemente nellintervallo [0,2 m ) 9 Gruppo 13 M-Chord

Le chiavi K i sono disposte su un cerchio A ogni nodo N i viene assegnata la chiave K i dallo stesso dominio Nodo N i responsabile per tutte le chiavi dellintervallo (K i-1, K i ](mod 2 m ) Ogni nodo mantiene successore, predecessore e finger table, che garantisce un routing di complessità O(log n) 10 Gruppo 13 M-Chord

N1 N8 N14 N21 N51 N48 N42 N38 N Gruppo 13 M-Chord Finger table ha dimensioni minori rispetto al numero totale nodi Necessario mantenerla aggiornata nel tempo Non contiene info necessarie per raggiungere valori di chiave direttamente Tiene anche in conto possibilità di failure del nodo

12 Gruppo 13 M-Chord N1 N8 N14 N21 N51 N48 N42 N38 N32 lookup(54) K54 Cercando la chiave 54 è necessario visitare 2 altri nodi. Se non avessi finger table, li dovrei passare tutti! Algoritmo semplificato per cercare una chiave: Se appartiene a chiavi locali, restituisci il valore Altrimenti accedi alla finger table e cerca il più grande predecessore della chiave richiesta, in modo da avvicinarsi il più possibile al nodo che contiene la chiave N56

Idee alla base di M-Chord: Generalizzare iDistance a spazi metrici e adattare il suo dominio a quello di Chord Dividere il dominio in intervalli da distribuire sui diversi nodi Sviluppare gli algoritmi Range e kNN Introdurre meccanismi di pruning 13 Gruppo 13 M-Chord

Durante partizionamento, che sfrutta diagrammi di Voronoi, distanze dei punti da ogni pivot sono salvate per essere poi sfruttate nel pruning delle query di Range Data una query Range(q, r), per diseguaglianza triangolare oggetto x può essere escluso senza valutare d(q, x) se xr qPiPi d(x,Pi)- d(q,Pi)>r ?>r ? 14 Gruppo 13 M-Chord

Selezione pivot Criterio di selezione: aumentare il più possibile il filtraggio Dominio dei dati Necessaria una funzione di trasformazione h per normalizzare il dominio fornito da iDistance sullintervallo [0, 2 m ) ed ottenere una distribuzione uniforme 15 Gruppo 13 M-Chord

Topologia della rete corrisponde a quella di Chord Fase di inizializzazione (SampleSet S, numero pivot) Un solo nodo attivo che copre tutto (chiave 2 m -1) Selezione dei pivot su S Si applica formula di iDistance su S per avere distribuzione dei dati e si ricava funzione di trasformazione h in modo da poter calcolare mchord(x) 16 Gruppo 13 M-Chord

Attivazione altri nodi I nodi a cui non sono assegnate chiavi sono non attivi Ogni nodo attivo può invocare una richiesta di split secondo criteri personalizzati (carico…) Procedura di split Si determina la nuova chiave K i da assegnare al nodo Si spostano i dati al nuovo nodo e si segue il meccanismo standard di join di Chord Si cerca di seguire le forme dei cluster se intervallo copre più di un cluster 17 Gruppo 13 M-Chord

Segue lidea di range query di iDistance Il nodo N q che avvia la query procede nel seguente modo: Determina per ogni cluster C i lintervallo di chiavi I i Per ogni i invia una richiesta di I NTERVAL S EARCH (I i, q, r) al nodo N i responsabile per il punto centrale dellintervallo I i 18 Gruppo 13 M-Chord

Se nodo non responsabile dellintero intervallo, inoltra richiesta a predecessore/successore Ogni nodo crea risposta locale che include gli x | d(q,x) r Invio risposta segnalando eventualmente che è necessario attendere quella di altri nodi Qui si sfruttano distanze calcolate in precedenza e formula di filtraggio di iDistance I1I1 I2I2 I3I3 Nq N I1 N I2 N I3 19 Gruppo 13 M-Chord wait

iDistance può escludere un cluster i da ricerca se d(p i, q) –r > max-dist i Tale pruning non è applicabile in ambienti distribuiti (max-dist i non conosciuto da tutti i nodi) 20 Gruppo 13 M-Chord PiPi max-dist i q r

Approccio di iDistance non adatto ad ambienti distribuiti (query di range a raggio crescente) Proposta degli autori: 1. Utilizzo uneuristica a basso costo per trovare k oggetti vicino q; δ k è unapprossimazione (upper bound) della distanza del k-esimo oggetto 21 Gruppo 13 M-Chord

Nodo responsabile per mchord(q) cerca nel cluster C i a cui appartiene q 1. Localizza la foglia del B + -Tree dove si trova q 2. Esplora a sinistra e destra le foglie e aggiunge i primi k oggetti al ResultSet, inizializzando δ k 3. Continua a esaminare x finché le chiavi mchord(x) appartengono a 4. Se d(q,x) < δ k aggiungo x a RS al posto del k-esimo oggetto e aggiorno δ k 5. Continuo ricerca finché non ho esplorato tutto I i o tutto cluster C i 22 Gruppo 13 M-Chord q K=2 δ k = distanza K-esimo oggetto - δ k + δ k mchord(q)

2. Eseguo una query di Range (q, δ k ) su altri cluster (salto spazio già esplorato) e restituisco i k oggetti più vicini Si presume la presenza di almeno k oggetti in C i, altrimenti strategia ottimistica 23 Gruppo 13 M-Chord

2 dataset di esempio: Immagini rappresentate da vettori di 45 dimensioni Corpus di testi confrontati con edit distance Buona scalabilità allaumentare delle dimensioni della query e del dataset Cresce tuttavia numero messaggi scambiati Possibilità di influire sulle prestazioni agendo su politiche di split dei nodi 24 Gruppo 13 M-Chord

Buoni livelli di parallelismo intraquery (stessa query processata in parallelo) ed interquery (più query contemporanee) 25 Gruppo 13 M-Chord

Costi maggiori per kNN query 26 Gruppo 13 M-Chord

Limiti: Previsto solo inserimento nuovi oggetti, no eliminazione/aggiornamento Nessun supporto per disconnessione nodi Pruning di iDistance da adattare a ambiente distribuito Ulteriori studi: Prestazioni su spazi vettoriali a bassa dimensionalità Replicazione 27 Gruppo 13 M-Chord

GRUPPO 13 Decorte Andrea Giammarino Giuseppe