Δομημένα Δίκτυα Ομοτίμων -- Κατανεμημένοι Πίνακες Κερματισμού (Distributed Hash Tables) Το Δίκτυο CHORD.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ευρετήρια.
Advertisements

Ιεραρχίες Κόμβων Δομημένες σε Δακτύλιο για Ρ2Ρ Συστήματα Βασισμένα σε RDF Σχήματα Παρουσίαση Μεταπτυχιακής Διατριβής: Νικόλαος Κρεμμυδάς Επιβλέπουσα καθηγήτρια:
Δομές Δεδομένων και Αλγόριθμοι
Ερωτηματολόγιο Συλλογής Απαιτήσεων Εφαρμογών Υψηλών Επιδόσεων
Μάρτιος 2011 Βαρόμετρο ΕΒΕΘ - Καταναλωτές. “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι.
Καθ. Παναγιώτης Τριανταφύλλου 2009
Βασικές Συναρτήσεις Πινάκων
Chord: A scalable Peer-to-Peer Lookup Service for Internet Applications Παρουσίαση: Αθανασόπουλος, Αλεξάκης, Δεβελέγκα, Πεχλιβάνη, Φωτιάδου, Φωτόπουλος.
ΠΜΣ ΔΥΝΗΤΙΚΕΣ ΚΟΙΝΟΤΗΤΕΣ
A Peer-to-peer Framework for Caching Range Queries O. D. Sahin A. Gupta D. Agrawal A. El Abbadi Παρουσίαση: Καραγιάννης Τάσος, Κρεμμυδάς Νίκος, Μαργαρίτη.
1 ΠΡΟΤΑΣΕΙΣ ΓΙΑ ΤΗΝ ΟΡΓΑΝΩΤΙΚΗ ΔΟΜΗ ΤΗΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΔΙΕΡΕΥΝΗΣΗΣ ΤΗΣ ΦΥΜΑΤΙΩΣΗΣ ΣΕ ΕΘΝΙΚΟ ΕΠΙΠΕΔΟ Ευάγγελος Μαρίνης Επίτιμος Διευθυντής Μικροβιολογικού.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι
Συνάφεια Κρυφής Μνήμης σε Επεκτάσιμα Μηχανήματα. Συστήματα με Κοινή ή Κατανεμημένη Μνήμη  Σύστημα μοιραζόμενης μνήμης  Σύστημα κατανεμημένης μνήμης.
Πινακες (Arrays) Σημασια Συνταξη Αρχικοποιηση Προσβαση Παραμετροι
Κατακερματισμός.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications ΠΑΡΑΔΕΙΓΜΑΤΑ.
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A εισαγωγή αναζήτησηεπιλογή διατεταγμένος πίνακας.
Peer-to-Peer Systems Ευθυμία Ρόβα Βίκυ Τζιοβάρα Μαρία Χριστοδουλίδου.
Καλή και δημιουργική χρονιά.
A Scalable Content- Addressable Network Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker Proceedings of ACM SIGCOMM ’01 ΠΑΡΟΥΣΙΑΣΗ:
Βάσεις Δεδομένων (ΚΒΔ)
1/23 DHTStrings: Συστήματα Δημοσιεύσεων/Συνδρομών σε DHT Δίκτυα με Υποστήριξη για Συμβολοσειρές Διανομή Περιεχομένου στο Διαδίκτυο Τμήμα ΜΗΥΠ Παν/μιο Πατρών.
© GfK 2012 | Title of presentation | DD. Month
-17 Προσδοκίες οικονομικής ανάπτυξης στην Ευρώπη Σεπτέμβριος 2013 Δείκτης > +20 Δείκτης 0 a +20 Δείκτης 0 a -20 Δείκτης < -20 Σύνολο στην Ευρωπαϊκή Ένωση:
+21 Προσδοκίες οικονομικής ανάπτυξης στην Ευρώπη Δεκέμβριος 2013 Δείκτης > +20 Δείκτης 0 να +20 Δείκτης 0 να -20 Δείκτης < -20 Σύνολο στην Ευρωπαϊκή Ένωση:
1/6/2011 Προσαρμοστικοί Αλγόριθμοι Εξισορρόπησης Φόρτου σε Κατανεμημένα Περιβάλλοντα (Δίκτυα Ομοτίμων και Υπολογιστικά Νέφη)
3/9/ Content-based Publish Subscribe Πάνω από Structured P2P Networks Peter Triantafillou and Ioannis Aekaterinidis University of Patras Greece.
Συστήματα Διαδικτύου1 Συστήματα Διαδικτύου (Συστήματα και Δίκτυα Ομοτίμων - Peer-to-Peer Systems/Networks) Καθ. Παναγιώτης Τριανταφύλλου.
Βαρόμετρο ΕΒΕΘ - Καταναλωτές Σεπτέμβριος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι.
Αναγνώριση Προτύπων.
Γραφήματα & Επίπεδα Γραφήματα
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Συναρτησιακές Εξαρτήσεις.
ΙΣΟΛΟΓΙΣΜΟΣ ΒΑΣΕΙ Δ.Λ.Π. (ΕΝΑΡΞΗΣ)
Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.
1 Θεματική Ενότητα Γραφήματα & Επίπεδα Γραφήματα.
Αποκεντρωμένη Διοίκηση Μακεδονίας Θράκης ∆ιαχείριση έργων επίβλεψης µε σύγχρονα µέσα και επικοινωνία C2G, B2G, G2G Γενική Δ/νση Εσωτερικής Λειτουργίας.
Δυναμική Διατήρηση Γραμμικής Διάταξης Διατηρεί μια γραμμική διάταξη δυναμικά μεταβαλλόμενης συλλογής στοιχείων. Υποστηρίζει τις λειτουργίες: Έλεγχος της.
Βαρόμετρο ΕΒΕΘ Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού Θεσσαλονίκης”
13ο Πανελλήνιο Συνέδριο Ακαδημαϊκών Βιβλιοθηκών – Κέρκυρα Οκτωβρίου 2004 Το σύστημα COINE για την προβολή της πολιτιστικής κληρονομιάς και την υποστήριξη.
Βαρόμετρο ΕΒΕΘ Σεπτέμβριος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού.
1 Content Addressable Network Λίλλης Κώστας Καλλιμάνης Νικόλαος Αγάθος Σπυρίδων – Δημήτριος Σταθοπούλου Ευγενία Γεωργούλας Κώστας.
Ισορροπημένα Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να επιτύχουμε χρόνο εκτέλεσης για.
A Balanced Tree Structure for Peer-to-Peer Networks
Βαρόμετρο ΕΒΕΘ Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού Θεσσαλονίκης”
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Δομές Δεδομένων 1 Στοίβα. Δομές Δεδομένων 2 Στοίβα (stack)  Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή – πρώτη εξαγωγή)  Περιορισμένος.
Τεχνολογία ΛογισμικούSlide 1 Αλγεβρική Εξειδίκευση u Καθορισμός τύπων αφαίρεσης σε όρους σχέσεων μεταξύ τύπων λειτουργιών.
Μοντέλα Συστημάτων Παρουσιάσεις των συστημάτων των οποίων οι απαιτήσεις αναλύονται.
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Κληρονομικότητα.
Lists– Λίστες 1. Αυτό-αναφορικές δομές Τα μέλη μίας δομής μπορεί να είναι οποιουδήποτε τύπου, ακόμα και δείκτες σε δομές του ίδιου τύπου. Χρησιμοποιώντας.
Βαρόμετρο ΕΒΕΘ - Καταναλωτές Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι.
Chord: A Scalable Peer -to-peer Lookup Service for Internet Applications Authors: Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan.
1 ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Πίνακας Συμβόλων Symbol Table.
Δυναμικά Σύνολα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται.
Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ
Security Considerations for Peer–to–Peer DHTs Θεοδόσιος Αγγελίδης Α.Μ:99 Γεώργιος Λίτσιος Α.Μ:113.
Δομές Δεδομένων - Ισοζυγισμένα Δυαδικά Δένδρα (balanced binary trees)
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες:
CHORD A Scalable Peer-to-peer Lookup Service for Internet Applications Μαρίνα Δρόσου Νικόλαος Μπουντουρόπουλος Οδυσσέας Πετρόχειλος Παναγιώτης Δομουχτσίδης.
1 One Torus to Rule them All: Multi-dimensional Queries in P2P Systems Authors: Prasanna Ganesan, Beverly Yang, Hector Garcia-Molina Ευθυμία Ρόβα.
Λεξικό, Union – Find Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Βαρόμετρο ΕΒΕΘ Σεπτέμβριος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού.
Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Κατακερματισμός – Hashing (1 ο Μέρος)
Ανασκόπηση Σχεδιασμού στο CAN Διονύσης Αθανασόπουλος Βασιλική Δεβελέγκα.
A Scalable Content-Addressable Network Μυρτώ Ντέτσικα Παναγιώτα Νικολαΐδου Ελένη Γεώργα Λαμπρινή Κώνστα Βαγγέλης Λάππας Γρηγόρης Τζώρτζης Γιώργος Καρπάθιος.
1 Chord: A scalable Peer to Peer Lookup Service for Internet Applications Νικόλαος Καλλιμάνης Σπυρίδων-Δημήτριος Αγάθος Ευγενία Σταθοπούλου.
Storage management and caching in PAST, a large-scale persistent peer- to-peer storage utility Antony Rowstron – Peter Druschel Κατανεμημένα Συστήματα.
Peer-To-Peer Networks Θέματα Πτυχιακών Αναστάσιος Ιωαννίδης Σαράντης Πασκαλής
Μεταγράφημα παρουσίασης:

