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

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

Συστήματα Διαδικτύου To Δίκτυο Pastry A. Rowstron and P. Druschel

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


Παρουσίαση με θέμα: "Συστήματα Διαδικτύου To Δίκτυο Pastry A. Rowstron and P. Druschel"— Μεταγράφημα παρουσίασης:

1 Συστήματα Διαδικτύου To Δίκτυο Pastry A. Rowstron and P. Druschel
Συστήματα Διαδικτύου To Δίκτυο Pastry A. Rowstron and P. Druschel. "Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems". IFIP/ACM Middleware Conference, Nov 2001 pp   6/4/2017

2 Plaxton & Rajaraman: Plaxton Mesh
Πρόκειται για διαχείριση (αποθήκευση/εντοπισμό) αντικειμένων σε κατανεμημένο περιβάλλον που βασίζεται σε κατανεμημένους πίνακες κατακερματισμού (DHTs). Δημιουργία ενός εικονικού δέντρου που έχει ένα προς ένα αντιστοιχία με το δίκτυο. Η δρομολόγηση των μηνυμάτων βασίζεται στο πρόθεμα (prefix) των ετικετών/αναγνωριστικών (ids) τους 6/4/2017

3 Προβλήματα Αυτή η δομή απαιτεί στατικό δίκτυο για να μην χάνεται η συνεκτικότητα του δέντρου. Κάτι τέτοιο σε δίκτυα ομοτίμων δεν επιτρέπεται. Συνεχής άφιξη/αναχώρηση κόμβων Παρουσία σφαλμάτων (κόμβοι ή συνδέσεις καταρρέουν) Εάν ένας κόμβος πάψει να υπάρχει (failure) τότε είναι δυνατόν να δημιουργηθεί μία τομή στο δίκτυο και να μην υπάρχει επικοινωνία/προσπέλαση περιεχομένου. 6/4/2017

4 Το Pastry DHT Βασίζεται στη κατανεμημένη δομή των Plaxton et al. (με δρομολόγηση βασιζόμενη στο πρόθεμα των ετικετών των αντικειμένων) Υποστηρίζει μηχανισμούς οργάνωσης του δικτύου υπό την παρουσία σφαλμάτων (self-organization). Εγγυάται κλιμακώσιμη απόδοση με την αύξηση του αριθμού των κόμβων N (scalability). Γενικά: για ένα δίκτυο με Ν κόμβους: o εντοπισμός/εισαγωγή αντικειμένων απαιτεί O(log N) βήματα δρομολόγησης μέγεθος του πίνακα δρομολόγησης σε κάθε κόμβο O(log N) 6/4/2017

5 Pastry Ετικέτες (nodeIds)
Οι ετικέτες (κόμβων και αντικειμένων) έχουν m ψηφία. Το κάθε ψηφίο παίρνει τιμή από [0 ,(2^b)-1]. Τυπική τιμή για το b είναι 4. Η κάθε ετικέτα έχει λοιπόν log2^b (N) ψηφία. Η ετικέτα είναι συνήθως η (ψευδοτυχαία) έξοδος μιας κατάλληλης συνάρτησης κατακερματισμού (π.χ. SHA-1) που δέχεται ως είσοδο κάποιο χαρακτηριστικό (π.χ. IP κόμβου, δημόσιο κλειδί, κλπ). 6/4/2017

6 Κατανομή αντικειμένων
Μπορεί να χρησιμοποιείται Consistent Hashing Address space με εύρος [0,2128-1] Δημιουργία των nodeIds και objIds με χρήση συνάρτησης κατακερματισμού (π.χ. SHA-1) Ο κόμβος με nodeId πιο κοντά (αριθμητικά) στο objId αναλαμβάνει να φιλοξενήσει το αντικείμενο 2128-1 O objId nodeIds 6/4/2017

