Εκλογήαρχηγού. Εισαγωγή Ισχυρά συνδεδεµένος γράφος ακτύλιος µίας κατεύθυνσης Τοπολογία δένδρου. Κατανεµηµένα Συστήµατα 06-1

Σχετικά έγγραφα
Κινητά και Διάχυτα Συστήματα. Ενότητα # 8: Εκλογή αρχηγού Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Κατανεμημένα Συστήματα. Ενότητα # 2: Εκλογή αρχηγού Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Αµοιβαίοςαποκλεισµός. Κατανεµηµένα Συστήµατα 03-1

Κατανεμημένα Συστήματα με Java. Ενότητα # 4: Αμοιβαίος αποκλεισμός Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Εκλογή αρχηγού σε σύγχρονο δακτύλιο: Οι αλγόριθμοι LCR και HS. 1 Ο αλγόριθμος LCR (Le Lann, Chang, and Roberts)

Κατανεμημένα Συστήματα Ι

Διάλεξη 10: Αλγόριθμοι Αμοιβαίου Αποκλεισμού σε περιβάλλον ανταλλαγής μηνυμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Κατανεμημένα Συστήματα Ι

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

Διάλεξη 4: Εκλογή Προέδρου σε Δακτύλιους. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων

Κατανεμημένα Συστήματα Ι

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

Κατανεμημένα Συστήματα Ι

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Υποστήριξη Φοιτητών

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Υποστήριξη Φοιτητών

Κατανεμημένα Συστήματα Ι

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Σύνοψη 3 ης ιάλεξης

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

Διάλεξη 6: Εκλογή Προέδρου σε Σύγχρονους Δακτύλιους. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι

Σκοπός του µαθήµατος. Κατανεµηµένα συστήµατα. Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

Μοντέλο Σύγχρονου ικτύου. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

Απαντήσεις. Απάντηση. Απάντηση

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

Σκοπός του µαθήµατος. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

Συγχρονισµός: Αδιέξοδο & Παρατεταµένη Στέρηση

Αποτίµησηκαθολικού κατηγορήµατος

Συντονισμός και συμφωνία

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που

Αδιέξοδα (Deadlocks)

Γ. Κορίλη Αλγόριθµοι ροµολόγησης

Διδάσκων: Κωνσταντίνος Αντωνής Δρ. Μηχανικός Η/Υ & Πληροφορικής Πανεπιστημίου Πατρών

ΕΚΔΟΣΗ 1.1 ΜΑΙΟΣ, 2018 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΕΚΛΟΓΗ ΑΡΧΗΓΟΥ ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ

Καθολικέςκαταστάσεις. Ορισµοί Κατασκευή καθολικών καταστάσεων Παθητική στρατηγική Ενεργητική στρατηγική. Κατανεµηµένα Συστήµατα 04-1

Σύνοψη Μαθήµατος. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

Εντοπισμός αδιεξόδου. Κατανεμημένα Συστήματα 1

Κατανεµηµένα Αντικείµενα 16-1

Αλγόριθμοι Κατανεμημένων Συστημάτων

Consensus and related problems

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation)

Κατανεμημένα Συστήματα. Javascript LCR example

Κατανεµηµένασυστήµατα αρχείων

Δροµολόγηση (Routing)

Κατανεμημένα Συστήματα Ι

Εισαγωγή στην Πληροφορική. Αντώνης Σταµατάκης



Διάλεξη 5: Κάτω Φράγμα για Αλγόριθμους Εκλογής Προέδρου. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

οµήτης παρουσίασης Marzullo και Neiger αλγόριθµος Παράδειγµα Distributed Debugging Εισαγωγικά

ιαδίκτυα & Ενδοδίκτυα Η/Υ

ΙΑΛΕΞΗ 6 Η. ίκτυα Υπολογιστών & Επικοινωνία. ιδάσκουσα: : ρ. Παντάνο Ρόκου Φράνκα. ίκτυα Υπολογιστών και Επικοινωνία. ιάλεξη 6: H Πολύπλεξη

Κατανεμημένα Συστήματα: Θεωρία και Προγραμματισμός. Ενότητα # 3: Καθολικά κατηγορήματα Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Σύνοψη Προηγούµενου Μαθήµατος. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