Δομημένα Δίκτυα Ομοτίμων -- Κατανεμημένοι Πίνακες Κερματισμού (Distributed Hash Tables) Το Δίκτυο CHORD

Περιεχόμενα Ορισμός του προβλήματος Chord OP-Chord Αναφορές Ομότιμα συστήματα (P2P) Κατηγορίες ομότιμων συστημάτων Chord Στόχος του Chord - Τι είναι το Chord Αναγνωριστικά του Chord - Consistent hashing - Πίνακας δεικτών Εντόπιση δεδομένων Εισαγωγή/διαγραφή κόμβου - Αποτυχία κόμβου Αξιολόγηση OP-Chord Κίνητρο – προσέγγιση – επεμβάσεις στο βασικό Chord Τοποθέτηση δεδομένων – Εντόπιση Παράδειγμα αναζήτησης με διάστημα Συμπεράσματα Αναφορές

Ορισμός του προβλήματος Ομότιμα συστήματα (P2P) : αποτελούνται από ένα σύνολο ετερογενών κόμβων που αποφασίζουν να συνεργαστούν μεταξύ τους συγκεντρώνοντας όλους τους διαθέσιμους πόρους τους για το κοινό καλό, διατηρώντας την αυτονομία τους. Βασικό ερώτημα: Πώς μπορούμε να εντοπίσουμε δεδομένα σε ένα P2P σύστημα; (Lookup) Έχει την απάντηση P2P N1 N2 N3 N5 N4 (κλειδί, τιμή) Θέτει το ερώτημα Lookup(κλειδί) Lookup(“Fire Arcade:No cars go”)

