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

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

Μαρίνα Δρόσου Τμήμα Πληροφορικής Πανεπιστήμιο Ιωαννίνων Πτυχιακή Εργασία Επιβλέπουσα: Ευαγγελία Πιτουρά.

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


Παρουσίαση με θέμα: "Μαρίνα Δρόσου Τμήμα Πληροφορικής Πανεπιστήμιο Ιωαννίνων Πτυχιακή Εργασία Επιβλέπουσα: Ευαγγελία Πιτουρά."— Μεταγράφημα παρουσίασης:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

16 Συγχωνευμένα Ιστογράμματα Bloom  Έστω δύο διαθέσιμα Ιστογράμματα Bloom: ΒΗ 1 (paths 1, v 1 ) μεγέθους s 1 για το σύνολο D 1 ΒΗ 2 (paths 2, v 2 ) μεγέθους s 2 για το σύνολο D 2  Στόχος μας είναι η κατασκευή ενός νέου ιστογράμματος ΒΗ(paths, v) το οποίο θα αντιπροσωπεύει το σύνολο δεδομένων D 1  D 2 καταλαμβάνοντας χώρο όχι μεγαλύτερο από s max = max{s 1, s 2 }.  Θέλουμε να διατηρήσουμε το σφάλμα μικρό. Επομένως θα προσπαθήσουμε να συνδυάσουμε ζεύγη «παρόμοιων» κάδων. Marina Drosou - Eureka

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

18 Frequency-Merge  Κεντρική ιδέα: Προσπαθούμε να συνδυάσουμε κάδους με παρόμοιες τιμές συχνοτήτων, δηλ. με μικρό | v 1 - v 2 |. Marina Drosou - Eureka 2007 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 18

19 Filter-Merge  Κεντρική ιδέα: Προσπαθούμε να συνδυάσουμε κάδους με παρόμοια φίλτρα Bloom.  Η ομοιότητα των φίλτρων Bloom ορίζεται ως: όπου m το μήκος τους και: Marina Drosou - Eureka 2007 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 19

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

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

22 Πειραματική Μελέτη  Σύνολα δεδομένων: «SIGMOD record». Αρκετά επαναληπτική δομή. «SwissProt». Μεγάλο και πολύπλοκο σύνολο δεδομένων, συχνότητες που απέχουν πολύ η μία από την άλλη. «XΜark», από γεννήτρια τυχαίων XML δεδομένων. Μεγάλος αριθμός διαφορετικών μονοπατιών. Marina Drosou - Eureka 2007 Size # path s Max frequency difference # distinct frequencies Min frequency Max frequency SIGMOD record 483 KB SwissProt KB XMark75501 KB

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

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

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

26 Απόδοση συγχωνευμένων Ιστογραμμάτων Bloom (1/2)  Δημιουργήσαμε συγχωνευμένα Ιστογράμματα Bloom και τα συγκρίναμε με Ιστογράμματα που δημιουργήθηκαν απευθείας από τα αρχικά δεδομένα. Marina Drosou - Eureka XMark

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

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

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


Κατέβασμα ppt "Μαρίνα Δρόσου Τμήμα Πληροφορικής Πανεπιστήμιο Ιωαννίνων Πτυχιακή Εργασία Επιβλέπουσα: Ευαγγελία Πιτουρά."

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


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