Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

XML Summaries for Routing in P2P Systems

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "XML Summaries for Routing in P2P Systems"— Μεταγράφημα παρουσίασης:

1 XML Summaries for Routing in P2P Systems
Μαρίνα Δρόσου Πτυχιακή Εργασία Επιβλέπουσα: Ευαγγελία Πιτουρά Τμήμα Πληροφορικής Πανεπιστήμιο Ιωαννίνων

2 Συστήματα Peer-to-Peer (p2p)
Συνήθως μεγάλα δίκτυα υπολογιστών (κόμβων) Κάθε κόμβος συνδέεται με λίγους άλλους κόμβους Μέσω αυτών μπορεί να συνδεθεί και με τους υπόλοιπους Διαμοιρασμός πόρων και δεδομένων Marina Drosou - Eureka 2007

3 Αναζήτηση Δεδομένων Αναζητούμε δεδομένα που είναι αποθηκευμένα στο δίκτυο, αλλά δεν γνωρίζουμε σε ποιον κόμβο. Οι κόμβοι πρέπει να αποφασίζουν σε ποιους γείτονες θα προωθούν κάθε ερώτηση. Marina Drosou - Eureka 2007

4 Ανταλλαγή Δεδομένων Η πληροφορία που ανταλλάσσεται κατά την αναζήτηση είναι μεγάλη σε όγκο. Η άμεση αναζήτηση στα δεδομένα δεν είναι αποδοτική Στρεφόμαστε σε τεχνικές περίληψης των δεδομένων Επικεντρωνόμαστε στην ανταλλαγή XML δεδομένων Τα XML δεδομένα έχουν τη μορφή μονοπατιών Διαδεδομένες γλώσσες ερωτήσεων (π.χ. XPath) <book> <title> Fundamentals of Database Systems </title> <author> R. Elmasri </author> <author> S. B. Navathe </author> <publisher> Addison-Wesley </publisher> <year> 2000 </year> </book> Ερώτηση: /book/publisher Απάντηση: Addison-Wesley Marina Drosou - Eureka 2007

5 Διάρθρωση Ευρετήρια Δρομολόγησης και Ιστογράμματα Bloom και
Τα Ιστογράμματα Bloom στα p2p Πειραματική μελέτη Συμπεράσματα Marina Drosou - Eureka 2007

6 Ευρετήρια Δρομολόγησης και Ιστογράμματα Bloom
Marina Drosou - Eureka 2007

7 Ευρετήρια Δρομολόγησης
Crespo, Garcia-Molina (2002) Είναι ένα σύνολο δομών και αλγορίθμων που υποδεικνύουν σε κάθε κόμβο σε ποιους γείτονες πρέπει να προωθήσει κάθε ερώτηση. Οι δομές που χρησιμοποιούνται πρέπει να μπορούν να δώσουν μία περίληψη του τι είναι προσβάσιμο μέσω κάθε γείτονα. Marina Drosou - Eureka 2007

8 Σκοπός Για την περίληψη, χρησιμοποιούμε μια νέα δομή, το Ιστόγραμμα Bloom  Ιστόγραμμα Bloom: ομαδοποίηση δεδομένων με βάση τη συχνότητα εμφάνισης. (Wang et al., VLDB 2004) Σκοπός μας η περιγραφή, η μελέτη και οι εφαρμογές του Ιστογράμματος Bloom στην επεξεργασία και δρομολόγηση XML ερωτήσεων σε συστήματα ομότιμων κόμβων. Marina Drosou - Eureka 2007

9 Φίλτρα Bloom (1/2) Αναπαριστούν ένα σύνολο στοιχείων Q = {p1, p2, …, pn} bit vector μήκους m k συναρτήσεις κατακερματισμού h1, h2, …, hk Δίνουν αποτελέσματα στο [1, m] Εισαγωγή στοιχείου p: Εφαρμόζουμε τις συναρτήσεις κατακερματισμού στο p Τα bit στις θέσεις hi(p) παίρνουν τη τιμή 1, 1 ≤ i ≤ k Το στοιχείο p ταιριάζει στο φίλτρο αν: Όταν εφαρμόσουμε τις k συναρτήσεις κατακερματισμού στο p, όλα τα bit στις θέσεις hi(p) έχουν την τιμή 1, 1 ≤ i ≤ k h1(p) = 2 h2(p) = 5 m = 6, k = 2 1 Marina Drosou - Eureka 2007

10 Φίλτρα Bloom (2/2) Ένα στοιχείο p που δεν ταιριάζει στο φίλτρο bloom δεν μπορεί να ανήκει στο αρχικό σύνολο στοιχείων. Ένα στοιχείο p μπορεί να ταιριάζει στο φίλτρο bloom αλλά να μην ανήκει στο σύνολο στοιχείων από το οποίο δημιουργήθηκε το φίλτρο. Πιθανότητα σφάλματος: (n τα στοιχεία του συνόλου, k ο αριθμός των συναρτήσεων, m το μήκος του φίλτρου) Marina Drosou - Eureka 2007