Συγκεντρωτικά P2P συστήματα Χρήση κεντρικών εξυπηρετητών (πχ Napster) Έχει την απάντηση N2 N3 N1 (κλειδί, τιμή) P2P ΚΕ N5 Θέτει το ερώτημα N4 Lookup(κλειδί) Ένα σημείο αποτυχίας και σημείο συμφόρησης

Πλήρες κατανεμημένα P2P Αποστολή ερωτήματος σε όλους τους γείτονες (πχ Gnutella) Έχει την απάντηση N2 N3 N1 (κλειδί, τιμή) P2P N5 N4 Θέτει το ερώτημα Lookup(κλειδί) Χειρότερη περίπτωση O(N) μηνύματα για κάθε lookup

Δομημένα P2P Χρήση πινάκων δρομολόγησης (πχ Tapestry, Pastry, CAN, Chord, κλπ) Έχει την απάντηση N2 N3 N1 (κλειδί, τιμή) P2P N5 Θέτει το ερώτημα N4 Lookup(κλειδί)

Δομημένα P2P - DHTs DHTs – Distributed Hash Tables Χρησιμοποιούν μια hash συνάρτηση, hash() που αντιστοιχεί σε κάθε κλειδί (μονάδα δεδομένων) έναν κόμβο (το ID του). P2P N1 N2 N3 N5 N4 Key node “All good things come to an end; Nelly Furtado” N1 “The hardest part; Coldplay” N2 …

