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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Διεργασίες (Processes)

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ

Αμοιβαίος αποκλεισμός

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή

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

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

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

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

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

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

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

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

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

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

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

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Εγγυημένη ποιότητα υπηρεσίας

Διάλεξη 1: Εισαγωγή στον Κατανεμημένο Υπολογισμό. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

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

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης

Επιµέλεια Θοδωρής Πιερράτος

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

Διάλεξη 14: Ατομική ΚΚΜ Εγγραφής/Ανάγνωσης στην Παρουσία Σφαλμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ

Συνεπείς καθολικές καταστάσεις & επιβεβαίωση ιδιοτήτων. Κατανεμημένα Συστήματα 1

Συνεπής παρατήρηση εκτέλεσης & συνεπείς καθολικές καταστάσεις. Κατανεμημένα Συστήματα 1

Πρωτόκολλο ARP. Γεωργιλά Χιονία Καθηγήτρια Πληροφορικής ΠΕ1901

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access)

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

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

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

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

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 3 ο

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

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

Αλγόριθµοι και Πολυπλοκότητα

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

Consensus and related problems

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

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

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

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Ουρές προτεραιότητας Κεφάλαιο 9. Ε. Μαρκάκης Επίκουρος Καθηγητής

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

Διάλεξη 12: Διάχυση Μηνυμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

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


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

Κεφάλαιο 4 Διεργασίες Β Τάξη ΕΠΑΛ

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

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

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

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

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή

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

7.7 Πρωτόκολλο ARP. 1. Το πρωτόκολλο ARP μετατρέπει τις διευθύνσεις IP στις αντίστοιχες φυσικές. Σ Λ

ΚΕΦΑΛΑΙΟ 4. Τεχνική Ανίχνευσης του. Πτυχιακή Εργασία Σελίδα 95

Λύση: Λύση: Λύση: Λύση:

Κεφάλαιο 5: Τοπικά ίκτυα

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

Τυχαιοκρατικοί Αλγόριθμοι

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος?


Αδιέξοδα (Deadlocks)

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems

Transcript:

Αµοιβαίοςαποκλεισµός Εισαγωγή Συγκεντρωτική προσέγγιση Κατανεµηµένη προσέγγιση Αλγόριθµος Lamport Αλγόριθµος Ricart-Agrawala Προσέγγιση µεταβίβασης σκυτάλης Αλγόριθµος LeLann Αλγόριθµος Raymond Αλγόριθµος Chandy Κατανεµηµένα Συστήµατα 03-1

Εισαγωγή Στόχος αµοιβαίου αποκλεισµού Πρόσβαση σε κοινούς πόρους Κοινές µεταβλητές, κοινές δοµές δεδοµένων, κοινά αρχεία Ο κοινός πόρος δεν µπορεί να καταµεριστεί Είναι αδύνατη η χρήση του από δύο διεργασίες ταυτόχρονα Πρόσβαση στον κοινό πόρο Εκτέλεση εντολών κρίσιµης περιοχής (ΚΠ) Σε συστήµατα ενός επεξεργαστή Χρήση σηµατοφορέων, γραµµατέων, κ.λπ. Σε κατανεµηµένα συστήµατα εν υπάρχει κοινό ρολόι εν υπάρχει κοινή µνήµη εν υπάρχει κοινός πυρήνας Κατανεµηµένα Συστήµατα 03-2

Εισαγωγή Γενικές υποθέσεις Κάθε διεργασία έχει διαφορετικό αναγνωριστικό Μία µηχανή ανά διεργασία Επικοινωνία διεργασιών µε µηνύµατα Ανταγωνισµός για έναν µόνο πόρο Όλοι οι επεξεργαστές είναι πλήρως συνδεδεµένοι Βασικές απαιτήσεις αµοιβαίου αποκλεισµού Ασφάλεια (safety):το πολύ µια διεργασία στην ΚΠ Βιωσιµότητα (liveness): µια αίτηση θα ικανοποιηθεί τελικά ε συµβαίνουν αδιέξοδα ε συµβαίνει υποσιτισµός ιάταξη (ordering): εξυπηρέτηση µε τη σειρά Σχέση συνέβη-πριν (happened before) Κατανεµηµένα Συστήµατα 03-3