11 Ιστογράμματα Bloom (1/3)
Wang et al. (2004) Δισδιάστατος πίνακας H της μορφής H(paths, v) όπου paths υποσύνολα μονοπατιών και v αντιπροσωπευτική τιμή για τις συχνότητες των μονοπατιών του υποσυνόλου. Κάθε υποσύνολο μονοπατιών αναφέρεται και ως «κάδος».  Αν το μονοπάτι p ανήκει σε κάποιον κάδο του H θεωρούμε την αντίστοιχη τιμή v ως συχνότητα του p. Marina Drosou - Eureka 2007

12 Ιστογράμματα Bloom (2/3)
Πώς θα διαμοιραστούν τα μονοπάτια στους κάδους; Τα μονοπάτια ταξινομούνται κατά αύξουσα σειρά συχνότητας και στη συνέχεια χωρίζονται σε ομάδες έτσι ώστε μονοπάτια που ανήκουν στην ίδια ομάδα να έχουν παρόμοιες συχνότητες. Μονοπάτι Συχνότητα /a 10 /a/b /a/f/c 99 /a/e 101 /a/z 999 /a/s 1001 /a/i 1499 /a/o 1501 Φίλτρο bloom Συχνότητα BF(/a, /a/b) 10 BF(/a/f/c, /a/e) 100 BF(/a/z, /a/s) 1000 BF(/a/i, /a/o) 1500 Πώς θα αναπαρασταθούν οι ομάδες αυτές με αποδοτικό τρόπο; Κάθε ομάδα θα αναπαρασταθεί με ένα φίλτρο bloom έτσι ώστε να μπορούμε εύκολα να διαπιστώσουμε αν ένα μονοπάτι ανήκει ή όχι σε κάποια συγκεκριμένη ομάδα. Marina Drosou - Eureka 2007

13 Ιστογράμματα Bloom (3/3)
Πρώτον, το γεγονός ότι το ιστόγραμμα bloom επιστρέφει ως συχνότητα του μονοπατιού όχι την πραγματική συχνότητα αλλά μία προσεγγιστική τιμή v. Δεύτερον, το γεγονός ότι ενώ ένα μονοπάτι μπορεί να έχει τοποθετηθεί σε έναν μόνο κάδο του ιστογράμματος bloom μπορεί μετά την τοποθέτηση όλων των μονοπατιών να ταιριάζει σε πολλά από τα φίλτρα bloom του ιστογράμματος. Marina Drosou - Eureka 2007

14 Ιστογράμματα Bloom ως Ευρετήρια Δρομολόγησης
Ο κόμβος Α διαθέτει: 1 τοπικό ιστόγραμμα 1 ιστόγραμμα για τον B 1 ιστόγραμμα για τον C 1 ιστόγραμμα για τους D, E B D E A C F Marina Drosou - Eureka 2007 G

15 Τα Ιστογράμματα Bloom στα p2p
Marina Drosou - Eureka 2007

16 Συγχωνευμένα Ιστογράμματα Bloom
ΒΗ1(paths1, v1) μεγέθους s1 για το σύνολο D1 ΒΗ2(paths2, v2) μεγέθους s2 για το σύνολο D2 Στόχος μας είναι η κατασκευή ενός νέου ιστογράμματος ΒΗ(paths, v) το οποίο θα αντιπροσωπεύει το σύνολο δεδομένων D1  D2 καταλαμβάνοντας χώρο όχι μεγαλύτερο από smax = max{s1, s2}. Θέλουμε να διατηρήσουμε το σφάλμα μικρό. Επομένως θα προσπαθήσουμε να συνδυάσουμε ζεύγη «παρόμοιων» κάδων. Marina Drosou - Eureka 2007

17 Συγχώνευση κάδων Όταν συγχωνεύουμε δύο κάδους ο νέος κάδος έχει:
φίλτρο bloom το BF = (BF1) BOR (BF2) τιμή συχνότητας τον μέσο όρο των τιμών των δύο αρχικών κάδων Μπορούμε να χρησιμοποιήσουμε σταθμισμένο μέσο όρο: 12 8 10 Marina Drosou - Eureka 2007