7 Εισαγωγή/Εντοπισμός Αντικειμένων: Βασική Ιδέα
Αντικείμενο με objId προωθείται στο κόμβο με nodeId αριθμητικά κοντά στο objId Χρήση κατανεμημένων πινάκων δρομολόγησης. O(log N) μέγεθος πίνακα O(log N) βήματα δρομολόγησης Η βάση του λογαρίθμου είναι 2β όπου β=4, συνήθως. 2128-1 O nodeId objId Each node has a randomly assigned 128-bit nodeId, circular namespace Basic operation: A message with key X, sent by any Pastry node, is delivered to the live node with nodeId closest to X in at most log16 N steps (barring node failures). Pastry uses a form of generalized hypercube routing, where the routing tables are initialized and updated dynamically. Route(objId) 6/4/2017

8 Pastry Routing: Βασικές Δομές
Η κατανεμημένη δρομολόγηση γίνεται με την βοήθεια του Πίνακα Δρομολόγησης (Routing Table) σε κάθε κόμβο Είναι απαραίτητες οι επιπλέον παρακάτω δομές: Leaf set για αποδοτική δρομολόγηση και εντοπισμό/αντιμετώπιση σφαλμάτων Neighborhood set για τη διατήρηση της συνδεσιμότητας του δικτύου και για άλλες βελτιστοποιήσεις (δε χρησιμοποιείται πια)... 6/4/2017

9 Πίνακας Δρομολόγησης (ΠΔ)
Ο ΠΔ σε κάθε κόμβο έχει log2^b (N) γραμμές και 2b-1 στήλες. Δηλ. αποθηκεύει log2^b (N) * (2b-1) nodeIds. Στην γραμμή i υπάρχουν κόμβοι των οποίων το nodeId: έχει τα i πρώτα ψηφία ίδια με αυτά της ετικέτας του τρέχοντα κόμβου και το i+1 ψηφίο έχει μία από τις 2b-1 δυνατές τιμές Όταν το i+1 ψηφίο = Χ, τότε το nodeId εμφανίζεται στη στήλη Χ της γραμμής i. Για κάθε nodeId στον ΠΔ αποθηκεύεται η διεύθυνση IP που αντιστοιχεί στο nodeId. 6/4/2017