Κριτήρια επίδοσης Εισαγωγή Πλήθος µηνυµάτων για την είσοδο στην ΚΠ Καθυστέρηση εισόδου στην ΚΠ Συγκεντρωτική προσέγγιση Συντονιστής Κατανεµηµένη προσέγγιση ιάταξης γεγονότων Αλγόριθµος Lamport (1978) Αλγόριθµος Ricart-Agrawala (1981) Μεταβίβασης κουπονιού Τοπολογία δακτυλίου (LeLann, 1977) Τοπολογία δένδρου (Raymond, 1989) Οποιαδήποτε τοπολογία (Chandy, 1982) Κατανεµηµένα Συστήµατα 03-4

Συγκεντρωτικήπροσέγγιση Χρήση συντονιστή για τον έλεγχο πρόσβασης Εκλέγεται από τις διεργασίες του συστήµατος O συντονιστής διατηρεί µια ουρά αναβληµένων αιτήσεων Αλγόριθµος αµοιβαίου αποκλεισµού Όταν η διεργασία p i θέλει πρόσβαση στην ΚΠ Στέλνει <request, i> στον συντονιστή Όταν ο συντονιστής λάβει <request, i> Αν καµία διεργασία δεν είναι στην ΚΠ, στέλνει <reply> Αλλιώς εισάγει την αίτηση στην ουρά Όταν η διεργασία p i λάβει <reply> από εισέρχεται στην ΚΠ Όταν η διεργασία p i βγει από την ΚΠ Στέλνει <release, i>στον συντονιστή Αν η ουρά είναι δεν άδεια, ο συντονιστής στέλνει ένα <reply> Κατανεµηµένα Συστήµατα 03-5

Συγκεντρωτικήπροσέγγιση Παράδειγµα Συντονιστής (p c )και τρεις διεργασίες (,, ) Πολιτική εξυπηρέτησης FIFO Λήψη αιτήσεων: 1, 2, 3 Αρχικά Μετά το 3 Μετά το 4 1 2 5 <release> <reply> <request> Μετά το Μετά το 6 8 4 <request> 3 <request> 8 <reply> p c 6 <reply> 9 <release> 7 <release> Κατανεµηµένα Συστήµατα 03-6

Συγκεντρωτικήπροσέγγιση Απόδοση Ανταλλαγή 3 µηνυµάτων ανά είσοδο Ανταλλαγή 2 µηνυµάτων πριν την είσοδο Η απαίτηση διάταξης δεν καλύπτεται! Πλεονέκτηµα: απλή υλοποίηση Μειονέκτηµα: αποτυχία συντονιστή Ανίχνευση αποτυχίας Εκλογή νέου συντονιστή Ανακατασκευή της ουράς Καθυστέρηση <reply> Αποτυχία του συντονιστή ή άλλες διεργασίες στην ΚΠ; Λύση: ενδιάµεση αποστολή µηνύµατος <permission_denied> Κατανεµηµένα Συστήµατα 03-7

Κατανεµηµένηπροσέγγιση Πλήρως κατανεµηµένοι αλγόριθµοι Χρησιµοποιούν χρονοσφραγίδες για διάταξη Κάθε διεργασία παρακολουθεί τις εκκρεµείς αιτήσεις Αλγόριθµος Lamport Κάθε διεργασία ειδοποιεί όλες τις άλλες πριν εισέλθει στην ΚΠ Μήνυµα request Για να εισέλθει στην ΚΠ πρέπει να πάρει απαντήσεις από όλες Μήνυµα reply Όταν βγει από την ΚΠ στέλνει µηνύµατα σε όλες Μήνυµα release Τα µηνύµατα διατηρούνται σε ουρά αιτήσεων Ταξινόµηση µε βάση χρονοσφραγίδες Αλγόριθµος Lamport για τις χρονοσφραγίδες Κατανεµηµένα Συστήµατα 03-8

Αλγόριθµος Lamport Έστωότι η p i θέλει να εισέλθει στην ΚΠ Αποστολή <request, i, TS> σε όλες τις διεργασίες Και στον εαυτό της! Λήψη <request, i, TS> από την p j Τοποθετεί την αίτηση στην ουρά µε βάση το TS Αποστολή <reply> στην p j Η p i εισέρχεται στην ΚΠ αν και µόνο αν Έχει λάβει <reply> από όλες τις υπόλοιπες διεργασίες Η αίτησή της είναι στην κορυφή της ουράς της Όταν η p i βγαίνει από την ΚΠ Στέλνει <release, i> σε όλες τις διεργασίες Και στον εαυτό της! Λήψη <release, i> από την p j Αφαιρεί τηναντίστοιχη αίτηση από την ουράτης Κατανεµηµένα Συστήµατα 03-9