Σύνοψη Μαθήµατος. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

Λύσεις Παλιών Θεµάτων. Συστήµατα Παράλληλης Επεξεργασίας, 9ο εξάµηνο Υπεύθ. Καθ. Νεκτάριος Κοζύρης

ΚΕΦΑΛΑΙΟ 3: Τοπολογίες Δικτύων Εισαγωγή

ΑΔΙΕΞΟΔΑ (Deadlocks) Παράδειγμα 1 Θανάσιμο αγκάλιασμα (deadly embrace)

ΗΥ486 - Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο Δεύτερη Προγραμματιστική Εργασία

Κατανεµηµένα Συστήµατα Ένα κατανεµηµένο σύστηµα είναι µια συλλογή από αυτόνοµες διεργασίες οι οποίες έχουν τη δυνατότητα να επικοινωνούν µεταξύ τους.

Επισκόπηση. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Λεπτοµέρειες υλοποίησης αλγορίθµων

Δίκτυα Απευθείας Ζεύξης. Επικοινωνία µεταξύ δύο υπολογιστών οι οποίοι είναι απευθείας συνδεδεµένοι.

Δρομολόγηση (Routing)

Άρα, Τ ser = (A 0 +B 0 +B 0 +A 0 ) επίπεδο 0 + (A 1 +B 1 +A 1 ) επίπεδο 1 + +(B 5 ) επίπεδο 5 = 25[χρονικές µονάδες]

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.

Η πιθανότητα επομένως που ζητείται να υπολογίσουμε, είναι η P(A 1 M 2 ). Η πιθανότητα αυτή μπορεί να γραφεί ως εξής:

Φυσικά και λογικά ρολόγια. Κατανεμημένα Συστήματα 1

Περίληψη Φροντιστηρίου. Κατανεμημένα Συστήματα Ι. Το περιβάλλον DAP - Χαρακτηριστικά. Το περιβάλλον DAP Τι είναι.

Ethernet Ethernet ΙΕΕΕ CSMA/CD

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Αμοιβαίος αποκλεισμός με ασύγχρονη επικοινωνία (ανταλλαγή μηνυμάτων) Ταυτόχρονος Προγραμματισμός 1

Search and Replication in Unstructured Peer-to-Peer Networks

Λειτουργικά Συστήματα (Λ/Σ)

Κατανεμημένα Συστήματα Ασκήσεις.

HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο

Μοντέλο Σύγχρονου ικτύου. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

ΤΕΙ Κρήτης, Παράρτηµα Χανίων

... Αν ν = 16 εγκαταλείπει τις προσπάθειες μετάδοσης του πακέτου. Τοπολογία Διαύλου (BUS).


Περίληψη. Ethernet Δίκτυα Δακτυλίου, (Token Ring) Άλλα Δίκτυα Σύνδεση Τοπικών Δικτύων.

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Η σχέση συνέβη-πριν

Ανοχήβλαβών. Κατανεµηµένα Συστήµατα 19-1

Εξελιγµένες Τεχνικές Σχεδιασµού

Μετακινούμενος Κώδικας (Mobile Code) Κατανεμημένα Συστήματα 1

Γ.1 Να γράψετε στο τετράδιό σας τους αριθµούς 1,2,3,4 από τη Στήλη Α και δίπλα το γράµµα α, β της Στήλης Β που δίνει το σωστό χαρακτηρισµό.

09/04/2014 ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Μάθηµα: Α ΙΕΞΟ Α. ιδάσκων: Λειτουργικά Συστήµατα Ι Αν. Καθ. Κ. Λαµπρινουδάκης Α ΙΕΞΟ Α

Μη κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Υπογραφήµατα.

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1

CSMA/CA στο Κατανεμημένα Ενσωματωμένα Συστήματα Πραγματικού Χρόνου

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Η σχέση συνέβη-πριν

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

7.9 ροµολόγηση. Ερωτήσεις

7.7 Πρωτόκολλο ARP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

Επεξεργασία Ερωτήσεων

Εφαρµογές των πολυµέσων

Transcript:

Εκλογήαρχηγού Εισαγωγή Ισχυρά συνδεδεµένος γράφος ακτύλιος µίας κατεύθυνσης Τοπολογία δένδρου Κατανεµηµένα Συστήµατα 06-