Στόχος του Chord Μικρός αριθμός μηνυμάτων/βημάτων (hops) Η σχεδίαση ενός κατανεμημένου συστήματος για το διαμοιρασμό πληροφοριών, και Η εύρεση ενός πρωτοκόλλου που θα λύνει το πρόβλημα του εντοπισμού αποδοτικά: Μικρός αριθμός μηνυμάτων/βημάτων (hops) Μικρό μέγεθος για τον πίνακα δρομολόγησης Εύρωστος (robust) σε όλες τις δυναμικές αλλαγές (πχ εισαγωγή / διαγραφή κόμβου κλπ) Τί σημαίνει «μικρός»; Οδηγεί στην κλιμακωσιμότητα

Τι είναι το Chord To Chord σύστημα ενπεριέχει μια κατανεμημένη υπηρεσία εντοπισμού δεδομένων που επιτρέπει την εισαγωγή, τον εντοπισμό και τη διαγραφή τιμών χρησιμοποιώντας ως χειριστές κλειδιά. Το Chord πρωτόκολλο υποστηρίζει μία βασική πράξη : δοθέντος ενός κλειδιού, εντοπίζει την ταυτότητα του κόμβου που το περιέχει (αν το κλειδί υπάρχει στο δίκτυο). Το Chord σύστημα επίσης υποστηρίζει τη δημιουργία και (αυτο)συντήρηση ενός δικτύου. Παρέχει τις εξής κύριες λειτουργίες : 1. insert(key, value) 2. lookup(key) 3. update(key, value) 4. join(n) 5. leave()

Consistent Hashing και Chord (IDs) m-bit αναγνωριστικό και για τα κλειδιά και για τους κόμβους Το m πρέπει να είναι αρκετά μεγάλο έτσι ώστε να αποφεύγονται «συγκρούσεις». Αναγνωριστικό κλειδιού (key): keyID = SHA-1(key) Αναγνωριστικό κόμβου: nodeID = SHA-1(IP address) Key = “DepecheMode:Precious” keyID=20 , πχ (m=6) SHA-1 IP = 150.140.143.1 nodeID=62 SHA-1

Consistent Hashing και Chord (IDs) Τα αναγνωριστικά των κλειδιών και των κόμβων είναι οργανωμένα σε ένα κύκλο, από 0 μέχρι 2m-1. Αυτό ορίζει τον αναγνωριστικό κύκλο (ID-circle, ή ID-space ή namespace). Τα αναγνωριστικά των κλειδιών και των κόμβων είναι ομοιόμορφα κατανεμημένα – (βλέπε hash()). Πώς γίνεται η αντιστοίχιση των keyIDs στα nodeIDs;

Consistent Hashing Τρόπος αποθήκευσης: κάθε κλειδί αποθηκεύεται στον πρώτο κόμβο που το αναγνωριστικό του είναι ίσο ή αμέσως μεγαλύτερο από το αναγνωριστικό του κλειδιού. succ(): {0, 1, .. 2m-1}  {0, 1, .. 2m-1}. Εισαγωγή του κόμβου n στο δίκτυο  ότι τα κατάλληλα κλειδιά μεταφέρονται από τον κόμβο succ(n) στον κόμβο n. Διαγραφή του κόμβου n στο δίκτυο  ότι τα κατάλληλα κλειδιά μεταφέρονται από τον κόμβο n στον κόμβο succ(n).

Παράδειγμα αποθήκευσης ΚΛΕΙΔΙΑ ΚΟΜΒΟΙ κλειδιά keyIDs IP διευθύνσεις nodeIDs 8 “ShakeIt” 20 150.148.140.23 1 1 3 “Memories” 50 198.132.112.1 9 “Eden” 16 150.148.140.2 28 “Monkey” 8 50 150.148.140.33 40 “Money” 3 198.132.112.22 54 “Yesterday” 30 142.112.140.12 60 succ(20) = N28 SHA-1(“ShakeIt”) = 20 SHA-1(150.148.140.23) = 0 30 20 m=6 ID space 2m=64 16

