Chord: A scalable Peer-to-Peer Lookup Service for Internet Applications Παρουσίαση: Αθανασόπουλος, Αλεξάκης, Δεβελέγκα, Πεχλιβάνη, Φωτιάδου, Φωτόπουλος.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Ιεραρχίες Κόμβων Δομημένες σε Δακτύλιο για Ρ2Ρ Συστήματα Βασισμένα σε RDF Σχήματα Παρουσίαση Μεταπτυχιακής Διατριβής: Νικόλαος Κρεμμυδάς Επιβλέπουσα καθηγήτρια:
Advertisements

Δομές Δεδομένων και Αλγόριθμοι
Transactions & P2P Systems Διονύσης Αθανασόπουλος Βασίλης Φωτόπουλος.
Διαχείριση Δικτύων Ευφυή Δίκτυα
Στοιχειώδεις Δομές Δεδομένων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Τύποι δεδομένων στη Java • Ακέραιοι.
A Scalable Content- Addressable Network Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker Proceedings of ACM SIGCOMM ’01 Sections.
ΕΙΣΑΓΩΓΗ ΣΤΑ ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΑΣ
Αλγόριθμοι Αναζήτησης
A Peer-to-peer Framework for Caching Range Queries O. D. Sahin A. Gupta D. Agrawal A. El Abbadi Παρουσίαση: Καραγιάννης Τάσος, Κρεμμυδάς Νίκος, Μαργαρίτη.
Peer-to-Peer Τεχνικές Ευρετηρίασης 1 Λέκτορας Τσίχλας Κωνσταντίνος.
Συνάφεια Κρυφής Μνήμης σε Επεκτάσιμα Μηχανήματα. Συστήματα με Κοινή ή Κατανεμημένη Μνήμη  Σύστημα μοιραζόμενης μνήμης  Σύστημα κατανεμημένης μνήμης.
Κατακερματισμός.
Ανακτηση Πληροφοριασ σε νεφη Υπολογιστων
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications ΠΑΡΑΔΕΙΓΜΑΤΑ.
Freenet: A Distributed Anonymous Information Storage and Retrieval System Κοκκίνης Νίκος Κώνστα Λαμπρινή Μπουντουρόπουλος Νίκος Νικολαϊδου Παναγιώτα Παπαγεωργίου.
 Αυδίκου Χριστίνα  Γιουμούκης Παναγιώτης  Κιντσάκης Θάνος  Πάπιστας Γιάννης.