Εισαγωγή Πρόβληµα: επιλογή µίας διεργασίας από το σύνολο εν αρκεί να αυτοανακηρυχθεί µία διεργασία αρχηγός Πρέπει να συµφωνήσουν όλες στην ταυτότητά της Εκτέλεση ενός αλγορίθµου εκλογής Ο αλγόριθµος ξεκινάει από οποιαδήποτε διεργασία Συνήθως µία διεργασία που είδε ότι ο αρχηγός δεν απαντά Εφαρµογές: τι χρειάζεται ο αρχηγός; Εκτέλεση συγκεντρωτικών αλγορίθµων Ανίχνευση αδιεξόδων Αρχικοποίηση κατανεµηµένων αλγορίθµων Έκδοση κουπονιού Συντονισµός διεργασιών Αναπαραγωγή αντιγράφων Κατανεµηµένα Συστήµατα 06-2

Εισαγωγή Εκλογή αρχηγού και αµοιβαίος αποκλεισµός Παρόµοια προβλήµατα Επιλογή µίας διεργασίας συντονιστή του συστήµατος Επιλογή µίας διεργασίας που θα χρησιµοποιήσει έναν πόρο εν ταυτίζονται όµως! Ιδιαιτερότητες αµοιβαίου αποκλεισµού Αποφυγή υποσιτισµού (liveness) Τήρηση διάταξης (ordering) Τελικά όλοι πρέπει να χρησιµοποιήσουν τον πόρο Ιδιαιτερότητες εκλογής αρχηγού Σηµαντική η ταχύτητα επιλογής εν υπάρχει πρόβληµα υποσιτισµού Ενηµέρωση υπολοίπων διεργασιών για τον συντονιστή Κατανεµηµένα Συστήµατα 06-3

Εισαγωγή Αλγόριθµος πρωτόκολλοεκλογής αρχηγού Είσοδος αρχική κατάσταση Αυθαίρετο µη κενό σύνολο διεργασιών Όλες οι διεργασίες ξεκινάνε από την ίδια κατάσταση Κάθε διεργασία εκτελεί τον ίδιο τοπικό αλγόριθµο Αρκεί τελικά ο αρχηγός να γνωρίζει ότι εκλέχτηκε Ενηµέρωση των υπόλοιπων διεργασιών για τον αρχηγό Εύκολη επέκταση µόλις επιλεγεί ο αρχηγός Ο εκλεγµένος αρχηγός ενηµερώνει τις υπόλοιπες διεργασίες Τελική κατάσταση Μια και µόνο µια διεργασία είναι ο αρχηγός (leader) Όλες οι υπόλοιπες είναι στην κατάσταση του χαµένου (lost) Κατανεµηµένα Συστήµατα 06-4

Εισαγωγή Λειτουργία διεργασιών Αρχικοποιητές (Initiators) Ξεκινούν την εκτέλεση του τοπικού τους αλγορίθµου αυτόµατα Πιθανόν µε την ικανοποίηση µίας συνθήκης Tο πρώτο γεγονός τους είναι η αποστολή ενός µηνύµατος Μη-αρχικοποιητές (Non-initiators) Απλά συµµετέχουν στον αλγόριθµο Ξεκινάνε την εκτέλεση όταν λάβουν ένα µήνυµα Το πρώτο γεγονός τους είναι η λήψη ενός µηνύµατος Μοναδικό αναγνωριστικό (id) για κάθε διεργασία Γνωστό στην διεργασία που το κατέχει Μεταδίδεται στις άλλες διεργασίες υνατότητα αποστολής µηνυµάτων σε συγκεκριµένη διεργασία Κατανεµηµένα Συστήµατα 06-5