10 Πίνακας Δρομολόγησης: Παράδειγμα
Στον κόμβο 65a1fcx: Η γραμμή 0 χρησιμοποιείται όταν ο ζητούμενος κόμβος (προορισμός) δεν αρχίζει από «6». Δηλαδή δεν υπάρχει κοινό πρόθεμα. Η 1η γραμμή χρησιμοποιείται όταν ο κόμβος προορισμός έχει κοινό πρόθεμα (με τον τρέχοντα κόμβο) μεγέθους 1 (δηλαδή είναι 6xxxxxx. Η ι-οστή γραμμή χρησιμοποιείται όταν ο κόμβος προορισμός έχει κοινό πρόθεμα (με τον τρέχοντα κόμβο) μεγέθους ι. Προσέξτε: υπάρχουν πολλοί κόμβοι με ένα συγκεκριμένο κοινό πρόθεμα. Μόνο ένας από αυτούς αποθηκεύεται. Καταβάλλεται προσπάθεια αυτός ο κόμβος να είναι «κοντά» για λόγους βελτιστοποίησης απόδοσης. Ενδέχεται, κάποια θέση του ΠΔ να είναι κενή 6/4/2017

11 Πίνακας Δρομολόγησης: Παράδειγμα
Πίνακας Δρομολόγησης (4 πρώτες σειρές) για τον κόμβο 65a1fcx . b=4  ψηφία με βάση 16. “x” συμβολίζει οποιαδήποτε συμβολοσειρά. x 1 2 3 4 5 7 8 9 a b c d e f 6 X 1 2 3 6/4/2017

12 Πίνακας Δρομολόγησης: Πολυπλοκότητα
Γιατί Ο( log2^b (N) ) ; 2 θεωρήσεις: Σε κάθε βήμα «διορθώνεται» ένα ψηφίο. Συνολικά η κάθε ετικέτα έχει log2^b (N) ψηφία... Σε κάθε βήμα ο χώρος αναζήτησης υποδιαρείται κατά 2^b. Σκεφτείτε πόσοι κόμβοι έχουν το ίδιο πρόθεμα μεγέθους Ι με κάποιον κόμβο. Π.χ. Όταν β=4. Ι=1, Ν/16 Ι=2, Ν/(16^2),... Ν/(16^Ι), ... 6/4/2017

13 Leaf Set Τυπικές τιμές για το μέγεθος του Leaf Set είναι L=16.
Περιέχει εγγραφές των |L| / 2 κόμβων αριθμητικά πιο κοντά στον κόμβο, με μεγαλύτερα nodeIds, (δηλαδή ακολουθούν στον κύκλο των ετικετών) και των |L|/2 κόμβων αριθμητικά πιο κοντά, με μικρότερα nodeIds (δηλαδή προηγούνται στον κύκλο των ετικετών) . Χρησιμοποιείται για: Αποδοτική δρομολόγηση To Pastry εγγυάται την παράδοση μηνυμάτων εκτός και αν καταρρεύσουν |L|/2 κόμβοι ταυτόχρονα Εντοπισμό σφαλμάτων (keep-alive) 6/4/2017

14 Pastry Routing: Αλγόριθμος
d471f1 d467c4 d462ba d46a1c if (destination D is in the leaf set of A) forward to numerically closest member else let l = length of shared prefix let d = value of l-th digit in D if ( R(l,d) exists ) forward to R(l,d) forward to a known node that a. shares at least as long a prefix b. is numerically closer to D than this node d4213f Each node has a randomly assigned 128-bit nodeId, circular namespace Basic operation: A message with key X, sent by any Pastry node, is delivered to the live node with nodeId closest to X in at most log16 N steps (barring node failures). Pastry uses a form of generalized hypercube routing, where the routing tables are initialized and updated dynamically. Route(d46a1c) d13da3 65a1fc 6/4/2017

15 Neighborhood set Περιέχει τους κόμβους που είναι πιό «κοντά», σύμφωνα με μία μετρική εγγύτητας (π.χ. χρόνος επικοινωνίας, latency, απόσταση εκφρασμένη σε αριθμό μηνυμάτων, hops). Μέγεθος Neighborhood set: Μ = 2 x 2b (b=4) ή 2b Χρησιμοποιείται επίσης για την εξασφάλιση της ορθότητας των περιεχομένων του πίνακα και για την διατήρηση του δικτύου υπό την παρουσία σφαλμάτων. 6/4/2017

16 Pastry: Αυτοοργάνωση (Self-organization)
Αρχικοποίηση και συντήρηση του Routing Table και Leaf Set και Neighbour Set όταν: Καταφθάνουν νέοι κόμβοι Αναχωρούν κόμβοι (εθελούσια είτε λόγω βλάβης) Απαιτείται η αποστολή O(log N) μηνυμάτων 6/4/2017

17 Άφιξη νέου κόμβου d471f1 Ζ: d467c4 D: d462ba Χ: d46a1c C: d4213f
Ένας νέος κόμβος, Χ , καταφθάνει με nodeId=d46a1c και γνωρίζει τον κοντινό Α: 65a1fc Δρομολογείται ένα ειδικό (join) μήνυμα με objId=nodeId μέσω του Α Όλοι οι κόμβοι που εμπλέκονται στο μονοπάτι από τον Α μέχρι τον προορισμό Ζ στέλνουν στοιχεία από τους πίνακες τους στον Χ ο A την γραμμή i=0 o B την γραμμή i=1 o C την γραμμή i= Ο Χ γεμίζει με εγγραφές τον πίνακα του ενώ μπορεί να ζητήσει και επιπλέον πληροφορία. Ενημερώνονται όλοι οι κόμβοι που βρίσκονται στο Routing Table Leaf Set Neigbour Set του Χ για την ύπαρξη του Ζ: d467c4 D: d462ba Χ: d46a1c C: d4213f Route(d46a1c) B: d13da3 Each node has a randomly assigned 128-bit nodeId, circular namespace Basic operation: A message with key X, sent by any Pastry node, is delivered to the live node with nodeId closest to X in at most log16 N steps (barring node failures). Pastry uses a form of generalized hypercube routing, where the routing tables are initialized and updated dynamically. A: 65a1fc Νέος κόμβος Χ: d46a1c Neigbour Set Επειδή ο Α είναι κοντά στον Χ χρησιμοποιείται το Neighbour Set του Α για το χτίσιμο του Χ Leaf Set Επειδή ο Ζ είναι αριθμητικά πιο κοντά στον Χ, χρησιμοποιείται το Leaf Set του Ζ, για το κτίσιμο του Χ 6/4/2017

18 Αναχώρηση κόμβου (failure)
Ο εντοπισμός σφαλμάτων γίνεται με την αποστολή R-U-alive μηνυμάτων στους κόμβους. Διόρθωση του Leaf set: ζητείται το leaf set του πιο μακρινού (αριθμητικά) κόμβου στο LF Διόρθωση του Neigbour Set περιοδικά επιχειρείται επικοινωνία με τους κόμβους στο Neigbour Set Αν κάποιος κόμβος δεν απαντάει ζητούνται εγγραφές από άλλα μέλη του Neigbour Set Διόρθωση του Routing Table: R(i,j) ζητείται η συγκεκριμένη εγγραφή (j) από το routing table των κόμβων στην ίδια γραμμή (i) Αν δε βρεθεί αντικαταστάτης, στη συνέχεια ζητείται η εγγραφή από κόμβους (nodeIds) σε μεγαλύτερες γραμμές του ΠΔ. 6/4/2017

19 Τοπικότητα Η τοπικότητα στο Pastry επιτυγχάνεται με τη χρήση μετρικών όπως ping delays, IP hops κ.α. κατά την δημιουργία/διατήρηση του routing table Τοπικότητα στο Routing Table: Αφού ένας κόμβος αρχικοποιήσει τον πίνακα του, ζητά από τους γείτονες του τους πίνακες τους και συγκρίνει τις αποστάσεις. Ενημερώνει ανάλογα τον δικό του πίνακα. Τοπικότητα κατά την δρομολόγηση: Εφόσον οι κόμβοι στον πίνακα έχουν μπεί με βάση το κριτήριο της ελάχιστης απόστασης, σε κάθε βήμα ένα μήνυμα μεταβιβάζεται στον «κοντινότερο» γείτονα. 6/4/2017

20 Παρατηρήσεις-Συμπεράσματα
Pastry: δομημένο δίκτυο ομοτίμων που παρέχει: Επεκτασιμότητα Αντοχή στις βλάβες Οργάνωση δικτύου υπό την παρουσία βλαβών Πολυπλοκότητα εύρεσης αντικειμένων και το μέγεθος του routing table είναι Ο(logN). Πολυπλοκότητα εισόδου κόμβων είναι Ο(logN). Να συγκρίνετε το Pastry με το Chord. 6/4/2017

21 Το Σύστημα Αρχείων PAST
Ένα Σ.Α. πάνω από το Pastry. Οι βασικές ιδέες είναι: Αποθήκευσε το κάθε αρχείο fname στον κόμβο με nodeId = SHA-1(fname). Δρομολόγησε ένα μήνυμα σε αυτόν τον κόμβο, στέλνοντάς του το αρχείο fname. Το αρχείο fname αποθηκεύεται σε Κ αντίγραφα, ένα αντίγραφο σε κάθε έναν από τους Κ κοντινότερους κόμβους του SHA-1(fname). [Δηλαδή, w.h.p. Αυτοί είναι στο LeafSet]. Τα αντίγραφα βοηθούν στον Καταμερισμό φορτίου Βελτιστοποίηση χρόνου απόκρισης, λόγω ‘εντοπιότητας’ . 6/4/2017


Κατέβασμα ppt "Συστήματα Διαδικτύου To Δίκτυο Pastry A. Rowstron and P. Druschel"

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


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