Skyline Queries in P2P Systems Παρουσίαση: Φωτεινή Πεχλιβάνη Αικατερίνη Φωτιάδου
οµήτης παρουσίασης Ορισµός του Skyline Skyline in P2P Περιγραφή Μοντέλου ροµολόγηση Caching Πειράµατα Συµπεράσµατα
Ορισµός Skyline Το Skyline ενός συνόλου σηµείων ορίζεται ως το σύνολο των σηµείων που δεν κυριαρχούνται (not dominated) από κανένα άλλο σηµείο Ένα σηµείο x dominates y, αν Το xδεν είναι χειρότερο από το y σε καµία διάσταση από αυτές που µας ενδιαφέρουν Το xείναι καλύτερο από το y σε τουλάχιστον µία
Παράδειγµα 1 Ξενοδοχείο Φτηνό Κοντά στην παραλία Ενδιαφέροντα είναι αυτά που είναι καλύτερα σε τουλάχιστον µία διάσταση
Skyline Queries in P2P systems Απουσία ολικής (global) πληροφορίας υναµικό σύστηµα:οι οµότιµοι εισέρχονται και εξέρχονται κατά βούληση Κάθε οµότιµος µπορεί να θέσει µία ερώτηση Σχεδόν αδύνατο να εγγυηθούµε ολοκληρωµένες και ακριβείς απαντήσεις χωρίς εξοντωτική αναζήτηση
Στόχος Εφαρµογήτων Skyline ερωτήσεων σε P2P συστήµατα µε τη βοήθεια κατάλληλου ευρετηρίου κατάλληλου αλγορίθµου δροµολόγησης Έτσι ώστε να αποφύγουµε να ρωτάµε οµότιµους των οποίων τα στοιχεία δεν είναι πιθανό να ανήκουν στο Skyline Εφαρµογή αυτών σε κατάλληλη τοπολογία ώστε να λειτουργούν αποδοτικά 100% αξιόπιστα αποτελέσµατα όχι πιθανοτικά
Τοπολογία SN SN SN SN Εικόνα 1, Η τοπολογία του δικτύου
ΠεριγραφήΤοπολογίας Super Nodes (SNs): κόµβοι µε µεγάλη υπολογιστική και αποθηκευτική ισχύ Όταν ένας κόµβος συνδέεται στο δίκτυο Συνδέεται ως ordinary Πρέπει να γνωρίζει τουλάχιστον έναν κόµβο του δικτύου Μέσω αυτού µαθαίνει 5 SNsκαι επιλέγει να συνδεθεί σε αυτόν µε τα λιγότερα παιδιά Όταν ένας κόµβος φεύγει από το δίκτυο Αν είναι ordinary ενηµερώνει τον SN του Αν SNείναι όλα τα παιδιά του θα πρέπει να συνδεθούν εκ νέου στο δίκτυο Περιοδικά ελέγχουµε αν έχουν ανατεθεί πολλοί ordinaryσε κάποιον SN και αν αυτό συµβαίνει κάποιος από τους ordinary γίνεται SN
Index Υπάρχειµόνο στους SNs Περιέχει πληροφορία για κάθε ordinaryπου αντιστοιχεί στον SN Περιέχει πληροφορία για τις τιµές µόνο κάποιων attributes Οι τιµές είναι χωρισµένες σετο πολύ 16 buckets Μέγεθος index: M*CHILD*2 bytes
ροµολόγηση Έναςκόµβος θέτει ερώτηµα Αν είναι ordinary το προωθεί στον Super Node του περιµένει αποτελέσµατα υπολογίζει το Skyline Αν είναι Super Node το προωθεί στους γειτονικούς του Super Nodes το προωθεί στους ordinary που τα δεδοµένα τους µπορεί να ανήκουν στο Skyline περιµένει αποτελέσµατα υπολογίζει το Skyline Έναςκόµβος λαµβάνει ερώτηµα Αν είναι ordinary υπολογίζει το Skyline του στέλνει τα αποτελέσµατα σε αυτόν που τον ρώτησε Αν είναι Super Node αν έχει λάβει ήδη το ερώτηµα δεν κάνει τίποτα αλλιώς κάνει ότι και όταν θέτει ερώτηµα στέλνει τα αποτελέσµατα σε αυτόν που τον ρώτησε
Find Relevant Neighbors A{a 1, a 2,, a n }τα attributesστονκόµβο N h i, i [0,k] ταστοιχεία Skyline h i {a i1, a i2,, a in }τα attributes αυτών ΠρέπειναεπισκεφθούµετονκόµβοΝαν: Υπάρχει τουλάχιστον ένα i για το οποίο να ισχύει: ΥπάρχουντιµέςστοΑτέτοιεςώστε: a 1 <= a i1 or a 2 <= a i2 or a n <= a in
Παράδειγµα 2 1 2 1 n SN 2 SN 3 Εικόνα 2, SELECT * FROM Hotels WHERE city= Nassau SKYLINE OF price MIN, distance MIN; SN 1 SN 4 1 3 1 n 2 S SN1 {H1, H2, H3} S 3 {H7, H8} S SN2 {H10, H11, H12} S 2 {H13, H14, H15} S SN2 {H11, H13, H14} S SN1 {H2, H3, H11, H13, H14}
Caching Γίνεται µόνο στους Super Nodes Αποθηκεύουν το id της ερώτησης το Skyline ποιοι κόµβοι συνέβαλαν στον υπολογισµό του Μικρή αλλαγή του αλγόριθµου δροµολόγησης Μαζί µε το Skyline στέλνουν και από ποιους κόµβους πήραν πληροφορία για να το υπολογίσουν Στο προηγούµενο παράδειγµα αν ο SN 1 έχει κάνει cacheτην ερώτηση, αν τον ξαναρωτήσουµε θα ρωτήσει µόνο τον SN 3
Caching CreateCache(query) Ερωτήσεις συχνές Με πολλά attributes DeleteCache(query) Η ερώτηση δεν έχει ζήτηση Πέφτει ή αποχωρεί γειτονικός Super Node UpdateCache(query) Ένας ordinary συνδέεται στον Super Node Σταδιακή ανανέωση από διαφορετικούς γείτονες σε ερωτήσεις που έχουν ζήτηση
Συνθήκες/ παράµετροι πειράµατος Μετράµετην απόδοση του index που προτείνουµε vs simple index Simple index: κρατά πληροφορία για το αν ένας κόµβος έχει πληροφορία για ένα δεδοµένο ή όχι Κάθε SN έχει 80-120 ordinary nodes Στους κόµβους ανατίθενται τυχαία δεδοµένα Στο index κρατάµε 5 attributes
Πειραµατικάαποτελέσµατα Εκτελούµε µια Skyline ερώτηση για 2 attributes Πλήθος ΟΝ κόµβων που ρωτώνται 500 1000 1500 2000 Πλήθος ΟΝ κόµβων στο δίκτυο
Πειραµατικάαποτελέσµατα [2] Εκτελούµε µια Skyline ερώτηση για 3 attributes Πλήθος ΟΝ κόµβων που ρωτώνται 500 1000 1500 2000 Πλήθος ΟΝ κόµβων στο δίκτυο
Πειραµατικάαποτελέσµατα [3] Εκτελούµε µια Skyline ερώτηση για 4 attributes Πλήθος ΟΝ κόµβων που ρωτώνται 500 1000 1500 2000 Πλήθος ΟΝ κόµβων στο δίκτυο
Συµπεράσµατα 25% µείωση των ερωτηθέντων οµότιµων Αποδοτική δροµολόγηση- αποφυγή κύκλων Οι SNs υπολογίζουν παράλληλα το Skyline τους και έτσι µειώνεται ο χρόνος εκτέλεσης Index µικρού µεγέθους που ενηµερώνεται εύκολα Γενικά εύκολη και απλή υλοποίηση-καλή απόδοση
Ευχαριστούµεγια την προσοχή σας Ερωτήσεις?