Αλγόριθµος Lamport 10 8 <reply> <reply> 8 <reply> Παράδειγµα : χρονοσφραγίδα 8 :χρονοσφραγίδα 10 <release> 10 <reply> p p 1 2 <release> <release> <release> Κατανεµηµένα Συστήµατα 03-10

Αλγόριθµος Lamport Βελτίωση του αλγορίθµου Η p i στέλνει µήνυµα µε TS t i Η p j στέλνει µήνυµα µε TS t j H p j δεν χρειάζεται να στείλει replyαν t i < t j Η p i ξέρει ότι η p j ακολουθεί Έστω ότι η p i έλαβε m αιτήσεις µε µεταγενέστερο TS Αρκεί να λάβει reply από τις άλλες n-m-1 διεργασίες p i t i request reply p j request Κατανεµηµένα Συστήµατα 03-11 t j

Αλγόριθµος Lamport Γιατί δεν αφαιρούµε όλα τα reply; είχνει ότι το µήνυµα έχει µπει στην ουρά των άλλων Η µεταγενέστερη αίτηση σηµαίνει ότι η ουρά έχει ενηµερωθεί Ικανοποίηση απαιτήσεων Ασφάλεια: όλοι έχουν την ίδια σειρά στις ουρές Εκεί χρησιµεύουν τα reply Βιωσιµότητα: κάθε αίτηση τελικά εξυπηρετείται Η τρέχουσα διεργασία εξέρχεται από την ΚΠ Η επόµενη διεργασία στην ουρά εισέρχεται στην ΚΠ ιάταξη: οι αιτήσεις εξυπηρετούνται µε τη σειρά Χρήση των χρονοσφραγίδων Lamport Πολυπλοκότητα: 3(n-1)ανά είσοδο Καθυστέρηση 2(n-1) πριν την είσοδο Κατανεµηµένα Συστήµατα 03-12

Αλγόριθµος Ricart-Agrawala Παραλλαγή αλγόριθµου Lamport Απάντηση και αποδέσµευση µε ένα µόνο µήνυµα <OK> Κάθε διεργασία διατηρεί µία ουρά Η ουρά είναι ταξινοµηµένη µε βάση τις χρονοσφραγίδες Έστω ότι η p i θέλει να εισέλθει στην ΚΠ Αποστολή <request, i, TS> σε όλες τις διεργασίες Όχι στον εαυτό της Όταν λάβει n-1 µηνύµατα OK τότε εισέρχεται στην ΚΠ Όταν βγει από την ΚΠ στέλνει OKσε όσες είναι στην ουρά της ιαγράφει όλα τα µηνύµατα από την ουρά της Έστω ότι η p j λαµβάνει µία αίτηση από την p i Αν βρίσκεται στην ΚΠ δεν απαντάει Εισάγει την αίτηση στην ουρά της Κατανεµηµένα Συστήµατα 03-13

Αλγόριθµος Ricart-Agrawala Έστωότι η p j λαµβάνει µία αίτηση από την p i Αν δεν βρίσκεται στην ΚΠ Αν δεν θέλει να εισέλθει στην ΚΠ στέλνει OK Αν θέλει να εισέλθει στην ΚΠτότε Αν TS i < TS j τότε στέλνει <OK> Αλλιώς τοποθετεί το µήνυµα στην ουρά της ιαφοροποίηση από αλγόριθµο Lamport Ουρά έχουν µόνο οι διεργασίες που ανταγωνίζονται Οι αιτήσεις απαντώνται µόνο την κατάλληλη στιγµή Κόστος αλγορίθµου 2(n-1) µηνύµατα για κάθε είσοδο στην ΚΠ Ακριβώς ίδιο πλήθος µηνυµάτων πριν την είσοδο στην ΚΠ Κατανεµηµένα Συστήµατα 03-14

Αλγόριθµος Ricart-Agrawala Παράδειγµα : βρίσκεται στην ΚΠ : χρονοσφραγίδα 6 : χρονοσφραγίδα 4 4 <OK> 6 4 6 <OK> <OK> 4 6 <OK> <OK> <OK> Κατανεµηµένα Συστήµατα 03-15