Εισαγωγή Αναγνωριστικά: στοιχεία διατεταγµένου συνόλου Π υνατότητα σύγκρισης αναγνωριστικών (π.χ.,, =) Κατηγορίες αλγορίθµων Extrema finding αλγόριθµοι Αρχηγός: η διεργασία µε το µεγαλύτερο (µικρότερο) id Αλγόριθµοι σύγκρισης (όλοι οι αλγόριθµοι που θα δούµε) Εύρεση µεγαλύτερου id ~ εύρεση µικρότερου id Ο αρχηγός δεν αντιπροσωπεύει προτιµήσεις Preference based αλγόριθµοι Η εκλογή βασίζεται σε προτιµήσεις Παράδειγµα: η πιο αξιόπιστη διεργασία Probabilistic αλγόριθµοι εν θεωρούν γνωστά τα αναγνωριστικά των διεργασιών Κατανεµηµένα Συστήµατα 06-6

Εισαγωγή Κατηγορίες αλγορίθµων εκλογής αρχηγού Υποθέτουµε κάποια δοµή / τοπολογία δικτύου Ισχυρά συνδεδεµένος γράφος Ο καθένας µπορεί να µιλήσει µε οποιονδήποτε άλλον Αλγόριθµος Garcia Molina (Bully) ακτύλιος µίας κατεύθυνσης Αλγόριθµος LeLann Αλγόριθµος Chang & Roberts ένδρο αυθαίρετου βαθµού Αλγόριθµος δένδρου Αλγόριθµοι δακτυλίου ή δένδρου Εφαρµόζονται σε οποιαδήποτε φυσική τοπολογία Αρκεί να βρεθεί επικαλυπτικός δακτύλιος ή δένδρο ιαφορετικό µοντέλο υποθέσεις για κάθε αλγόριθµο Κατανεµηµένα Συστήµατα 06-7

Ισχυράσυνδεδεµένος γράφος Αλγόριθµος του Νταή (Bully) του Garcia-Molina Εφαρµόζεται σε ισχυρά συνδεδεµένα δίκτυα Μοντέλο Κάθε διεργασία έχει ένα αναγνωριστικό (id) Κάθε διεργασία γνωρίζει τα id όλων των υπολοίπων Αρχηγός θα εκλεγεί η διεργασία µε τo µέγιστο id Μια διεργασία µπορεί να αποτυγχάνει και να επανέρχεται Initiator: ξεκινάει την εκτέλεση του αλγορίθµου ιεργασία που διαπιστώνει την έλλειψη αρχηγού Παρατηρεί ότι ο τρέχων αρχηγός δεν απαντά ιεργασία που επανέρχεται εν έχει σηµασία αν υπάρχει ήδη αρχηγός Ίσως πρέπει να γίνει αυτή αρχηγός! Κατανεµηµένα Συστήµατα 06-8

Ισχυράσυνδεδεµένος γράφος Αλγόριθµος initiator (διεργασία Ρ) Αν η Ρ έχει το µεγαλύτερο δυνατό id Ανακηρύσσεται αρχηγός Γνωστοποιεί το id της σε όλες τις άλλες διεργασίες Αν η Ρ δεν έχει το µεγαλύτερο δυνατό id Στέλνει στις διεργασίες µε µεγαλύτερο id το µήνυµα <election> // Τις ενηµερώνει ότι πρέπει να γίνει εκλογή αρχηγού Περιµένει ένα µήνυµα <OK> από κάποια τέτοια διεργασία // Κάποια άλλη διεργασία µπορεί να αναλάβει δράση Αν µέσα σε ένα συγκεκριµένο χρονικό όριο εν λάβει καµία απάντηση <OK> Ανακηρύσσεται αρχηγός Το γνωστοποιεί στις διεργασίες µε µικρότερο id Κατανεµηµένα Συστήµατα 06-9

Ισχυράσυνδεδεµένος γράφος Αλγόριθµος initiator (διεργασία Ρ) (συνέχεια) Αν µέσα σε ένα συγκεκριµένο χρονικό όριο Λάβει κάποια απάντηση <OK> // Κάποιος άλλος θα γίνει αρχηγός Περιµένει το id του αρχηγού // Αν όµως αποτύχει πριν ολοκληρωθεί η διαδικασία; Αν δεν λάβει σύντοµα το id του αρχηγού, ξαναστέλνει <election> Αλγόριθµος non-initiator Μια διεργασία λαµβάνει το µήνυµα <election> από την P Αν έχει µεγαλύτερο αναγνωριστικό από την P Στέλνει απάντηση <OK> στην Ρ Παίρνει το ρόλο του initiator Συνεχίζει µε τον παραπάνω αλγόριθµο Κατανεµηµένα Συστήµατα 06-0