Πίνακας δεικτών Κάθε κόμβος n ξέρει τον διάδοχό του, succ(n) Lookup(): …Απαιτεί Ο(Ν) χρόνο Κάθε κόμβος διατηρεί πληροφορίες δρομολόγησης για m κόμβους σε ένα πίνακα δεικτών (finger table): Κάθε καταχώρηση i περιέχει το αναγνωριστικό του πρώτου κόμβου s που διαδέχεται τον n σε απόσταση τουλάχιστον 2i-1 πάνω στον αναγνωριστικό κύκλο (mod 2m), για 1  i  m, Ένα δείκτη στον προηγούμενο κόμβο

Παράδειγμα Πίνακα δεικτών N36 δείκτ διάστημα 1 40 [37,38) 2 [38,40) 3 [40,44) 4 44 [44,52) 5 54 [52,4) 6 [4,36) finger(5) N=16 #Data tuples= 32 Like Chord’s find_successor(): if key fall between n and succ(n), n returns its succ() Otherwise, n searches in its finger table for node n’ whose ID most immediately precedes key, and invokes find_successor at n’ finger(4) Ο δείκτης i δείχνει στον διάδοχο (succ) του n + 2i-1 finger(3)

Παράδειγμα Lookup look for key keyID=hash(“thisisthelife”) = 20 N4 δ 1 6 2 3 9 4 14 5 22 36 Παράδειγμα Lookup N14 δ 1 16 2 3 22 4 5 33 6 51 look for key keyID=hash(“thisisthelife”) = 20 N=16 #Data tuples= 32 Like Chord’s find_successor(): if key fall between n and succ(n), n returns its succ() Otherwise, n searches in its finger table for node n’ whose ID most immediately precedes key, and invokes find_successor at n’ N16 δ 1 22 2 3 4 28 5 33 6 51 N36 δεικ διαστ 1 40 [37,38) 2 [38,40) 3 [40,44) 4 44 [44,52) 5 54 [52,4) 6 [4,36) find node with key =“This Is the life”

Απόδοση lookup() Θεώρημα: Με μεγάλη πιθανότητα, ο αριθμός των κόμβων που πρέπει να προσπελαστούν -- κατά τη διάρκεια ενός lookup() -- είναι O(log2 N) σε ένα δίκτυο Ν κόμβων. Διαίσθηση: Η μεγαλύτερη απόσταση μεταξύ 2 κόμβων είναι 2m ( όπου m ο αριθμός των bits στα αναγνωρίσματα ). Σε κάθε βήμα ο αλγόριθμος χρησιμοποιεί τους πίνακες δρομολόγησης έτσι ώστε η απόσταση που πρέπει να διανυθεί να υπο-διπλασιάζεται ...  m = O(log N) βήματα/hops.

Εισαγωγή/Διαγραφή νέου κόμβου (περίληψη) Προϋποθέσεις: Ο διάδοχος κάθε κόμβου να διατηρείται σωστά Κάθε κλειδί να είναι αποθηκευμένο στον κόμβο-διάδοχό του (επιθυμητό) ο πίνακας δεικτών να είναι σωστός Λειτουργίες εισαγωγής κόμβου n: Στον νέο κόμβο γίνεται αρχικοποίηση του δείκτη στον κόμβο που προηγείται του n και αρχ/ση του πίνακα δεικτών του n (με ερώτημα στον κόμβο που τυχαία συνδέθηκε) Ενημέρωση των δεικτών και των κόμβων που προηγούνται όλων των ενεργών κόμβων για να απεικονιστεί η αλλαγή Ο κόμβος n θα γίνει ο ith δείκτης ενός κόμβου p αν ο p προηγείται του n κατά τουλάχιστον 2i-1 και ο ith δείκτης του κόμβου p διαδέχεται τον n Αντιγραφή όλων των κλειδιών των οποίων ο νέος κόμβος είναι ο διάδοχός τους.

Αποτυχία κόμβου Μπορεί να προκαλέσει λανθασμένη εντόπιση δεδομένων Λίστα διαδόχων Κάθε κόμβος γνωρίζει r άμεσους διαδόχους Μετά από μια αποτυχία, θα ξέρει τον πρώτο ζωντανό διάδοχο με μεγάλη πιθανότητα...

Αξιολόγηση Κόστος εντόπισης (lookup): Μέσο όρο: O(logN) μηνύματα Χειρότερη περίπτωση: O(N) μηνύματα. Πότε συμβαίνει η χειρότερη περίπτωσή; Κόστος εισαγωγής/ διαγραφής κόμβου: O(log2N) μηνύματα