Αλγόριθµος Ricart-Agrawala Ισχύουν οι απαιτήσεις; Ασφάλεια: µόνο η διεργασία µε το µικρότερο TS έχει όλα τα OK Βιωσιµότητα: αλυσίδα αναµονής διεργασιών µε βάση τα TS ιάταξη: η είσοδος στην ΚΠ γίνεται µε βάση τα TS Κατανεµηµένοι ή συγκεντρωτικοί αλγόριθµοι; Ο κατανεµηµένος είναι χειρότερος! Έχει πολλά σηµεία αποτυχίας (κάθε διεργασία) Όλοι έχουν τόσο φόρτο όσο ο συντονιστής Κάθε διεργασία πρέπει να γνωρίζει όλες τις άλλες Γιατί ασχολούµαστε λοιπόν; Υπάρχει (τουλάχιστον) ένας κατανεµηµένος αλγόριθµος Υπάρχουν και πιο γρήγορες λύσεις Κατανεµηµένα Συστήµατα 03-16

Προσέγγισηµεταβίβασης σκυτάλης Αλγόριθµοι µεταβίβασης σκυτάλης Χρήση ενός ειδικού µηνύµατος: σκυτάλη (token) Είσοδος στην ΚΠ µόνο αν έχουµε τη σκυτάλη Πιθανό µε κάποια λογική οργάνωση των διεργασιών ένδρο ή δακτύλιος Αλγόριθµος LeLann Λογική διάταξη των διεργασιών σε δακτύλιο Η σκυτάλη µεταδίδεται από διεργασία σε διεργασία Μετάδοση πάντα στην επόµενη στο δακτύλιο Όταν η p i λαµβάνει τη σκυτάλη Αν θέλει να µπει στην ΚΠ δεσµεύει τη σκυτάλη Μόλις βγει από την ΚΠ µεταβιβάζει τη σκυτάλη Αλλιώς τη µεταβιβάζει άµεσα στην επόµενη Κατανεµηµένα Συστήµατα 03-17

Αλγόριθµος LeLann Απαιτήσεις αµοιβαίου αποκλεισµού Ασφάλεια: µόνο ο κάτοχος της σκυτάλης µπαίνει στην ΚΠ Βιωσιµότητα: τελικά όλοι παίρνουν τη σκυτάλη Σε κάθε λήψη σκυτάλης η διεργασία µπαίνει µία φορά στην ΚΠ ιάταξη: µε όποια σειρά επιβάλλει η σκυτάλη Απόδοση 1 µηνύµατα ανά είσοδο στην ΚΠ 0 N-1 µηνύµατα καθυστέρηση µέχρι να µπει στη ΚΠ Απώλεια σκυτάλης Εκλογή αρχηγού για παρακολούθηση σκυτάλης Στέλνει περιοδικά µήνυµα <who has the token> Όποιος την έχει θέτει ένα πεδίο στη µήνυµα Αν το µήνυµα επιστρέψει χωρίς απάντηση, νέα σκυτάλη Κατανεµηµένα Συστήµατα 03-18

Αποτυχία διεργασίας Αλγόριθµος LeLann Αποτυχία ολόκληρου του συστήµατος Ο δακτύλιος έχει αποσυνδεθεί Χρήση µηνύµατος <acknowledgement> Στέλνεται στην προηγούµενη µε τη λήψη της σκυτάλης Αν δεν λάβει επιβεβαίωση, στέλνει τη σκυτάλη παραπέρα Πρέπει να γνωρίζει µερικές επόµενες Αλγόριθµος Chandy εν εξαρτάται από την τοπολογία Υποθέτει όµως ότι γνωρίζουµε όλες τις διεργασίες! Η σκυτάλη µεταβιβάζεται µόνο όταν πρέπει Η σκυτάλη περιέχει την ιστορία εισόδου στις ΚΠ Αντικαθιστά τη λογική διάταξη των διεργασιών Κατανεµηµένα Συστήµατα 03-19

Αλγόριθµος Chandy Μορφή σκυτάλης Η σκυτάλη είναι ένα διάνυσµα F = (f 1, f 2,, f N ) f i = πόσες φορές η p i µπήκε στην ΚΠ Κάθε διεργασία διατηρεί µια ουρά αιτήσεων H p i θέλει να µπει στην ΚΠ Στέλνει <request p i, m i >στις άλλες διεργασίες Περιµένει το κουπόνι Η p j λαµβάνει <request p i, m i > Αν δεν έχει τη σκυτάλη εισάγει την αίτηση στην ουρά της Αν έχει τη σκυτάλη Αν δεν είναι σε ΚΠ στέλνει τη σκυτάλη στην p i Αν είναι σε ΚΠ εισάγει την αίτηση στην ουρά της Κατανεµηµένα Συστήµατα 03-20