Ισχυράσυνδεδεµένος γράφος Παράδειγµα 2 2 4 <election> 5 4 <OK> 5 <election> 0 <election> 7 3 6 0 7 <OK> 3 6 4 2 5 (α) (β) 4 0 2 5 <election> <election> 6 <election> 3 7 4 0 2 7 5 <OK> 3 6 0 7 3 (ε) 6 (γ) (δ) Κατανεµηµένα Συστήµατα 06-

Ισχυράσυνδεδεµένος γράφος Παράδειγµα (συνέχεια) δ. 7: ο πρώην αρχηγός που αποτυγχάνει δ. 4: ανακαλύπτει την έλλειψη αρχηγού Στέλνει <election>στις δ. µε µεγαλύτερο id, δηλαδή 5, 6, 7 δ. 5, 6: απαντάνε <ΟΚ> στην 4 δ. 7: έχει αποτύχει δ. 4: σταµατάει και περιµένει να ενηµερωθεί για το νέο αρχηγό δ. 6: στέλνει <election>στην 7 δ. 6: στέλνει <ΟΚ>στην 5 δ. 6: δεν λαµβάνει <ΟΚ> από την 7 δ. 6: ανακηρύσσεται αρχηγός δ. 6: ενηµερώνει όλες τις υπόλοιπες ότι είναι ο νέος αρχηγός Κατανεµηµένα Συστήµατα 06-2

ακτύλιοςµίας κατεύθυνσης Αλγόριθµοι LeLannκαι Chang & Roberts Μοντέλο Οργάνωση διεργασιών σε δακτύλιο Επικοινωνία προς µία κατεύθυνση FIFO κανάλια επικοινωνίας Κάθε διεργασία γνωρίζει µόνο το δικό της αναγνωριστικό εν γνωρίζει ούτε αναγνωριστικά ούτε πλήθος διεργασιών Κάθε διεργασία στέλνει µηνύµατα στην επόµενή της Κάθε διεργασία λαµβάνει µηνύµατα από την προηγούµενή της Αρχηγός: η διεργασία µε το µικρότερο αναγνωριστικό Απλή τροποποίηση για το µεγαλύτερο αναγνωριστικό Αλγόριθµος LeLann Κυκλοφορία ενός token στο δακτύλιο Κατανεµηµένα Συστήµατα 06-3

ακτύλιοςµίας κατεύθυνσης Initiators Το σύνολο των υποψήφιων διεργασιών για αρχηγία Υποσύνολο των διεργασιών του δακτυλίου Όλες ξεκινούν στέλνοντας ένα µήνυµα <tok, id> Στέλνουν το δικό του <tok, id> πριν λάβουν άλλα µηνύµατα Νοn- Initiators Το σύνολο των διεργασιών που δεν διεκδικούν την αρχηγία Αλγόριθµος Non - initiators Περιµένει να λάβει µήνυµα <tok, id> // Μηνύµατα που στέλνονται από τους initiators Προωθεί το µήνυµα <tok, id> // Καµία παρέµβαση ουσιαστικά Κατανεµηµένα Συστήµατα 06-4

ακτύλιοςµίας κατεύθυνσης Αλγόριθµος initiators Στέλνει µήνυµα <tok, id> Περιµένει να λάβει µήνυµα <tok, id> Εάν το idπου έλαβε δεν είναι το δικό του Προσθέτει το µήνυµα <tok, id> που λαµβάνει σε µια λίστα Προωθεί το µήνυµα <tok, id> και επαναλαµβάνει Εάν το idπου έλαβε είναι το δικό του // Το µήνυµα έχει κάνει έναν πλήρη κύκλο Βρίσκει το µικρότερο id στην λίστα του // Όλα τα id περιέχονται εκεί Εάν αυτό το id είναι το δικό του Ανακηρύσσεται αρχηγός Ενηµερώνει τις υπόλοιπες Κατανεµηµένα Συστήµατα 06-5