A Scalable Content- Addressable Network Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker Proceedings of ACM SIGCOMM ’01 ΠΑΡΟΥΣΙΑΣΗ:
1/23 DHTStrings: Συστήματα Δημοσιεύσεων/Συνδρομών σε DHT Δίκτυα με Υποστήριξη για Συμβολοσειρές Διανομή Περιεχομένου στο Διαδίκτυο Τμήμα ΜΗΥΠ Παν/μιο Πατρών.
3/9/ Content-based Publish Subscribe Πάνω από Structured P2P Networks Peter Triantafillou and Ioannis Aekaterinidis University of Patras Greece.
Δομημένα Δίκτυα Ομοτίμων -- Κατανεμημένοι Πίνακες Κερματισμού (Distributed Hash Tables) Το Δίκτυο CHORD.
Τεχνικές Κατακερματισμού
Εργασία Η υλοποίηση του αλγορίθμου συγχώνευσης θα πρέπει να χρησιμοποιεί την ιδέα των ροών (streams). Θα πρέπει να υπάρχουν δύο διαφορετικά είδη.
Linear Hashing Τμήμα Πληροφορικής & Τηλ/νών, ΕΚΠΑ Υλοποίηση Συστημάτων Βάσεων Δεδομένων
ΤCP/IP Τι είναι; Σύντομο Ιστορικό
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων. Πίνακας Συμβόλων (Symbol Table) (Ι)  Είναι μια δομή στην οποία αποθηκεύονται τα ονόματα ενός προγράμματος και.
Lab 10: Hash Tables with Chaining 20/11/2009Panayiotis Charalambous.
1 Content Addressable Network Λίλλης Κώστας Καλλιμάνης Νικόλαος Αγάθος Σπυρίδων – Δημήτριος Σταθοπούλου Ευγενία Γεωργούλας Κώστας.
7.7 Πρωτόκολλο ARP Δίκτυα Υπολογιστών ΙΙ.
A Balanced Tree Structure for Peer-to-Peer Networks
1 Χαρακτηριστικά ενός Μ/Μ/1 συστήματος : Αφίξεις κατανεμημένες κατά Poisson Εκθετικά κατανεμημένοι χρόνοι εξυπηρέτησης Οι χρόνοι εξυπηρέτησης είναι αμοιβαία.
Διαχείριση μνήμης Υπόβαθρο Εναλλαγή Συνεχής κατανομή Σελιδοποίηση
Κατανεμημένα Συστήματα με Java Ενότητα #13: Κατανεμημένοι πίνακες κατακερματισμού Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής.
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων Φροντιστήριο - 30/04/2009.
Δομές Δεδομένων. Επιλογή δομής δεδομένων Κριτήρια: – Μέγεθος του προβλήματος – Πως θα χρησιμοποιηθεί Ενέργειες που καθορίζουν το κόστος: – Lookup: αναζήτηση/έλεγχος.
ΕΠΛ 223 Θεωρία και Πρακτική Μεταγλωττιστών7-1 Πίνακας Συμβόλων Πίνακας συμβόλων: δομή δεδομένων που χρησιμοποιείται για την αποθήκευση διαφόρων πληροφοριών.
Chord: A Scalable Peer -to-peer Lookup Service for Internet Applications Authors: Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan.
Ο αλγόριθμος Bellman-Ford (επανεξετάζεται)
Security Considerations for Peer–to–Peer DHTs Θεοδόσιος Αγγελίδης Α.Μ:99 Γεώργιος Λίτσιος Α.Μ:113.
CHORD A Scalable Peer-to-peer Lookup Service for Internet Applications Μαρίνα Δρόσου Νικόλαος Μπουντουρόπουλος Οδυσσέας Πετρόχειλος Παναγιώτης Δομουχτσίδης.
Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Κατακερματισμός – Hashing (1 ο Μέρος)
Ανασκόπηση Σχεδιασμού στο CAN Διονύσης Αθανασόπουλος Βασιλική Δεβελέγκα.
A Scalable Content-Addressable Network Μυρτώ Ντέτσικα Παναγιώτα Νικολαΐδου Ελένη Γεώργα Λαμπρινή Κώνστα Βαγγέλης Λάππας Γρηγόρης Τζώρτζης Γιώργος Καρπάθιος.
1 Chord: A scalable Peer to Peer Lookup Service for Internet Applications Νικόλαος Καλλιμάνης Σπυρίδων-Δημήτριος Αγάθος Ευγενία Σταθοπούλου.
Τεχνολογία TCP/IP TCP/IP internet είναι ένα οποιοδήποτε δίκτυο το οποίο χρησιμοποιεί τα πρωτόκολλα TCP/IP. Διαδίκτυο (Internet) είναι το μεγαλύτερο δίκτυο.
1 ΤΜΗΜΑ ΜΠΕΣ Αλγόριθμοι Αναζήτησης Εργασία 1 Τυφλή Αναζήτηση.
Τι κρατάει το Internet μαζί? 1. Η διευθυνσιοποίηση (addressing): πως δηλ. αναφερόμαστε σε μια μηχανή στο δίκτυο. 2. Η δρομολόγηση (routing): πως να φτάσουμε.
Διαχείριση Δικτύων Ευφυή Δίκτυα Άσκηση 2: Συλλογή πληροφοριών για τη διαμόρφωση και την κατάσταση λειτουργίας του δικτύου. Εργαστήριο Διαχείρισης και Βέλτιστου.
1 Chord - Stabilization Λίλλης Κώστας Γεωργούλας Κώστας.
Storage management and caching in PAST, a large-scale persistent peer- to-peer storage utility Antony Rowstron – Peter Druschel Κατανεμημένα Συστήματα.
Peer-To-Peer Networks Θέματα Πτυχιακών Αναστάσιος Ιωαννίδης Σαράντης Πασκαλής
Peer-To-Peer Networks Αναστάσιος Ιωαννίδης
Συνδετικότητα γραφήματος (graph connectivity). α β Υπάρχει μονοπάτι μεταξύ α και β; Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές.
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πίνακας Συμβόλων Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ 1 Διάλεξη 12: Διάλεξη 12: Καταχωρητές - Μετρητές Δρ Κώστας Χαϊκάλης.
Κεφάλαιο 7 Διαδικτύωση- Internet 7.6 Διευθυνσιοδότηση.
Κινητά και Διάχυτα Συστήματα Ενότητα # 5: Κατανεμημένοι πίνακες κατακερματισμού Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής.
ΕΙΔΙΚΑ ΘΕΜΑΤΑ ΣΕ ΚΙΝΗΤΑ ΚΑΙ ΑΣΥΡΜΑΤΑ ΔΙΚΤΥΑ ΙΩΑΝΝΑ ΚΑΛΛΗ (761) ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΑΡΑΡΤΗΜΑ ΑΓΡΙΝΙΟΥ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΟΛΙΤΙΣΜΙΚΟΥ.
Δυναμικός Κατακερματισμός
ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΕΞΕΛΙΚΤΙΚΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ
Κατανεμημένα Συστήματα
Ειδικά Θέματα σε Κινητά & Ασύρματα Δίκτυα
ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΕΞΕΛΙΚΤΙΚΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ
Κεφάλαιο 7: Διαδικτύωση-Internet
Λύσεις Ασφάλειας στο Επίπεδο Διασύνδεσης
Κεφάλαιο 7: Διαδικτύωση-Internet Μάθημα 7.9: Δρομολόγηση
Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε στοιχείο έχει ένα κλειδί από ολικά διατεταγμένο σύνολο Θέλουμε να υποστηρίξουμε δύο.
Εξωτερική Αναζήτηση Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη
Δυναμικός Κατακερματισμός
ΕΚΦΡΑΣΕΙΣ, ΑΝΑΜΟΝΕΣ (DELAYS), ΗΧΟΙ
Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου
Μεταγράφημα παρουσίασης:

Chord: A scalable Peer-to-Peer Lookup Service for Internet Applications Παρουσίαση: Αθανασόπουλος, Αλεξάκης, Δεβελέγκα, Πεχλιβάνη, Φωτιάδου, Φωτόπουλος Authors: Stoica, Morris, Karger, Kaashoek, Balakrishman SIGCOMM 2001

Εισαγωγή  Τα συστήματα ομότιμων κόμβων (P2P) και οι εφαρμογές τους είναι κατανεμημένα συστήματα που δεν υπόκεινται σε κεντρική διαχείριση ή ιεραρχημένη οργάνωση.  Σε κάθε κόμβο εκτελείται λογισμικό ισοδύναμων λειτουργιών.  Η βασική λειτουργία ενός συστήματος p2p είναι ο αποτελεσματικός (γρήγορος) τρόπος ανάκτησης δεδομένων.

Εισαγωγή  To Chord είναι ένα επεκτάσιμο (scalable), κατανεμημένο πρωτόκολλο για αναζήτηση σε δυναμικά P2P συστήματα με συχνές εισόδους και εξόδους κόμβων  Βασική λειτουργία του Chord: Δοθέντος ενός κλειδιού, το Chord το αντιστοιχεί σε κάποιο κόμβο

The Base Chord Protocol  Το πρωτόκολλο Chord καθορίζει: 1) πώς εντοπίζεται ένα κλειδί 2) πώς ένας νέος κόμβος εισάγεται στο σύστημα 3) πώς ανακάμπτουμε από μία αποτυχία(failure) ή εκούσια αναχώρηση ενός υπάρχοντος κόμβου

Consistent Hashing  To Chord χρησιμοποιεί consistent hashing για την αντιστοίχιση των κλειδιών στους κόμβους.  Χρησιμοποιεί μια συνάρτηση κατακερματισμού (base hash function) όπως η SHA-1 για την αντιστοίχιση κάθε κόμβου και κάθε κλειδιού με ένα m-bit αναγνωριστικό(ID).  node ID = hash(IP address)  key ID = hash(key)  Το μήκος m του αναγνωριστικού πρέπει να είναι αρκετά μεγάλο, έτσι ώστε η πιθανότητα δύο κόμβοι ή δύο κλειδιά να αντιστοιχίσουν στο ίδιο ID να είναι αμελητέα.

Consistent Hashing  Τα αναγνωριστικά (ID’s) ταξινομούνται σε ένα δακτύλιο modulo 2 m.  Το κλειδί k αντιστοιχίζεται στον πρώτο κόμβο που το αναγνωριστικό(ID) του είναι ίσο ή έπεται στον δακτύλιο.  Αυτός ο κόμβος ονομάζεται successor(k).  Αναπαριστώντας τα ID’s σε ένα δακτύλιο με αριθμούς από 0 έως 2 m -1, ο successor(k) είναι ο πρώτος κόμβος που συναντάμε ξεκινώντας από το k και διατρέχοντας σύμφωνα με τους δείκτες του ρολογιού. Successor(2) = 3 Successor(1) = 1 Successor(6) = 0

Simple Key Location  Κάθε κόμβος χρειάζεται να γνωρίζει μόνο τον successor (επόμενο) κόμβο του στο δακτύλιο.  Ερωτήματα για δοθέντα ID’s δρομολογούνται γύρω στον δακτύλιο μέσω των successors δεικτών, μέχρις ότου συναντήσουν τον κόμβο που είναι ο υπεύθυνος για το κάθε ID.  Η λύση αυτή είναι σωστή αλλά αναποτελεσματική, καθώς μπορεί να χρειαστεί να διατρέξουμε όλους τους κόμβους Ν του δακτυλίου για να πάρουμε απάντηση.  Για αυτό το Chord διατηρεί πρόσθετες πληροφορίες δρομολόγησης.

