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

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

Πρόλογος... xv. Κεφάλαιο 1: Εισαγωγή... 1

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

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

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

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

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

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

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


Διάλεξη 11: Αιτιότητα Διάταξη Γεγονότων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ο έλεγχος στο επίπεδο συστήµατος επικοινωνιών εξασφαλίζει ότι έχουµε µεταφορά στο δίκτυο χωρίς λάθη.

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

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

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

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

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

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

Αιτιώδεις Σχέσεις και Χρονισµός. Παναγιώτα Φατούρου Αρχές Κατανεµηµένου Υπολογισµού

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

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

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

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

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

Αποµακρυσµένη κλήση διαδικασιών

2.6 ΟΡΙΑ ΑΝΟΧΗΣ. πληθυσµού µε πιθανότητα τουλάχιστον ίση µε 100(1 α)%. Το. X ονοµάζεται κάτω όριο ανοχής ενώ το πάνω όριο ανοχής.

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

Μάθημα 5 ο : Μετάδοση Μηνυμάτων

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

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

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

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

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

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

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

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ

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

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

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

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

Consensus and related problems

Εισαγωγή. Οπως είδαµε για την εκκίνηση της Simplex χρειαζόµαστε µια Αρχική Βασική Εφικτή Λύση. υϊσµός

ΠΑΡΑΡΤΗΜΑ IV. ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΡΑΡΤΗΜΑ IV Ασκήσεις για το Robolab

Οργάνωση επεξεργαστών και διεργασιών

Παράδειγµα: Προσοµοίωση µιας ουράς FIFO Οι λειτουργίες που υποστηρίζονται από µια ουρά FIFO είναι: [enq(q,x), ack(q)] [deq(q), return(q,x)] όπου x είν

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

Αδιέξοδα (Deadlocks)

Κεφάλαιο 4ο: Δικτυωτή Ανάλυση

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

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

Όρια συναρτήσεων. ε > υπάρχει ( ) { } = ± ορίζονται αναλόγως. Η διατύπωση αυτών των ορισµών αφήνεται ως άσκηση. x y = +. = και για κάθε (, ) ( 0,0)

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

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

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

Αξιόπιστη μεταφορά δεδομένων πάνω από αναξιόπιστο δίκτυο. Κατανεμημένα Συστήματα 1

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

Σηµειώσεις στις σειρές

3. Προσομοίωση ενός Συστήματος Αναμονής.

ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ. Τεχνολογίες Υπολογιστικού Νέφους

Όρια συναρτήσεων. ε > υπάρχει ( ) { } = ± ορίζονται αναλόγως. Η διατύπωση αυτών των ορισµών αφήνεται ως άσκηση. x y = +. = και για κάθε (, ) ( 0,0)

Η Λειτουργία του Ελέγχου. Η Δραστηριότητα του Ελέγχου Η αναγκαιότητα του Ελέγχου

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

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:

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

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

* τη µήτρα. Κεφάλαιο 1o

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

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

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

Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής

a 1d L(A) = {m 1 a m d a d : m i Z} a 11 a A = M B, B = N A, k=1

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» (ε) Κάθε συγκλίνουσα ακολουθία άρρητων αριθµών συγκλίνει σε άρρητο αριθµό.

όπου D(f ) = (, 0) (0, + ) = R {0}. Είναι Σχήµα 10: Η γραφική παράσταση της συνάρτησης f (x) = 1/x.

Ανοχή απέναντι σε Σφάλµατα Fault Tolerance

Η Λειτουργία του Ελέγχου. Η Δραστηριότητα του Ελέγχου Η αναγκαιότητα του Ελέγχου

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ ΙΙ (ΠΕΡΙΤΤΟΙ) Ασκησεις - Φυλλαδιο 5

ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ. Τεχνολογίες Υπολογιστικού Νέφους

PROJECT ΣΤΟ ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟ ΟΥΣ

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

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1

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

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο

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