ακτύλιοςµίας κατεύθυνσης Αλγόριθµος Chang & Roberts Βελτίωση του αλγορίθµου του LeLann Μειώνει το πλήθος των µηνυµάτων Ο initiator δεν προωθεί µηνύµατα µε µεγαλύτερο id Τα id αυτά είναι σίγουρο ότι δεν θα νικήσουν! Κάθε initiator µε αναγνωριστικό p Αφαιρεί από το δακτύλιο µήνυµα <tok, q>, όταν q > p Κάθε initiator p Είναι χαµένος όταν λάβει ένα µήνυµα <tok, q> και q < p Είναι αρχηγός όταν λάβει <tok, q> όπου q = p Επιβιώνει µόνο το µήνυµα του νέου αρχηγού Όλα τα υπόλοιπα µηνύµατα αφαιρούνται εν απαιτείται λίστα id σε κάθε initiator Κατανεµηµένα Συστήµατα 06-6

ακτύλιοςµίας κατεύθυνσης Αλγόριθµος initiators Στέλνει µήνυµα <tok, id> Περιµένει να λάβει µήνυµα <tok, id> Εάν το idπου έλαβε είναι µικρότερο από το δικό του Προωθεί το µήνυµα <tok, id> Περιµένει να λάβει µήνυµα <tok, id> Εάν το idπου έλαβε είναι το δικό του Ανακηρύσσεται αρχηγός Ενηµερώνει τις υπόλοιπες Αλγόριθµος non-initiators Περιµένει να λάβει µήνυµα <tok, id> Προωθεί το µήνυµα <tok, id> Κατανεµηµένα Συστήµατα 06-7

ακτύλιοςµίας κατεύθυνσης Παράδειγµα Oι σκιασµένοι κόµβοι είναι οι initiators Τα µηνύµατα αναφέρονται µε σειρά εµφάνισης Πολυπλοκότητα: O(NlogN)κατά µέσο όρο O(N)στην καλύτερη και O(N 2 )στη χειρότερη περίπτωση <tok, > 4 <tok, 3> 3 <tok, 2> <tok, > <tok, 2> 2 <tok, > <tok, > 7 <tok, 7> 6 <tok, 7> <tok, > <tok, > Κατανεµηµένα Συστήµατα 06-8

ακτύλιοςµίας κατεύθυνσης Καλύτερηπερίπτωση: O(N) Όλες οι διεργασίες του δακτυλίου είναι initiators Σε φθίνουσα σειρά ως προς τη φορά του δακτυλίου Όλα τα µηνύµατα κάνουν ένα hop πλην ενός <tok, n> <tok, 0> n- <tok, 0> n 0 <tok, > <tok, 0> <tok, n-> <tok, 0> n-2 <tok, n-2> <tok, 0>... <tok, 2> <tok, 0> Κατανεµηµένα Συστήµατα 06-9

ακτύλιοςµίας κατεύθυνσης Χειρότερηπερίπτωση: O(N 2 ) Σε αύξουσα σειρά ως προς τη φορά του δακτυλίου Tο µήνυµα της διεργασίας i εκτελεί Ν i hops <tok, 0> <tok, n> <tok, n-> 0... n <tok, > <tok, 0> <tok, n->... <tok, > <tok, 0>... <tok, > <tok, 0> 2 <tok, 2> 3 <tok, > <tok, 0> <tok, 3> <tok, 2> <tok, > <tok, 0> Κατανεµηµένα Συστήµατα 06-20

Τοπολογίαδένδρου Μοντέλο ίκτυα µε τοπολογία δένδρου Ή επικαλυπτικό δένδρο πάνω σε δίκτυο Κάθε διεργασία γνωρίζει τα αναγνωριστικά των γειτόνων της εν γνωρίζει τα αναγνωριστικά ή το πλήθος των άλλων Αρχηγός: η διεργασία µε το µικρότερο αναγνωριστικό Initiators Τουλάχιστον το σύνολο των φύλλων του δένδρου Απαιτείται πρόσθετη φάση «ξυπνηµατος» των φύλλων Όλες ξεκινούν στέλνοντας ένα µήνυµα <tok, id> Νοn- Initiators Όλες οι υπόλοιπες διεργασίες στο δένδρο Κατανεµηµένα Συστήµατα 06-2