OP-Chord (Order-Preserving Chord) Το κίνητρο Υποστήριξη μιας ολοκληρωμένης λύσης για την επεξεργασία πολύπλοκων ερωτημάτων Η προσέγγιση Τα δεδομένα είναι οργανωμένα σε σχέσεις (relations): κάθε μονάδα πληροφορίας είναι μια εγγραφή/πλειάδα (tuple) με έναν αριθμό από γνωρίσματα (attributes) Το Chord είναι η βασική αρχιτεκτονική Χρησιμοποιείται Order-Preserving Hashing για τα δεδομένα (αντί για SHA-1)

Επεμβάσεις στο Chord Αντί για SHA-1 για αντιστοίχιση εγγραφών στον αναγνωριστικό χώρο, χρησιμοποιούμε μια συνάρτηση διατήρησης διάταξης (order-preserving hash function / OPH) Υπόθεση: DAi = <lowi, highi> για ένα γνώρισμα Ai και 2m > |DAi|. Χωρίζουμε τον αναγνωριστικό χώρο σε 2m / si διαστήματα, ίσου μεγέθους si, έτσι ώστε:   Ορισμός: για κάθε τιμή ai  DAi, ορίζουμε, Αλγόριθμοι Εισαγωγή/Διαγραφή κόμβου (όπως Chord), Εισαγωγή/Διαγραφή δεδομένων

Παράδειγμα attribute value is 10 h(10) = 10 * 2 = 20 succ(20) = N28 INPUT Παράδειγμα 1 10 1 10 3 29 2 25 2 25 6 30 3 29 3 29 4 8 4 8 5 3 2 25 5 3 5 3 6 30 6 30 attribute value is 10 h(10) = 10 * 2 = 20 succ(20) = N28 1 10 ID space 2m=64; DA= {1,2, ..,31} size s=2m/|DA|=2 h(a) = a * 2 DA= {0,2, ..,31} 1 10 4 8

Range example h(10) = 10 * 2 = 20  lookup(20) 31 Range example 1 1 2 1 30 29 3 4 4 23 23 25 5 6 6 h(10) = 10 * 2 = 20  lookup(20) h(20) = 20 * 2 = 40  lookup(40) N=16 #Data tuples= 32 Like Chord’s find_successor(): if key fall between n and succ(n), n returns its succ() Otherwise, n searches in its finger table for node n’ whose ID most immediately precedes key, and invokes find_successor at n’ 8 8 22 21 10 10 11 11 10 10 10 10 20 20 βρες εγγραφές με τιμές [10, 20] 13 13 14 14 13 13 18 18 16 16

Συμπεράσματα Προσφορά του OP-CHORD Θέματα: Προσφέρει πολύ καλύτερη λύση από το Chord στην επεξεργασία των ερωτημάτων –διαστημάτων (range queries) Θέματα: Αποφυγή σημείων «υπερθέρμανσης» hotspots τόσο από πλευράς δεδομένων όσο και από πλευράς προσπέλασης Εξισορρόπηση του φόρτου εργασίας των κόμβων (load balancing) Τεχνικές βελτιστοποίησης επεξεργασίας ερωτημάτων Τεχνικές επεξεργασίας πολύπλοκων ερωτημάτων (join, aggregation, κλπ)

Αναφορές Stoica, I., Morris, R., Karger, D., Kaashoek, and K. F., Balakrishnan, H. Chord: A scalable peer-to-peer lookup service for internet applications. In Proceedings of the 2001 SIGCOMM (2001), ACM Press, 149-160. Chord prototype, http://www.pdocs.lcs.mit.edu/chord/ FIPS180-1. Secure hash Standard. U.S. Department of Commerce/NIST, National Technical Information Service, Springield, VA (1995) Karger D, Lehman E, Leighton F, Levine M, Lewin D, and Panigrahy R. Consistent hashing and random trees: Distributed caching protocols for relieving hot spots on the World Wide Web. In Proc of the 29th Annual ACM Symposium on Theory of Computing (El Paso, TX, May 1997), pp654-663. Triantafillou, P., and Pitoura, T., “Towards a unifying framework for complex query processing over structured peer-to-peer data networks”, In Proceedings of the 2003 DBISP2P workshop. http://netcins.ceid.upatras.gr/

Additional Slides

Example