Τι είναι το πρωτόκολλο Διαδικτύου (Internet Protocol, IP);

- Q T 2 T 1 + Q T 1 T T

ΗΜΙΟΥΡΓΙΑ ΠΑΙΧΝΙ ΙΟΥ ΣΤΟ SCRATCH ΒΗΜΑ ΠΡΟΣ ΒΗΜΑ

Transcript:

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

Ορισµοί Τοπικήιστορία διεργασίας p i Έστω ότι e ij είναι το γεγονός jτης διεργασίας i Τότε h i = e 11 e 12 e 13 e 14 e 15 e 1 6 Η τοπική ιστορία είναι πλήρως διατεταγµένη Καθολική ιστορία κατανεµηµένου υπολογισµού Ένωση των τοπικών ιστοριών των διεργασιών H = h 1 U U h n Μερικώς διατεταγµένο σύνολο Μπορεί να διαταχθεί µε βάση χρονοσφραγίδες Lamport Τοπική κατάσταση διεργασίας p i Περιέχει τις τιµές όλων των τοπικών µεταβλητών Μετά το e ik η κατάσταση είναι σ i k Συµβατικά ορίζουµε ως σ i0 την αρχική κατάσταση Κατανεµηµένα Συστήµατα 04-2

Ορισµοί Καθολική κατάσταση κατανεµηµένου υπολογισµού Ένωση των τοπικών καταστάσεων των διεργασιών Σ = (σ 1,, σ n ) Εξαρτάται από τα γεγονότα που έχουν συµβεί σε κάθε διεργασία Τοµή κατανεµηµένου υπολογισµού Υποσύνολο της καθολικής ιστορίας ηλαδή της ένωσης των τοπικών ιστοριών Περιέχει c i αρχικά γεγονότα από κάθε διεργασία p i C = h c1 1 U U h cn n Εναλλακτικά, αρκεί το (c 1,, c n ) Αντιστοιχεί στην καθολική κατάσταση (σ c1 1,, σ cn n ) Τα τελευταία γεγονότα της τοµής είναι το σύνορο της τοµής Μόνο ορισµένες καταστάσεις / τοµές είναι εφικτές Κατανεµηµένα Συστήµατα 04-3

Ορισµοί 1 2 3 4 5 6 e 1 e 1 e 1 e 1 e 1 e 1 p 1 req req resp e 2 2 resp p 2 e 2 1 e 2 3 req req p 3 1 2 5 e 3 e 3 e 3 4 6 3 e 3 e 3 e 3 Συνεπείς τοµές: εφικτές καθολικές καταστάσεις C Θα µπορούσαν να συµβούν στην διάρκεια του υπολογισµού Η τοµή C είναι συνεπής Η τοµή C δεν είναι συνεπής Περιέχει την λήψη αλλά όχι την αποστολή ενός µηνύµατος Κατανεµηµένα Συστήµατα 04-4 C

Ορισµοί Πότε µία τοµή C είναι συνεπής; Για όλα τα γεγονότα eκαι e (e ε C) ^ (e ->e) => e ε C ηλαδή, αν ένα γεγονός e περιλαµβάνεται στην τοµή C Θα πρέπει να περιλαµβάνεται και η αιτία του e Κάθε βέλος που «κόβει» την τοµή έχει την έξοδο δεξιά Συνεπής καθολική κατάσταση: αντιστοιχεί σε συνεπή τοµή Εκτέλεση κατανεµηµένου υπολογισµού Πλήρης διάταξη όλων των γεγονότων της καθολικής ιστορίας Συνεπής µε τη σχέση συνέβη πριν R = e 31 e 11 e 32 e 21 e 33 e 34 Αντιστοιχεί σε µία ακολουθία καθολικών καταστάσεων Σ = Σ 0 Σ 1 Σ 2 Σ 3 Κατανεµηµένα Συστήµατα 04-5