Τοπολογίαδένδρου Αλγόριθµος όλων των διεργασιών Αναµονή µέχρι να λάβει µηνύµατα <tok, id> Από όλους τους γείτονες εκτός (το πολύ) από έναν Έστω ότι ο µόνος που λείπει είναι ο p0 Όταν ικανοποιηθεί η συνθήκη αυτή // Αρχικά ισχύει µόνο στα φύλλα Υπολογίζει το ελάχιστο id από αυτά που γνωρίζει Συµπεριλαµβάνεται το δικό της Στέλνει µήνυµα <tok, min id > στον p0 Περιµένει µήνυµα <tok, id> από τον p0 Υπολογίζει το ελάχιστο id από αυτά που λαµβάνει Αν το δικό της είναι το ελάχιστο, ανακηρύσσεται αρχηγός Στέλνει σε όλους τους γείτονές της (εκτός του p0) µήνυµα Κατανεµηµένα Συστήµατα 06-22

Τοπολογίαδένδρου Παράδειγµα 2 6 6 7 7 9 5 3 2 9 0 0 4 5 3 4 8 8 Κατανεµηµένα Συστήµατα 06-23

Τοπολογίαδένδρου Παράδειγµα (συνέχεια) δ. 5, 8, 4,, 0: στέλνουν <tok, min id> δ. 3, 9: στέλνουν <tok, min id> δ. 2,7: στέλνουν <tok, min id> δ. : στέλνει <tok, min id> (=) δ. 6 αποφασίζει lost δ. 6:στέλνει <tok, min id> (=) στην δ. δ. : αποφασίζει leader δ. 6, 7, 9,, 2, 3 : στέλνουν <tok, >στους απογόνους Πολυπλοκότητα: O(N) Στέλνονται 2Ν 2 µηνύµατα ύο µηνύµατα ανά ζεύξη Κατανεµηµένα Συστήµατα 06-24

Τοπολογίαδένδρου Πρόβληµα Αν δεν είναι όλα τα φύλλα του δένδρου initiators? O αλγόριθµος δεν δουλεύει! Λύση Μια επιπλέον φάση (Wake Up) Ο initiator ξυπνάει όλες τις υπόλοιπες διεργασίες Τις κάνει όλες initiators Αλγόριθµος initiators Στέλνει µήνυµα <wake up> σε κάθε γείτονά του Περιµένει να λάβει <wake up> από όλους τους γείτονές του // Βεβαιώνεται ότι έχουν ξυπνήσει Αρχίζει την εκλογή Κατανεµηµένα Συστήµατα 06-25

Τοπολογίαδένδρου Αλγόριθµος non-initiators Όταν λάβει ένα µήνυµα <wake up> Γίνεται initiator Στέλνει <wake up> σε κάθε γείτονά του Περιµένει να λάβει <wake up> από όλους τους γείτονές του Εκτός από αυτόν που την έκανε initiator Αρχίζει την εκλογή Πολυπλοκότητα Wake up Κάθε κόµβος στέλνει και λαµβάνει ένα wakeup ανά γείτονα Σε κάθε ζεύξη έχουµε δύο ακριβώς µηνύµατα Συνολικά 2N -2 µηνύµατα Wake up και εκλογή 4Ν - 4 µηνύµατα ~ Ο(Ν) Κατανεµηµένα Συστήµατα 06-26

Τοπολογίαδένδρου Παράδειγµα 6 7 2 9 0 5 3 4 8 Κατανεµηµένα Συστήµατα 06-27

Τοπολογίαδένδρου Μείωση των µηνυµάτων εν χρειάζεται να περάσουµε το δένδρο 4 φορές Συνδυάζουµε ορισµένα µηνύµατα µεταξύ τους Κάθε non initiator εν χρειάζεται να στείλει <wake up> παντού Η διεργασία που του έστειλε το <wake up> είναι ξύπνια Τα φύλλα αρκούν για να ξεκινήσουν τον αλγόριθµο Αντί για <wake up> στέλνουν το µήνυµα <tok, id> Ξεκινάνε την εκλογή αµέσως µόλις ξυπνήσουνε Συνολικά 3Ν 4 + kµηνύµατα ~ Ο(Ν) k : ο αριθµός των διεργασιών που είναι initiators αλλά όχι φύλλα Κατανεµηµένα Συστήµατα 06-28