Scalable Key Location  m: αριθμός των bits των αναγνωριστικών (ID’s) κλειδιών/κόμβων.  Finger table: κάθε κόμβος διατηρεί έναν πίνακα δρομολόγησης με το πολύ m εγγραφές.  Η i-στη εγγραφή του πίνακα του κόμβου n περιέχει το ID του πρώτου κόμβου s, ο οποίος έπεται του n κατά τουλάχιστο 2 i-1 στον δακτύλιο, s=successor(n+2 i-1 ), όπου 1 ≤ i ≤ m (πράξεις modulo 2 m).  Μια εγγραφή του finger table περιέχει το Chord ID και την IP address του κόμβου που αφορά.

Scalable Key Location  Κάθε κόμβος αποθηκεύει πληροφορίες για κόμβους που τον ακολουθούν σε κοντινή απόσταση από αυτόν στο δακτύλιο. (για O(logN) κόμβους)  Ο finger table ενός κόμβου γενικά δεν περιλαμβάνει αρκετές πληροφορίες για να προσδιορίσει τον successor ενός τυχαίου κλειδιού.

Scalable Key Location  Όταν ένας κόμβος δεν γνωρίζει τον successor ενός κλειδιού k, βρίσκει τον κόμβο που το ID του είναι πιο κοντά στο k από το δικό του.  Αυτός ο κόμβος θα γνωρίζει περισσότερα για το τμήμα του δακτυλίου που αφορά το k από ότι ο n.  Επαναλαμβάνοντας αυτή την διαδικασία, ο n θα μάθει ποιος κόμβος βρίσκεται πιο κοντά στο k.

Διαδικασία Αναζήτησης Αναζήτηση του successor του k από τον κόμβο n  Εάν το k βρίσκεται μεταξύ του n και του successor του n, τότε ο successor του k είναι ίδιος με τον successor του n.  Αλλιώς η αναζήτηση συνεχίζεται στον μακρινότερο κόμβο του finger table του n, που όμως προηγείται του k. Βήματα αναζήτησης Ο(logN)

Node Joins  Σε ένα δυναμικό δίκτυο οι κόμβοι μπορεί να εισέρχονται και να αναχωρούν οποιαδήποτε στιγμή.  Ο βασικός στόχος είναι να υπάρχει η δυνατότητα να εντοπίσουμε κάθε κλειδί στο δίκτυο οποιαδήποτε στιγμή.  Στο Chord ισχύουν δύο προτάσεις: 1)Κάθε κόμβος γνωρίζει τον successor (επόμενο) του. 2)Για κάθε πληροφορία k, o κόμβος με ID = successor(k) είναι υπεύθυνος για τον k.  Για να γίνονται αυτές οι αναζητήσεις σε χρόνο logm, θα πρέπει επίσης να είναι σωστές οι πληροφορίες σε κάθε finger table.  Για διευκόλυνση κάθε κόμβος του Chord διατηρεί έναν δείκτη predecessor στον αμέσως προηγούμενο κόμβο του.

Node Joins To Chord εκτελεί τρεις διαδικασίες όταν ένας νέος κόμβος n εισάγεται στο δίκτυο: 1.Αρχικοποίηση του finger table του κόμβου n, ανάθεση ως predecessor του n τον predecessor του successor του n, και ανάθεση ως predecessor του successor του n, το ίδιο τον n. 2.Ενημέρωση των finger tables των κόμβων που θα πρέπει να αναφέρονται στον n: Το i-στο finger ενός κόμβου p θα δείχνει στον n αν και μόνο αν:  ο κόμβος p προηγείται του n κατά τουλάχιστο 2 i-1  το i-στο finger του p έδειχνε σε κόμβο που έπεται του n 3.Μεταφορά των δεδομένων για τα οποία θα είναι υπεύθυνος ο νέος κόμβος n από τον προηγούμενο υπεύθυνο.

Node Leaves To Chord εκτελεί τις παρακάτω διαδικασίες όταν ένας κόμβος n εξέρχεται από το δίκτυο: 1.Μεταφορά των δεδομένων για τα οποία ήταν υπεύθυνος ο κόμβος n στον successor του. 2.Ενημέρωση του δείκτη predecessor έτσι ώστε να δείχνει τον predecessor που είχε ο n. 3.Ενημέρωση των finger tables των κόμβων που δείχνουν στον n έτσι ώστε να δείχνουν τον successor του n.