Ορισµοί Προσπελάσιµες καθολικές καταστάσεις Έστω η ακολουθία καθολικών καταστάσεων Σ = Σ 0 Σ 1 Σ 2 Σ 3 Η Σ i προκύπτει από την Σ i-1 µε την εκτέλεση ενός γεγονότος Λέµε ότι Σ i-1 οδηγεί στη Σ i στην εκτέλεση R Λέµε ότι ησ είναι προσπελάσιµη από την Σ στην R αν Σ-> R Σ Η Σ είναι προσπελάσιµη από την Σ αν υπάρχει κατάλληλη R Αναπαράσταση υπολογισµού µε πλέγµα Περιέχει όλες τις συνεπείς καθολικές καταστάσεις Οι καταστάσεις συνδέονται µε τις σχέσεις -> R Γενικά n ορθογώνιοι άξονες για n διεργασίες Έστω η κατάσταση (σ 1 k1,, σ n kn ) Λέµε ότι βρίσκεται στο επίπεδο k 1 + +k n του πλέγµατος Κάθε µονοπάτι είναι µία πιθανή εκτέλεση του υπολογισµού Κατανεµηµένα Συστήµατα 04-6

Ορισµοί Παράδειγµα Έστω ένας υπολογισµός µε δύο διεργασίες Αντιστοιχεί σε ένα επίπεδο πλέγµα Το πλέγµα περιλαµβάνει συνεπείς καταστάσεις Κάθε διαδροµή είναι µία πιθανή εκτέλεση Κάθε σηµείο αντιστοιχεί σε µία συνεπή τοµή Κατανεµηµένα Συστήµατα 04-7

Κατασκευήκαθολικών καταστάσεων Πώς µπορούµε να µάθουµε την καθολική κατάσταση; Πρέπει να µάθουµε τις καταστάσεις όλων των διεργασιών Αναγκαστικά µε ανταλλαγή µηνυµάτων ύσκολο πρόβληµα σε ένα ασύγχρονο σύστηµα Ξεπερασµένες, ατελείς, ασυνεπείς καταστάσεις ιαφορετικές διεργασίες µπορεί να βγάλουν άλλα αποτελέσµατα Κατασκευή καθολικών καταστάσεων από παρατηρητή Μία διεργασία κατασκευάζει καθολικές καταστάσεις ιεργασία παρακολουθητής Παθητική προσέγγιση: παρατηρήσεις εν εισάγουµε µηνύµατα στο σύστηµα Ενεργητική προσέγγιση: στιγµιότυπα Εισάγουµε µηνύµατα στο σύστηµα Κατανεµηµένα Συστήµατα 04-8

Παθητικήστρατηγική Ηδιεργασία p 0 κατασκευάζει µία παρατήρηση O Η p i στέλνει ένα µήνυµα στη p 0 για κάθε γεγονός e k i Η παρατήρηση O εξαρτάται από τη σειρά άφιξης Ασύγχρονο σύστηµα: απρόβλεπτες καθυστερήσεις ιαφορετικές διεργασίες κατασκευάζουν διαφορετικά O Οι παρατηρήσεις µπορεί να αντιστοιχούν σε Μη εφικτές εκτελέσεις Ασυνεπείς εκτελέσεις Συνεπείς εκτελέσεις Συνεπείς παρατηρήσεις Αντιστοιχούν σε συνεπείς εκτελέσεις ιέρχονται µόνο από συνεπείς καταστάσεις Σε κάθε στιγµή αντιστοιχούν σε συνεπείς τοµές Κατανεµηµένα Συστήµατα 04-9