Αλγόριθµος Chandy Η p i λαµβάνει τη σκυτάλη Θέτει f i = m i στη σκυτάλη Μπαίνει στη ΚΠ Η p i ολοκληρώνει την εκτέλεση της ΚΠ Αν η ουρά αιτήσεων είναι κενή Κρατάει τη σκυτάλη µέχρι να λάβει νέα αίτηση Αν η ουρά αιτήσεων δεν είναι κενή Εξάγει την πρώτη αίτηση <request p j, m j > από την ουρά Εάν m j > f j στέλνει το κουπόνι στην p j Αλλιώς αγνοεί την αίτηση και επαναλαµβάνει Οι αιτήσεις αυτές είναι παλιές Πολυπλοκότητα: 0 έως n µηνύµατα Και για είσοδο, και για όλη τη διαδικασία Κατανεµηµένα Συστήµατα 03-21

Αλγόριθµος Raymond Κατάλληλος για διεργασίες οργανωµένες σε δένδρο Η σκυτάλη βρίσκεται πάντα στη ρίζα Οι ακµές δείχνουν πάντα προς τη ρίζα Όταν µεταβιβάζεται η σκυτάλη, αντιστρέφει τις ακµές Ο νέος κάτοχος της σκυτάλης γίνεται ρίζα Κάθε διεργασία διατηρεί µια ουρά εκκρεµών αιτήσεων Η p i θέλει να µπει στη ΚΠ Εισάγει την αίτησή της στην ουρά της Αν η ουρά της ήταν κενή στέλνει <request p i > στην γειτονική της Η p j λαµβάνει <request p i >και δεν είναι η ρίζα Εισάγει την αίτηση στην ουρά Αν η ουρά ήταν κενή στέλνει <request p j > στην γειτονική της Ακριβώς όπως παραπάνω Κατανεµηµένα Συστήµατα 03-22

Αλγόριθµος Raymond Η p j λαµβάνει <request p i > και είναι η ρίζα Αν βρίσκεται στην ΚΠ εισάγει το µήνυµα στην ουρά της Αν δεν βρίσκεται στην ΚΠ Αντιστρέφει την ακµή από όπου πήρε την αίτηση Στέλνει τη σκυτάλη στην αντεστραµµένη ακµή Η p j λαµβάνει τη σκυτάλη Εξάγει την αίτηση p k από την κεφαλή της ουράς της Αν η p k είναι ο εαυτός της εισέρχεται στην ΚΠ Αν η p k δεν είναι ο εαυτός της Αντιστρέφει την ακµή προς την p k Στέλνει τη σκυτάλη στην αντεστραµµένη ακµή Αν η ουρά της δεν είναι άδεια στέλνει <request p j > προς την p k Ουσιαστικά ζητάει τη σκυτάλη για λογαριασµό άλλων Κατανεµηµένα Συστήµατα 03-23

Αλγόριθµος Raymond H p j βγαίνει από την ΚΠ Aν η ουρά της δεν είναι άδεια Εξάγει την αίτηση p k από την κεφαλή της ουράς της Αντιστρέφει την ακµή προς την p k Στέλνει τη σκυτάλη στην αντεστραµµένη ακµή Αν η ουρά της δεν είναι άδεια στέλνει <request p j > προς την p k Απαιτήσεις αµοιβαίου αποκλεισµού Ασφάλεια: το κουπόνι βρίσκεται µόνο στην ρίζα Βιωσιµότητα: ακυκλική δοµή δένδρου ιάταξη: επιβάλλεται από τη δοµή του δένδρου Πολυπλοκότητα: ανάλογη του logn Υποθέτουµε τυχαία κατασκευή δένδρου Τόση είναι η µέση απόσταση δύο κόµβων Κατανεµηµένα Συστήµατα 03-24

Αλγόριθµος Raymond Παράδειγµα Αρχικά σκυτάλη στην p1 Η θέλει να µπει στην ΚΠ Η θέλει να µπει στην ΚΠ Η τις εκπροσωπεί p 6 p 7 p 6 p 7 Κατανεµηµένα Συστήµατα 03-25

Αλγόριθµος Raymond p 6 p 7 p 6 p 7 p 6 p 7 p 6 p 7 Κατανεµηµένα Συστήµατα 03-26