18 Frequency-Merge Κεντρική ιδέα: Προσπαθούμε να συνδυάσουμε κάδους με παρόμοιες τιμές συχνοτήτων, δηλ. με μικρό | v1 - v2 |. Algorithm 1: Frequency-merge(BH1, BH2) 1: int min, target 2: for i = 1 to b2 do 3: min = +∞;, target = 0; 4: for j = 1 to b1 do 5: if abs(BH2.value[i] – BH1.value[j]) < min then 6: min = BH2.value[i] – BH1.value[j]; 7: target = j; 8: end if 9: end for 10: MergeBuckets(i, target); 11: end for Marina Drosou - Eureka 2007

19 Filter-Merge Κεντρική ιδέα: Προσπαθούμε να συνδυάσουμε κάδους με παρόμοια φίλτρα Bloom. Η ομοιότητα των φίλτρων Bloom ορίζεται ως: όπου m το μήκος τους και: Algorithm 2: Filter-merge(BH1, BH2) 1: int max, target 2: for i = 1 to b2 do 3: max = -∞;, target = 0; 4: for j = 1 to b1 do 5: if similarity(BH2.BF[i], BH1.BF[j]) > max then 6: max = similarity(BH2.BF[i], BH1.BF[j]); 7: target = j; 8: end if 9: end for 10: MergeBuckets(i, target); 11: end for Marina Drosou - Eureka 2007

20 Πειραματική Μελέτη Marina Drosou - Eureka 2007

21 Διαδικασία Αρχεία XML Xerces C++ Υλοποίηση αλγορίθμων Wang et al.
Data collection XML parser XML paths Find path frequencies Bloom Histogram Υλοποίηση αλγορίθμων Wang et al. (Δυναμικός προγραμματισμός – βέλτιστα ιστογράμματα) Marina Drosou - Eureka 2007

22 Πειραματική Μελέτη Σύνολα δεδομένων:
«SIGMOD record». Αρκετά επαναληπτική δομή. «SwissProt». Μεγάλο και πολύπλοκο σύνολο δεδομένων, συχνότητες που απέχουν πολύ η μία από την άλλη. «XΜark», από γεννήτρια τυχαίων XML δεδομένων. Μεγάλος αριθμός διαφορετικών μονοπατιών. Size # path s Max frequency difference # distinct frequencies Min frequency Max frequency SIGMOD record 483 KB 31 3670 3 67 3737 SwissProt KB 335 566307 85 1 566308 XMark 75501 KB 1747 40924 250 40925 Marina Drosou - Eureka 2007

23 Σφάλμα Ιστογραμμάτων Bloom
Μετρική: το απόλυτο σφάλμα Έστω n ερωτήσεις για διάφορα paths. Αν Xi η πραγματική συχνότητα του i-οστού path και Vi η εκτίμηση του ιστογράμματος τότε το σφάλμα είναι: Υπενθυμίζουμε ότι το σφάλμα εξαρτάται από: Την προσέγγιση που κάνει κάθε κάδος Το ότι ένα μονοπάτι μπορεί να ταιριάζει σε πολλά φίλτρα bloom Marina Drosou - Eureka 2007

24 Σχέση κάδων/φίλτρων (1/2)
Το απόλυτο σφάλμα μειώνεται με Την αύξηση του μήκους των φίλτρων bloom Την αύξηση του αριθμού των κάδων Για σταθερό χώρο, τι θα αυξήσουμε περισσότερο; Η απάντηση εξαρτάται από το σύνολο δεδομένων SwissProt XMark Marina Drosou - Eureka 2007

25 Σχέση κάδων/φίλτρων (2/2)
SwissProt XMark Marina Drosou - Eureka 2007

26 Απόδοση συγχωνευμένων Ιστογραμμάτων Bloom (1/2)
XMark Marina Drosou - Eureka 2007

27 Απόδοση συγχωνευμένων Ιστογραμμάτων Bloom (2/2)
SwissProt Γενικά το frequency-merge καλύτερο, εκτός αν το σφάλμα των φίλτρων bloom είναι μεγάλο. Marina Drosou - Eureka 2007

28 Συμπεράσματα Marina Drosou - Eureka 2007

29 Συμπεράσματα Τα Ιστογράμματα Bloom είναι μία ενδιαφέρουσα δομή που μπορεί να χρησιμοποιηθεί στη δρομολόγηση ερωτήσεων σε p2p Μπορούμε να τα συγχωνεύσουμε χωρίς να έχουμε διαθέσιμο το αρχικό σύνολο δεδομένων από το οποίο προήλθαν Τα συγχωνευμένα ιστογράμματα μπορούν να χρησιμοποιηθούν ως ευρετήρια δρομολόγησης Στο μέλλον: Εύρεση κανόνων για τη συσχέτιση των χαρακτηριστικών ενός συνόλου δεδομένων με την απόδοση κάθε αλγορίθμου συγχώνευσης Marina Drosou - Eureka 2007


Κατέβασμα ppt "XML Summaries for Routing in P2P Systems"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google