Παθητικήστρατηγική Κατασκευή συνεπών παρατηρήσεων ιάκριση λήψης και παράδοσης µηνύµατος Ορισµός Κανόνων Παράδοσης (ΚΠ) Πότε ένα µήνυµα που έχει ληφθεί µπορεί να παραδοθεί; Πρώτο βήµα: παράδοση FIFO Για µηνύµατα που έχουν σταλεί από την ίδια διεργασία i send i (m) send i (m ) deliver j (m) deliver j (m ) Αρκεί η iνα αριθµεί τα µηνύµατά της Οδηγεί σε εφικτές εκτελέσεις εν παραβιάζεται η σειρά γεγονότων της i εν οδηγεί απαραίτητα σε συνεπείς εκτελέσεις εν ξέρουµε τι ισχύει ανάµεσα στις διεργασίες Η παράδοση FIFO συνδυάζεται µε τους επόµενους ΚΠ Κατανεµηµένα Συστήµατα 04-10

Παθητικήστρατηγική Σύγχρονα συστήµατα Η καθυστέρηση µετάδοσης έχει άνω όριο δ Χρήση ρολογιού πραγµατικού χρόνου RC Κάθε γεγονός έχει µία χρονοσφραγίδα RC(e) Κανόνας Παράδοσης 1 (ΚΠ1) Παράδωσε τα µηνύµατα µε αύξουσα σειρά χρονοσφραγίδων Τη στιγµή t παράδωσε τα µηνύµατα µε χρονοσφραγίδες έως t-δ ιασφαλίζει ότι δεν έχουµε χάσει µηνύµατα Πρέπει να έχουν φτάσει το πολύ δ µετά την αποστολή τους ιασφαλίζει καθολική διάταξη των µηνυµάτων Βασίζεται στο ρολόι πραγµατικού χρόνου Οδηγεί πάντα σε συνεπείς παρατηρήσεις υστυχώς τα περισσότερα συστήµατα είναι ασύγχρονα! Κατανεµηµένα Συστήµατα 04-11

Ασύγχρονα συστήµατα Παθητικήστρατηγική εν έχουν καθολικό ρολόι εν έχουν άνω όριο καθυστέρησης Χρήση λογικών ρολογιών Κάθε διεργασία p i έχει ένα λογικό ρολόι LC i Υλοποίηση µε τον αλγόριθµο του Lamport Κάθε µήνυµα περιέχει τη χρονοσφραγίδα του Παράδοση µηνυµάτων µε αύξουσα σειρά χρονοσφραγίδων Πώς είµαστε σίγουροι ότι είδαµε όλα τα µηνύµατα όµως; Τα λογικά ρολόγια δεν επιτρέπουν την ανίχνευση χάσµατος Έστω δύο γεγονότα e και e µε LC(e) < LC(e ) Υπάρχει γεγονός e τέτοιο ώστε LC(e) < LC(e ) < LC(e ) ; Χρειαζόµαστε πρόσθετες πληροφορίες! Κατανεµηµένα Συστήµατα 04-12

Παθητικήστρατηγική Λογικά ρολόγια και παράδοση FIFO Αρίθµηση των µηνυµάτων κάθε διεργασίας ιασφάλιση παράδοσης FIFOανάµεσα σε p i και p 0 Έστω ότι έχουµε λάβει το mµε TS(m) εν πρόκειται να λάβουµε αργότερα m µε TS(m ) < TS(m) Πότε ένα µήνυµα είναι σταθερό (stable); Όταν έχουµε λάβει µηνύµατα µε µεγαλύτερες χρονοσφραγίδες Από όλες τις άλλες διεργασίες Κανόνας Παράδοσης 2 (ΚΠ2) Παράδωσε όλα τα µηνύµατα που είναι σταθερά Ακολουθώντας τη σειρά των χρονοσφραγίδων Στο σύγχρονο σύστηµα δεν χρειάζεται ανίχνευση χάσµατος Το άνω όριο καθυστέρησης εντοπίζει τα σταθερά µηνύµατα Άρα ο ΚΠ1 είναι παραλλαγή του ΚΠ2 Κατανεµηµένα Συστήµατα 04-13

