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

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

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

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


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

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

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

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

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

5 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 να είναι αμελητέα.

6 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

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

8 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 του κόμβου που αφορά.

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

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

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

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

13 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 από τον προηγούμενο υπεύθυνο.

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


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

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


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