1 Chord - Stabilization Λίλλης Κώστας Γεωργούλας Κώστας.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Η ζωή μου: Ερευνώ-ανακαλύπτω τον κόσμο. Σχεδιάζω το μέλλον μου.
Advertisements

Indexing.
Ιεραρχίες Κόμβων Δομημένες σε Δακτύλιο για Ρ2Ρ Συστήματα Βασισμένα σε RDF Σχήματα Παρουσίαση Μεταπτυχιακής Διατριβής: Νικόλαος Κρεμμυδάς Επιβλέπουσα καθηγήτρια:
Δομές Δεδομένων και Αλγόριθμοι
Εισαγωγή στους πίνακες περιεχομένων (ΠΠ) και στη συνέχεια πατήστε το πλήκτρο F5 ή κάντε κλικ στις επιλογές Προβολή παρουσίασης > Από την αρχή για να ξεκινήσει.
Βρείτε χρόνο για να διαβάσετε αυτό το μήνυμα.
Η Πράξη συγχρηματοδοτείται από το Ευρωπαϊκό Ταμείο Ενσωμάτωσης Τρίτων Χωρών Δήμητρα Καμπέλη Ηράκλειο, Σεπτέμβριος 2012.
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 Παρουσίαση: Καραγιάννης Τάσος, Κρεμμυδάς Νίκος, Μαργαρίτη.
Μεταγωγή και Πολυπλεξία
Peer-to-Peer Τεχνικές Ευρετηρίασης 1 Λέκτορας Τσίχλας Κωνσταντίνος.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications ΠΑΡΑΔΕΙΓΜΑΤΑ.
Βρείτε χρόνο για να διαβάσετε αυτό το μήνυμα.
Γραφήματα & Επίπεδα Γραφήματα
Copyright ©: SAMSUNG & Samsung Hope for Youth. Με επιφύλαξη κάθε νόμιμου δικαιώματος Εκπαιδευτικό υλικό Το Internet: Εύρεση πληροφοριών Επίπεδο.
Παράδειγμα Αναζήτησης σε Δίκτυο Chord
1 Content Addressable Network Λίλλης Κώστας Καλλιμάνης Νικόλαος Αγάθος Σπυρίδων – Δημήτριος Σταθοπούλου Ευγενία Γεωργούλας Κώστας.
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 Έλεγχος ροής και συμφόρησης (flow and congestion control) flow control Ο όρος έλεγχος ροής (flow control) χρησιμοποιείται συχνά για να περιγράψει τους.
Κατανεμημένα Συστήματα με Java Ενότητα #13: Κατανεμημένοι πίνακες κατακερματισμού Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής.
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
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 (επανεξετάζεται)
Αναζήτηση – Δέντρα (2 ο Μέρος) Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων)
Security Considerations for Peer–to–Peer DHTs Θεοδόσιος Αγγελίδης Α.Μ:99 Γεώργιος Λίτσιος Α.Μ:113.
CHORD A Scalable Peer-to-peer Lookup Service for Internet Applications Μαρίνα Δρόσου Νικόλαος Μπουντουρόπουλος Οδυσσέας Πετρόχειλος Παναγιώτης Δομουχτσίδης.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 15 Απριλίου 2015Τετάρτη, 15 Απριλίου 2015Τετάρτη, 15 Απριλίου 2015Τετάρτη, 15 Απριλίου 2015Τμ.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων.
A Scalable Content-Addressable Network Μυρτώ Ντέτσικα Παναγιώτα Νικολαΐδου Ελένη Γεώργα Λαμπρινή Κώνστα Βαγγέλης Λάππας Γρηγόρης Τζώρτζης Γιώργος Καρπάθιος.
Η ζωή μου: Ερευνώ-ανακαλύπτω τον κόσμο. Σχεδιάζω το μέλλον μου.
1 Chord: A scalable Peer to Peer Lookup Service for Internet Applications Νικόλαος Καλλιμάνης Σπυρίδων-Δημήτριος Αγάθος Ευγενία Σταθοπούλου.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος Dijkstra για εύρεση βραχυτέρων μονοπατιών.
1 ΤΜΗΜΑ ΜΠΕΣ Αλγόριθμοι Αναζήτησης Εργασία 1 Τυφλή Αναζήτηση.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
ΑΣΦΑΛΗΣ ΧΡΗΣΗ ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ
2ο Γυμνάσιο Αριδαίας Α’ Γυμνασίου
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Συναρτήσεις (μέρος δεύτερο) και Μεταβλητές.
ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΑΡΆΡΤΗΜΑ ΛΕΥΚΑΔΑΣ ΥΠΕΥΘΥΝΗ ΚΑΘΗΓΉΤΡΙΑ Δρ. ΤΣΙΝΤΖΑ ΠΑΝΑΓΙΩΤΑ Οι παρουσιάσεις του μαθήματος βασίζονται στο.
ΦΙΛΊΑ Τα χαρακτηριστικά του καλού φίλου ◦ Τα χαρακτηριστικά ενός καλού φίλου μπορεί να είναι χρήσιμα πάντα, ακόμα και στις πιο δύσκολες στιγμές που θα.
Κινητά και Διάχυτα Συστήματα Ενότητα # 5: Κατανεμημένοι πίνακες κατακερματισμού Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής.
Ευρετήρια Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Δυναμικός Κατακερματισμός
ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΕΞΕΛΙΚΤΙΚΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ
Πληροφορημένη Αναζήτηση και Εξερεύνηση
Έτσι είναι ένα νευρικό κύτταρο
Κατανεμημένα Συστήματα
Ειδικά Θέματα σε Κινητά & Ασύρματα Δίκτυα
Ποιοί είναι οι δικαστικοί σχηματισμοί του Δικαστηρίου;
ΑΣΦΑΛΗΣ ΧΡΗΣΗ ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ
ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΕΞΕΛΙΚΤΙΚΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ
Παρουσίαση Αριθμητικών Χαρακτηριστικών 1) Διακριτών
χωρίς δίκτυο ? δύσκολη ανταλλαγή αρχείων
ΟΙΚΟΝΟΜΙΚΗ ΔΙΑΧΕΙΡΙΣΗ ΈΡΓΩΝ
ΔΙΔΑΣΚΑΛΙΑ ΤΗΣ ΑΝΑΓΝΩΣΗΣ
Πως φτιάχνουμε γραφική παράσταση
Savoir Vivre Το Savoir Vivre (σαβουάρ βιβρ) είναι εγχειρίδιο σύμφωνα με το οποίο ο αναγνώστης μαθαίνει να εφαρμόζει στο σύνολο της ζωής του, κανόνες καλής.
ΤΟ ΠΕΙΡΑΜΑ ΤΟΥ ΕΡΑΤΟΣΘΕΝΗ
Κατανεμημένα Συστήματα: Θεωρία και Προγραμματισμός
Στατιστικές Υποθέσεις
14η Διάλεξη Δέντρα Δυαδικής Αναζήτησης Ε. Μαρκάκης
KOYIZ ΓΝΩΣΕΩΝ Από τους μαθητές του Ε2.
H “Βοήθεια” στον Η/Υ 10/11/2018 Β' ΤΑΞΗ ΒΟΗΘΕΙΑ.
(2,4) Trees 11/15/2018 8:56 PM (2,4) Δέντρα (2,4) Δέντρα.
Αστεροειδής ή Ακτινωτός δίσκος Στενοπική σχισμή
Παρακαλούμε μην κάνετε ΚΛΙΚ, εκτός αν σας ζητηθεί.
Δυναμικός Κατακερματισμός
Κατανεμημένα Συστήματα
Μεταγράφημα παρουσίασης:

1 Chord - Stabilization Λίλλης Κώστας Γεωργούλας Κώστας

2 Γενικά To Chord θα πρέπει να μπορεί να διαχειρίζεται ταυτόχρονα joins κόμβων. Αυτό είναι δύσκολο να γίνει με την «αρχική» διαδικασία join. Stabilization.

3 Stabilization Διατηρεί ενημερωμένους τους δείκτες successor και predecessor κάθε κόμβου. Χρησιμοποιούνται  Για να γίνονται σωστά οι αναζητήσεις.  Για ενημέρωση των finger tables

4 Stabilization Αν ταυτόχρονα joins έχουν επηρεάσει κάποια περιοχή του Chord και δεν έχει τελειώσει το stabilization:  Τα finger tables είναι σωστά άρα η αναζήτηση γίνεται σωστά σε O(logN).  Οι successor δείκτες είναι σωστοί αλλά τα finger tables όχι οπότε η αναζήτηση είναι σωστή αλλά αργή.  Δεν είναι σωστοί ούτε οι δείκτες ούτε τα finger tables ή δεν έχουν μεταφερθεί τα κλειδιά οπότε η αναζήτηση αποτυγχάνει.

5 Join Όταν ένας νέος κόμβος n θέλει να μπει στο Chord καλεί την n.join(n’) όπου n’ ένας γνωστός κόμβος. Με αυτόν τον τρόπο ο n μαθαίνει το successor του. n.join(n’) predecessor = nil; successor = n’.find_succesor(n );