Παθητικήστρατηγική Αιτιώδης παράδοση Η παράδοση FIFO εφαρµόζεται στα µηνύµατα µίας διεργασίας Ιδανικά θέλουµε να την γενικεύσουµε σε πολλές διεργασίες Αυτό εκφράζεται από την αιτιώδη παράδοση send i (m) send j (m ) => deliver k (m) deliver k (m ) Η παράδοση FIFO δεν αρκεί όµως Μπορεί να ισχύει για κάθε διεργασία χωριστά Συνολικά όµως µπορεί να µην έχουµε αιτιώδη παράδοση Οι ΚΠ1 και ΚΠ2 αρκούν, αλλά δεν είναι αποδοτικοί Κατανεµηµένα Συστήµατα 04-14

Παθητικήστρατηγική Μειονεκτήµατα ΚΠ1 και ΚΠ2 Η παράδοση απαιτεί τα µηνύµατα να είναι σταθερά Η σταθερότητα διασφαλίζεται µε την αναµονή Στον ΚΠ1 περιµένουµε δ Στον ΚΠ2 περιµένουµε επόµενα µηνύµατα Η αναµονή µπορεί να είναι περιττή Έστω ένα µήνυµα µε LC(e) Πρέπει να πάρουµε e µε LC(e ) > LC(e) από όλους Θα έπρεπε να περιµένουµε µόνο αν e -> e Πώς µπορούµε να αποφύγουµε την αναµονή; Χρειαζόµαστε την ισχυρή συνθήκη του ρολογιού TC(e) < TC(e') <=> e -> e Άρα χρειαζόµαστε διανυσµατικά ρολόγια Κατανεµηµένα Συστήµατα 04-15

Παθητικήστρατηγική Χρήση διανυσµατικών ρολογιών Κάθε διεργασία p i έχει ένα διανυσµατικό ρολόι VC i Τα διανυσµατικά ρολόγια ικανοποιούν την ισχυρή συνθήκη Αν συγκρίνονται, τότε τα γεγονότα έχουν αιτιώδη σχέση εν συγκρίνονται πάντα όµως Πότε ένα µήνυµα m της διεργασίας p j είναι σταθερό; εν υπάρχει νωρίτερο µήνυµα της p j που να µην παραδόθηκε Αυτό όµως δεν φτάνει Έστω m το τελευταίο µήνυµα της p k που παραδόθηκε (k<>j) εν υπάρχει m της p k που να µην παραδόθηκε τέτοιο ώστε send k (m ) -> send k (m ) -> send j (m) Η διεργασία p 0 διατηρεί έναν πίνακα µετρητών D D[i] = TS(m i )[i]για το τελευταίο µήνυµα της p i που παραδόθηκε Ουσιαστικά δείχνει πόσα µηνύµατα παραδόθηκαν από την p i Κατανεµηµένα Συστήµατα 04-16

Παθητικήστρατηγική Κανόνας παράδοσης 3 (ΚΠ3) Παράδωσε το µήνυµα mαπό την p j όταν: D[j] = TS(m)[j] 1 ηλαδή, είναι το επόµενη µήνυµα της p j D[k] >= TS(m)[k] για κάθε k<>j ηλαδή,δεν υπάρχουν προηγούµενα µηνύµατα της p k Μόλις παραδόσεις το µήνυµα m, θέσε D[j] = TS(m)[j] Ουσιαστικά, D[j]=D[j]+1 Κατανεµηµένα Συστήµατα 04-17

Ενεργητικήστρατηγική Ενεργητική στρατηγική Η p 0 ζητάει από τις διεργασίες τις τοπικές τους καταστάσεις Η p 0 συλλέγει όλες τις τοπικές καταστάσεις Η p 0 δηµιουργεί µία καθολική κατάσταση εν παρακολουθεί όλη την εκτέλεση Λέµε ότι η p 0 δηµιουργεί στιγµιότυπα (snapshots) Υποθέσεις πρωτοκόλλων στιγµιοτύπων Τα κανάλια είναι FIFO, αξιόπιστα και µίας κατεύθυνσης Η καθυστέρηση στα κανάλια είναι/δεν είναι φραγµένη Η τοπολογία δεν είναι πλήρης αλλά ισχυρά συνδεδεµένη IN i = εισερχόµενα κανάλια της p i OUTi = εξερχόµενα κανάλια της p i ιεργασίες άµεσα συνδεδεµένες µε την p i Κατανεµηµένα Συστήµατα 04-18

Ενεργητικήστρατηγική Κατάσταση καναλιών (channel state) Σε κάθε στιγµή σε ένα κανάλι βρίσκονται µηνύµατα χ i,j : µηνύµατα από την p i που δεν έχει λάβει ακόµη η p j Έχουν επηρεάσει ήδη την σ i εν έχουν επηρεάσει ακόµη την σ j Καθολική κατάσταση Τοπικές καταστάσεις συν καταστάσεις καναλιών Στόχος: κατασκευή συνεπούς καθολικής κατάστασης Κατασκευή καθολικών καταστάσεων Όταν ληφθεί το µήνυµα από την p 0 καταγράφεται η σ i Καταγράφονται όλα τα εισερχόµενα µηνύµατα για κάποια ώρα Πρέπει να υπάρχει κάποια συνθήκη τερµατισµού Επιστροφή τοπικής κατάσταση και κατάστασης καναλιών εισόδου Κατανεµηµένα Συστήµατα 04-19

Ενεργητικήστρατηγική Πρώτο πρωτόκολλο στιγµιότυπων Υπάρχει ένα καθολικό ρολόι RC Η καθυστέρηση των µηνυµάτων είναι φραγµένη Η p 0 επιλέγει µία χρονική στιγµή t ss Αρκετά µακρινή ώστε να ειδοποιηθούν εγκαίρως όλοι Η p 0 στέλνει σε όλες τις διεργασίες <λάβε στιγµιότυπο την t ss > Όταν RC = t ss κάθε διεργασία p i Καταγράφει την τοπική της κατάσταση σ i Στέλνει ένα κενό µήνυµα στα OUT i Θέτει κάθε σύνολο χ j,i ίσο µε το κενό Αρχίζει να καταγράφει τα µηνύµατα από τα IN i Όταν η p i δεχθεί το πρώτο µήνυµα από την p j µε TS(M) >= t ss Σταµατάει την καταγραφή των µηνυµάτων από την p j ηλώνει στην p 0 την κατάσταση χ j,i Κατανεµηµένα Συστήµατα 04-20

Ενεργητικήστρατηγική Πρώτο πρωτόκολλο στιγµιότυπων Η καταγραφή της σ i και η αποστολή µηνυµάτων γίνεται µαζί Άρα τα µηνύµατα αυτά είναι τα πρώτα µε TS(m) >= t ss Ουσιαστικά δείχνουν πότε πρέπει να τελειώσει η καταγραφή Τα µηνύµατα που καταγράφονται στην χ i,j Έχουν σταλεί από την χ i πριν τη στιγµή t ss Θα ληφθούν από την p j µετά τη στιγµή t ss Άρα είναι τα εκκρεµή µηνύµατα τη στιγµή t ss Τα στιγµιότυπα αντιστοιχούν σε συνεπείς καταστάσεις Έστω η τοµή C ss που αντιστοιχεί στην καθολική κατάσταση Ένα γεγονός eανήκει στην C ss αν και µόνο αν RC(e) < t ss Η συνέπεια απαιτεί (e ε C ss ) ^ (e -> e) => (e ε C ss ) Το RC διασφαλίζει ότι e -> e => RC(e ) < RC(e) Άρα (e ε C ss ) λόγω του ότι RC(e ) < RC(e) < t ss Κατανεµηµένα Συστήµατα 04-21

Ενεργητικήστρατηγική εύτερο πρωτόκολλο στιγµιότυπων Υπάρχουν λογικά ρολόγια LC i Η καθυστέρηση των µηνυµάτων δεν είναι φραγµένη Πρόβληµα: η συνθήκη LC i = t ss δεν έχει νόηµα Το ρολόι της p i µπορεί να µην λάβει ποτέ αυτή την τιµή Επιπλέον ο έλεγχος της τιµής αυξάνει το t ss κατά 1 Αλγόριθµος εκκίνησης πρωτοκόλλου στιγµιότυπων SS Αν (eεσωτερικό γεγονός ή αποστολή) και (LC = t ss - 2) Εκτέλεσε το γεγονός e Ξεκίνα την εκτέλεση του SS Αν (e λήψη) και (TS(m) >= t ss ) και (LC <= t ss - 1) Τοποθέτησε το µήνυµα πίσω στο κανάλι Ενεργοποίησε το γεγονός e για εκτέλεση Θέσε LC = t ss 1 Ξεκίνα την εκτέλεση του SS Κατανεµηµένα Συστήµατα 04-22

Ενεργητικήστρατηγική εύτερο πρωτόκολλο στιγµιότυπων Η p 0 στέλνει σε όλες τις διεργασίες <λάβε στιγµιότυπο την ω> Η ω είναι µία τιµή στην οποία αποκλείεται να φτάσει κάποιο LC i Η p 0 θέτει LC 0 = ω Όταν LC i = ωκάθε διεργασία p i Καταγράφει την τοπική της κατάσταση σ i Στέλνει ένα κενό µήνυµα στα OUT i Θέτει κάθε σύνολο χ j,i ίσο µε το κενό Αρχίζει να καταγράφει τα µηνύµατα από τα IN i Όταν η p i δεχθεί το πρώτο µήνυµα από την p j µε TS(M) >= ω Σταµατάει την καταγραφή των µηνυµάτων από την p j ηλώνει στην p0την κατάστασή χ j,i Η p 0 φτάνει άµεσα στο ω, άρα στέλνει κενά µηνύµατα Αφού το σύστηµα είναι συνεκτικό, όλες οι p i θαφτάσουν το ω Κατανεµηµένα Συστήµατα 04-23

Ενεργητικήστρατηγική Παρατηρήσεις στο δεύτερο πρωτόκολλο στιγµιότυπων Το <λάβε στιγµιότυπο την ω> είναι περιττό Το πρωτόκολλο αρκεί να ξεκινά όταν λάβουµε το κενό µήνυµα Αν όµως υπάρχουν και άλλα κενά µηνύµατα; Αντί για κενό µήνυµα, στέλνουµε <πάρε στιγµιότυπο> Πρωτόκολλο στιγµιότυπων Chandy και Lamport Η p 0 στέλνει <πάρε στιγµιότυπο> στον εαυτό της Όταν η p i δέχεται <πάρε στιγµιότυπο> από την p f για πρώτη φορά Καταγράφει την τοπική της κατάσταση σ i Στέλνει <πάρε στιγµιότυπο> στα OUT i Θέτει το σύνολο χ f,i ίσο µε το κενό Αρχίζει να καταγράφει τα µηνύµατα από τα IN i εκτός από την p f Όταν η p i δέχεται ξανά <πάρε στιγµιότυπο> από την p s <> p f Σταµατάει την καταγραφή των µηνυµάτων από την p s ηλώνει στην p 0 την κατάστασή χ s,i Κατανεµηµένα Συστήµατα 04-24

Ενεργητικήστρατηγική Παράδειγµα πρωτοκόλλου Chandy και Lamport Το χ 1,2 είναι κενό: στο γεγονός e 1 *δεν εκκρεµεί τίποτα Το χ 2,1 περιέχει το m:στο γεγονός e 2 * εκκρεµεί Ορθότητα πρωτοκόλλου Αρχική κατάσταση Σ α, τελική Σ τ, κατασκευάζει την Σ σ Τότε υπάρχει εκτέλεση Rτέτοια ώστε Σ α -> R Σ σ -> R Σ τ Κατανεµηµένα Συστήµατα 04-25