6 Stabilization Κάθε κόμβος καλεί περιοδικά τη stabilize.  Ελέγχει αν πρέπει να αλλάξει ο successor του κόμβου.  Ενημερώνει το νέο successor για την ύπαρξη του με την κλήση της notify. n.stabilize() x = successor.predecessor; if(x  (n, successor)) successor = x; successor.notify(n); n.notify(n’) if (predecessor is nil or n’  (predecessor, n)) predecessor = n’;

7 Παράδειγμα - n.join npnp nsns n p.successor = n s n s.predecessor = n p n n.predecessor = nil n.successor = n s

8 Παράδειγμα – n.stabilize npnp nsns n p.successor = n s n s.predecessor = n p n n.predecessor = nil n.successor = n s n s.predecessor = n n s.notify(n)

9 Παράδειγμα - n p.stabilize npnp nsns n p.successor = n s n s.predecessor = n n n.predecessor = nil n.successor = n s n p.stabilize() n p.successor = n

10 Παράδειγμα - n p.stabilize npnp nsns n p.successor = n n s.predecessor = n n n.predecessor = nil n.successor = n s n.notify(n p ) n.predecessor = n p n.successor = n s

11 Fix fingers Τα finger tables των νέων κόμβών δεν ενημερώνονται άμεσα με την εισαγωγή τους (αναζήτηση και find_predecessor είναι αργή). Για αυτό κάθε κόμβος περιοδικά καλεί την fix_fingers. n.fix_fingers() i = random_index > 1 into finger[]; finger[i].node = find_successor(finger[i].start);

12 Stabilization Τα προβλήματα που δημιουργούνται από τα ταυτόχρονα join είναι προσωρινά: Αν ένας κόμβος μπορεί να απαντήσει σε ένα αίτημα, μπορεί πάντα να το κάνει.  Αν ένας κόμβος μπορεί μια φορά να βρει έναν άλλον μέσω successors θα μπορεί πάντα να το κάνει.

13 Stabilization Κάποια στιγμή μετά το τελευταίο join όλοι οι successors θα είναι σωστοί.  Έστω ότι δύο κόμβοι θεωρούν ως successor τον κόμβο s. Και οι δύο θα κάνουν notify τον s ο οποίος θα επιλέξει για predecessor του τον κοντινότερο. Ο πιο απομακρυσμένος μέσω stabilize θα μάθει έναν καλύτερο successor από τον s.  Κάποια στιγμή αυτή η διαδικασία θα τερματίσει σε μία κατάσταση όπου κάθε κόμβος θα είναι successor ενός μόνο κόμβου.

14 Stabilization Αν σε ένα σταθεροποιημένο δίκτυο με Ν κόμβους μπουν μέχρι Ν νέοι κόμβοι χωρίς ενημερωμένα finger tables, τότε οι αναζητήσεις, με μεγάλη πιθανότητα, γίνονται σε O(logN) βήματα.  Ένας «παλιός» κόμβος μπορεί να φθάσει «κοντά» στο στόχο της αναζήτησης μέσω των finger του και μετά τα joins.  Η αναζήτηση επηρεάζεται μόνο όταν γίνουν πολλά joins ανάμεσα στον «παλιό» predecessor και successor του στόχου της αναζήτησης.

15 Παράδειγμα αναζήτησης startInt.succ [1,2) [2,4) [4,0) startInt.succ [2,3) [3,5) [5,1) startInt.succ [4,5) [5,7) [7,3) Lookup(7)

16 ? Ερωτήσεις