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

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

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

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

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

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

Consensus and related problems

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

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

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

Ανοχή βλαβών με καταγραφή κατάστασης και οπισθοδρόμηση (checkpoints & rollback) Κατανεμημένα Συστήματα 1

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

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

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

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

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

Διάλεξη 17: Συμφωνία με Βυζαντινά Σφάλματα. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

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

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

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

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

ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε:

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

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

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

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


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

Νήµατα. ιεργασίες και νήµατα Υλοποίηση νηµάτων Ελαφριές διεργασίες Αξιοποίηση νηµάτων. Κατανεµηµένα Συστήµατα 10-1

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

Διάλεξη 16: Πρόβλημα Συμφωνίας. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

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

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

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

Διάλεξη 18: Πρόβλημα Βυζαντινών Στρατηγών. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Κατανεμημένη συμφωνία (distributed consensus) Κατανεμημένα Συστήματα 1

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

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

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

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

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

ΑΞΙΟΠΙΣΤΙΑ ΥΛΙΚΟΥ ΚΑΙ ΛΟΓΙΣΜΙΚΟΥ

Επικοινωνία Client/Server

Κεφάλαιο 3. Διδακτικοί Στόχοι

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

//009 Βασικές εργασίες του επιπέδου ζεύξης ηµιουργία πλαισίων Έλεγχος σφαλµάτων Έλεγχος ροής Σχέση µεταξύ πακέτων (επιπέδου δικτύου) και πλαισίων (επι

a. b. c. d ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

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

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

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

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

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

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

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

Επίπεδο ζεύξης δεδοµένων

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

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

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

Τεχνολογικά Επιτεύγµατα. Πλεονεκτήµατα. Ορισµός Κατανεµηµένου Συστήµατος. Μειονεκτήµατα. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο

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

Εισαγωγή. Τεχνολογία Πολυµέσων 01-1

Στοιχεία Θεωρίας Αριθμών και Εφαρμογές στην Κρυπτογραφία. Fast Asynchronous Byzantine Agreement with Optimal Resilience

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

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

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

Εισαγωγή. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο Κατανεµηµένα συστήµατα αρχείων. Μέρη κατανεµηµένου συστήµατος αρχείων

Ο ΗΓΙΕΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΥΠΟΒΟΛΗΣ

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

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

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

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

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

Πανεπιστήµιο Θεσσαλίας

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

Κεφάλαιο 4: Λογισμικό Συστήματος

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

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

Χαρακτηρισµός Κατανεµηµένων Συστηµάτων

ΚΕΦΑΛΑΙΟ 18 ΑΞΙΟΠΙΣΤΙΑ ΛΟΓΙΣΜΙΚΟΥ

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΣΤΑ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Γ Τάξη Ε.Π.Α.Λ.

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΟΜΗ ΕΠΑΝΑΛΗΨΗΣ ΣΥΝΟΛΟ ΣΕΛΙ ΩΝ: 6

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα

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

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοηµοσύνη Ι» 7ο Φροντιστήριο 15/1/2008

Συστήματα πολυμέσων. Εισαγωγή Υλικό συστημάτων πολυμέσων Λογισμικό συστημάτων πολυμέσων Συστήματα πραγματικού χρόνου Χρονοπρογραμματισμός

Περίληψη ιπλωµατικής Εργασίας

Α2. Να γράψετε τους αριθμούς 1-5 από τη Στήλη Α και δίπλα το γράμμα της Στήλης Β που δίνει τη σωστή αντιστοίχηση.

Κωδικοποίηση βίντεο (H.261 / DVI)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

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

Τεχνικές Ανάκαµψης. Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε

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

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 9 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

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

Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 8 ο Μερική Επικάλυψη. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

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

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

Εισαγωγή στον Προγραµµατισµό. Ανάλυση (ή Επιστηµονικοί8 Υπολογισµοί)

Transcript:

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

Εισαγωγή Αποτυχία συστήµατος: απόκλιση από προδιαγραφές Αποτυχία (failure): λανθασµένη λειτουργία συστήµατος Οφείλεται σε σφάλµατα Σφάλµα (error): λανθασµένη εσωτερική κατάσταση Οφείλεται σε βλάβες Βλάβη (fault): ελάττωµα, ατέλεια ή ψεγάδι Αντιµετώπιση αποτυχιών Εντοπισµός και αντιµετώπιση σφαλµάτων και βλαβών Πρόληψη ή επανόρθωση βλαβών Ανοχή βλαβών Παροχή ορθών υπηρεσιών παρά τις βλάβες Οι βλάβες είναι αναπόφευκτες στην πράξη Χρήση τεχνικών πλεονασµού Κατανεµηµένα Συστήµατα 19-2

Εισαγωγή Τύποι βλαβών ανάλογα µε την εµφάνιση Παροδικές (transient): συµβαίνουν µία φορά ιαλείπουσες (intermittent): συµβαίνουν πότε-πότε Μόνιµες (permanent): συµβαίνουν διαρκώς Τύποι βλαβών ανάλογα µε τη συµπεριφορά Αναφέρονται σε επεξεργαστές / διεργασίες Αποτυχίας-σταµατήµατος (fail-stop) Ονοµάζονται και σιωπηλής αποτυχίας (fail-salient) Ο επεξεργαστής σταµατά να λειτουργεί εν αποκρίνεται σε είσοδο, δεν παράγει έξοδο Βυζαντινές (Byzantine) Ο επεξεργαστής συνεχίζει να λειτουργεί αυθαίρετα ίνει λανθασµένες απαντήσεις Μπορεί να συνεργάζεται µε άλλους µε κακό σκοπό Κατανεµηµένα Συστήµατα 19-3

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

Πλεονασµός Μέθοδος ανοχής βλαβών Πλεονασµός (redundancy) ή παραγωγή αντιγράφων (replication) Πολλά αντίγραφα των πόρων του συστήµατος Τύποι πλεονασµού Φυσικός πλεονασµός: αντίγραφα των φυσικών πόρων Υλοποίηση σε υλικό ή λογισµικό Κατάλληλος για αντιµετώπιση µόνιµων βλαβών Πλεονασµός πληροφοριών: προσθήκη δυφίων ελέγχου Τεχνικές διόρθωσης σφαλµάτων Προστασία κατάστασης και µηνυµάτων Πλεονασµός χρόνου: επανάληψη µίας πράξης Επανάληψη ανάγνωσης / εγγραφής ή αποστολής µηνύµατος Κατάλληλος για παροδικά σφάλµατα Κατανεµηµένα Συστήµατα 19-5

Πλεονασµός Αξιοποίηση του πλεονασµού Τι βαθµός πλεονασµού χρειάζεται; Σύστηµα διακριτών συστατικών ανεκτικό σε k βλάβες Λειτουργεί ορθά ακόµη κι αν αποτύχουν k συστατικά Συνήθως υποθέτουµε ανεξάρτητες αποτυχίες Αυτό απαιτεί αποµόνωση των διάφορων συστατικών Είδη πλεονασµού Ενεργή (ή ζεστή) παραγωγή αντιγράφων: απόκρυψη βλαβών Συνεχής συγχρονισµός όλων των αντιγράφων Παθητική (ή κρύα) παραγωγή αντιγράφων: επιδιόρθωση βλαβών Ονοµάζεται και πρωτογενής εφεδρική Ένα αντίγραφο είναι ενεργό, ενηµερώνει τα άλλα Υβριδική (ή ηµι-ενεργή) παραγωγή αντιγράφων Κατανεµηµένα Συστήµατα 19-6

Ενεργήπαραγωγή αντιγράφων Ενεργή παραγωγή αντιγράφων Όλα τα αντίγραφα των πόρων είναι ταυτόχρονα ενεργά Παράδειγµα: τριπλός δοµοενωτικός πλεονασµός (TMR) Κατανεµηµένα Συστήµατα 19-7

Ενεργήπαραγωγή αντιγράφων Τριπλός δοµοενωτικός πλεονασµός Κάθε συσκευή αναπαράγεται τρεις φορές Σε κάθε στάδιο έχουµε τρία κυκλώµατα ψηφοφορίας Βλάβη συσκευής: χρήση πλειοψηφούσας εξόδου Βλάβη ψηφοφόρου: εντοπισµός στο επόµενο στάδιο Γενίκευση: Ν-δοµοενωτικόςπλεονασµός Οµαδοποίηση πόρων σε N ενότητες σε κάθε στάδιο Χρήση της πλειοψηφούσας άποψης σε κάθε στάδιο Πόσο πρέπει να είναι το Ν για ανοχή σε k βλάβες; Σιωπηλές αποτυχίες: N k+1 Αρκεί µία ορθή απάντηση Βυζαντινές αποτυχίες: N 2k+1 Οι ορθές απαντήσεις πρέπει να πλειοψηφούν Κατανεµηµένα Συστήµατα 19-8

Ενεργήπαραγωγή αντιγράφων Μοντέλο µηχανής πεπερασµένων καταστάσεων Κάθε εξυπηρετητής δέχεται αιτήσεις και παράγει αποκρίσεις Η κατάσταση αλλάζει µόνο µε τις αιτήσεις εγγραφής Κάθε αίτηση στέλνεται σε κάθε εξυπηρετητή Όλες οι αιτήσεις λαµβάνονται µε την ίδια σειρά Αυτό απαιτεί ατοµική πολυεκποµπή! Όλοι οι ορθοί εξυπηρετητές δίνουν την ίδια απάντηση Και είναι στην ίδια κατάσταση Οι ψηφοφόροι παράγουν την πλειοψηφούσα απάντηση Ατοµική πολυεκποµπή αιτήσεων Άφιξη κάθε αίτησης σε όλους τους εξυπηρετητές Άφιξη αιτήσεων µε την ίδια σειρά σε όλους τους εξυπηρετητές Απαιτεί κάποιο µηχανισµό διάταξης γεγονότων Κατανεµηµένα Συστήµατα 19-9

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

Σύγχρονοπρωτόκολλο Υποθέσεις πρωτοκόλλου ύο εξυπηρετητές (πρωτεύων PR και εφεδρικός BU) Αξιόπιστες συνδέσεις από σηµείο σε σηµείο Γνωστό άνω φράγµα καθυστέρησης µηνυµάτων Απλό σύγχρονο πρωτόκολλο Ένας πελάτης στέλνει µία αίτηση στον PR Ο PR όταν λάβει µία αίτηση την επεξεργάζεται και Ενηµερώνει τον BU για την νέα κατάσταση Αποκρίνεται στον πελάτη (δεν περιµένει τον BU) Ο BU ενηµερώνει την κατάστασή του όταν δέχεται µηνύµατα Ο PR στέλνει µηνύµατα στον BU κάθε τ sec Αν ο BUδεν λάβει µήνυµα για τ + δ sec Αναλαµβάνει το ρόλο του PR ενηµερώνοντας τους πελάτες Κατανεµηµένα Συστήµατα 19-11

Σύγχρονοπρωτόκολλο Παράδειγµα σύγχρονου πρωτοκόλλου Ο εφεδρικός ενηµερώνεται µετά τον πρωτεύοντα Τα περιοδικά µηνύµατα δίνονται µε διακεκοµµένες γραµµές Αν αργήσουν πάνω από τ+δ έχουµε αποτυχία πρωτεύοντος Κατανεµηµένα Συστήµατα 19-12

Ασύγχρονοπρωτόκολλο Υποθέσεις πρωτοκόλλου εν υπάρχει άνω φράγµα καθυστέρησης µηνυµάτων Απλό σύγχρονο πρωτόκολλο Ένας πελάτης στέλνει µία αίτηση στον PR Ο PR όταν λάβει µία αίτηση την επεξεργάζεται και Ενηµερώνει τον BU για την νέα κατάσταση Ο BU ενηµερώνει την κατάστασή του Αποκρίνεται στον PR όταν είναι έτοιµος Ο PR στέλνει την απόκριση στον πελάτη Αντιµετώπιση κατάρρευσης του PR Έστω ότι ο πελάτης δεν λαµβάνει έγκαιρη απάντηση Η δουλειά µπορεί να έχει γίνει ήδη ή όχι σε PRκαι σε BU Η επανάληψη της ίδιας δουλειάς αποφεύγεται µόνο εν µέρει Κατανεµηµένα Συστήµατα 19-13

Ασύγχρονοπρωτόκολλο 1 αίτηση 2 επεξεργασία 3 ενηµέρωση Πελάτης Πρωτεύων Εφεδρικός 6 5 απάντηση παραδοχή 4 επεξεργασία Πότε αναλαµβάνει ο εφεδρικός; Περιοδική αποστολή µηνυµάτων στον πρωτεύοντα Αν δεν λάβει έγκαιρη απάντηση, αναλαµβάνει ως πρωτεύων Η καθυστέρηση δεν σηµαίνει απαραίτητα αποτυχία όµως! Με πολλούς εφεδρικούς τα πράγµατα είναι πιο δύσκολα Κατανεµηµένα Συστήµατα 19-14

Επανόρθωση Απόκρυψη και επανόρθωση βλαβών Στην ενεργή παραγωγή αντιγράφων έχουµε απόκρυψη Στην παθητική παραγωγή αντιγράφων έχουµε επανόρθωση Τύποι επανόρθωσης Προς τα πίσω (backward recovery) Κατάλληλη για απρόβλεπτες βλάβες Προς τα εµπρός (forward recovery) Κατάλληλη για προβλέψιµες βλάβες Επανόρθωση προς τα πίσω Περιοδική αποθήκευση της κατάστασης του συστήµατος Σηµείο ελέγχου (checkpoint) Επαναφορά στο τελευταίο σηµείο ελέγχου Οι ενδιάµεσες αλλαγές κατάστασης χάνονται Κατανεµηµένα Συστήµατα 19-15

Επανόρθωση Αποθήκευση σηµείων ελέγχου Πολυεκποµπή κατάστασης σε εφεδρικούς εξυπηρετητές Η πιο προφανής προσέγγιση Εισάγει πολλή κίνηση στο δίκτυο Αποθήκευση σε σταθερή αποθήκη (stable storage) Η πιο συνηθισµένη προσέγγιση Συνήθως υλοποιείται µε συστοιχίες δίσκων RAID Σκιώδεις σελίδες (shadow pages) Παρακολούθηση της κατάστασης ανάµεσα σε σηµεία ελέγχου Κάθε σελίδα που τροποποιείται αντιγράφεται Σε περίπτωση αποτυχίας επανερχόµαστε στις παλιές σελίδες Σε περίπτωση επιτυχίας χρησιµοποιούνται οι νέες σελίδες Κατανεµηµένα Συστήµατα 19-16

Επανόρθωση Επανόρθωση προς τα εµπρός Παράδειγµα υβριδικής παραγωγής αντιγράφων ιορατική εκτέλεση µε επαναφορά Ταυτόχρονη εκτέλεση όλων των διεργασιών Σε κάθε σηµείο ελέγχου συγκρίνεται η κατάσταση Αν κάποια κατάσταση πλειοψηφεί Το αποτέλεσµα αποθηκεύεται στη σταθερή αποθήκη Οι διεργασίες συνεχίζουν την εκτέλεση από αυτό το αποτέλεσµα Αν δεν πλειοψηφεί καµία κατάσταση Οι διεργασίες συνεχίζουν από το τελευταίο σηµείο ελέγχου Μία νέα διεργασία εκτελείται από το προηγούµενο σηµείο ελέγχου Η νέα διεργασία δίνει το σωστό αποτέλεσµα (πλειοψηφία) Κρατάµε τα σηµεία ελέγχου που βασίζονται στο σωστό αποτέλεσµα Κατανεµηµένα Συστήµατα 19-17

Επανόρθωση Παράδειγµα προς τα εµπρός επανόρθωσης Η νέα διεργασία Sβρίσκεται ένα βήµα πίσω από τις Xκαι Y Κατανεµηµένα Συστήµατα 19-18

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

Κατανεµηµένησυµφωνία Προβλήµατα κατανεµηµένης συµφωνίας Επίτευξη συµφωνίας µεταξύ συνόλου διεργασιών Εκλογή αρχηγού, συναλλαγές, συγχρονισµός Προβλήµατα: βλάβες επικοινωνίες και βλάβες διεργασιών Βασικό πρωτόκολλο κατανεµηµένης συµφωνίας Κάθε διεργασία στέλνει την τοπική της απόφαση σε όλους Κάθε διεργασία αποφασίζει κατά πλειοψηφία Συνεκτιµά τις αποφάσεις των άλλων και τη δική της Απαιτήσεις ορθότητας πρωτοκόλλου Συνέπεια: όλες οι ορθές διεργασίες λαµβάνουν την ίδια απόφαση Εγκυρότητα: λαµβάνεται η απόφαση µιας ορθής διεργασίας Τερµατισµός: λήψη απόφασης σε πεπερασµένα βήµατα Κατανεµηµένα Συστήµατα 19-20

Κατανεµηµένησυµφωνία Πιθανές υποθέσεις για το σύστηµα Το σύστηµα είναι σύγχρονο (A=1) ή ασύγχρονο (A=0) Η καθυστέρηση είναι φραγµένη (B=1) ή µη φραγµένη (B=0) Τα µηνύµατα είναι διατεταγµένα (C=1) ή µη διατεταγµένα (C=0) Μετάδοση από σηµείο σε σηµείο (D=0) ή πολυεκποµπή (D=1) Πότε είναι εφικτή η συµφωνία; Για να έχουµε συµφωνία πρέπει AB+AC+CD=1 Παράδειγµα: µε A B CD =1 δεν έχουµε συµφωνία Ασύγχρονο σύστηµα, µη φραγµένη καθυστέρηση ιατεταγµένα µηνύµατα, µετάδοση από σηµείο σε σηµείο Γενική περίπτωση επικοινωνίας µέσω αναξιόπιστου δικτύου! Πρέπει οπωσδήποτε είτε AB, είτε AC, είτε CD CD σηµαίνει ότι έχουµε ατοµική πολυεκποµπή Κατανεµηµένα Συστήµατα 19-21

Κατανεµηµένησυµφωνία Παράδειγµα µε σύγχρονο σύστηµα Υποθέτουµε αξιόπιστη επικοινωνία Έστω ότι η p 1 δεν λειτουργεί σωστά Η επίτευξη συµφωνίας εξαρτάται από το τι βλάβες έχουµε Αποτυχίας σταµατήµατος (ναι) ή Βυζαντινές (όχι) Κατανεµηµένα Συστήµατα 19-22

Πρόβληµατων δύο στρατών Το πρόβληµα των δύο στρατών (two army problem) Κλασικό πρόβληµα συµφωνίας µε αναξιόπιστα κανάλια Ο κόκκινος στρατός έχει στρατοπεδεύσει σε µία κοιλάδα Έστω ότι ο κόκκινος στρατός έχει 5000 στρατιώτες Οι µπλε στρατοί βρίσκονται στους απέναντι λόφους Έστω ότι οι µπλε στρατοί έχουν από 3000 στρατιώτες Μπορούν να συµφωνήσουν οι µπλε στρατοί αν θα επιτεθούν; Αν επιτεθεί µόνο ο ένας θα ηττηθεί Αν επιτεθούν και οι δύο θα νικήσουν Ο µόνος τρόπος επικοινωνίας είναι µέσω της κοιλάδας Άρα οι αγγελιοφόροι µπορεί να µην φτάσουν ποτέ Γενικά, κανάλι επικοινωνίας χωρίς άνω όριο καθυστέρησης Οι διοικητές των στρατών (διεργασίες) είναι αξιόπιστοι Οι αγγελιοφόροι όµως (κανάλια) δεν είναι! Κατανεµηµένα Συστήµατα 19-23

Πρόβληµατων δύο στρατών Πρωτόκολλο συµφωνίας Ο διοικητής Α στέλνει στον Β το µήνυµα επίθεση Ο διοικητής Β αποκρίνεται µε το µήνυµα επίθεση Άρα ο Α γνωρίζει ότι ο Β πήρε το πρώτο µήνυµα Ο Β όµως δεν γνωρίζει αν ο Α πήρε το δεύτερο µήνυµα Το πρόβληµα δεν λύνεται όσες επιβεβαιώσεις και αν έχουµε! Ο αποστολέας δεν είναι βέβαιος αν έφτασε το τελευταίο µήνυµα Άρα δεν είναι βέβαιος ότι επιτεύχθηκε συµφωνία Έστω ότι υπήρχε ένα πρωτόκολλο συµφωνίας Έστω ότι χρειάζεται Ν µηνύµατα για να τερµατίσει Αν χαθεί το µήνυµα Ν τι γίνεται; Ο αποστολέας δεν µπορεί να ξέρει αν έφτασε! Άρα η συµφωνία δεν είναι εφικτή ακόµη και µε ορθές διεργασίες Αρκεί το κανάλι να είναι αναξιόπιστο Κατανεµηµένα Συστήµατα 19-24

ΠρόβληµαΒυζαντινών στρατηγών Βυζαντινοί στρατηγοί (Byzantine generals) Κλασικό πρόβληµα συµφωνίας µε αναξιόπιστες διεργασίες Πάλι έχουµε έναν µεγάλο κόκκινο στρατό στην κοιλάδα Στους λόφους έχουν στρατοπεδεύσει n µπλε στρατοί Το σύνολο των µπλε στρατών είναι µεγαλύτερο του κόκκινου Η επικοινωνία κάθε ζεύγους στρατηγών είναι αξιόπιστη υστυχώς m από τους στρατηγούς είναι προδότες Άρα έχουµε l = n m πιστούς στρατηγούς Εννοείται ότι δεν ξέρουµε ποιοι είναι πιστοί και ποιοι προδότες Οι στρατηγοί ανταλλάσσουν τις δυνάµεις των στρατών τους Οι πιστοί στρατηγοί λένε τις πραγµατικές τους δυνάµεις Οι προδότες µπορούν να λένε διαφορετικά ψέµατα κάθε φορά Μπορούν οι πιστοί στρατηγοί να καταλήξουν σε συµφωνία; Η συµφωνία πρέπει να βασίζεται µόνο στους πιστούς στρατηγούς Κατανεµηµένα Συστήµατα 19-25

ΠρόβληµαΒυζαντινών στρατηγών Μορφοποίηση προβλήµατος Κάθε στρατηγός κατασκευάζει ένα διάνυσµα v[] Κάθε θέση του διανύσµατος περιέχει τη δύναµη ενός στρατού Στόχος: οι πιστοί στρατηγοί να ανταλλάξουν τις τιµές τους Έστω ότι ο στρατηγός k είναι πιστός Όλοι οι πιστοί στρατηγοί πρέπει να έχουν τη σωστή τιµή στο v[k] Αλγόριθµος του Lamport Κάθε στρατηγός στέλνει τη δύναµή του σε όλους τους άλλους Όλοι φτιάχνουν ένα διάνυσµα µε τις δυνάµεις Κάθε στρατηγός στέλνει το διάνυσµά του σε όλους τους άλλους Κάθε στρατηγός ορίζει κάθε θέση του διανύσµατος Πλειοψηφία των τιµών που έλαβε από τους άλλους Αν δεν υπάρχει πλειοψηφία η θέση είναι αόριστη Κατανεµηµένα Συστήµατα 19-26

ΠρόβληµαΒυζαντινών στρατηγών 2 1 1 2 4 x 1 4 1 2 2 y 4 3 z Παράδειγµα: n = 4 διεργασίες, m = 1 προδότης Κάθε διεργασία στέλνει τον αριθµό της στους άλλους Η διεργασία 3 (προδότης) στέλνει αυθαίρετες τιµές Οι πιστοί πρέπει να συµφωνήσουν στο διάνυσµα [1,2,-,4] Η διεργασία 3 έτσι κι αλλιώς είναι προδότης 4 Κατανεµηµένα Συστήµατα 19-27

ΠρόβληµαΒυζαντινών στρατηγών ιεργασία 1 2 3 4 1ος γύρος 12x4 12y4???? 12z4 2ος γύρος 12y4 12x4???? 12x4 abcd efgh???? 12y4 12z4 12z4???? Ijkl Απόφαση 12?4 12?4???? 12?4 Πόσο ανθεκτικός είναι ο αλγόριθµος; Έστω ότι έχουµε m διεργασίες µε Βυζαντινές βλάβες Για συµφωνία πρέπει να έχουµε n >= 3m + 1 Άρα χρειαζόµαστε πλειοψηφία δύο τρίτων Προσοχή: αυτό ισχύει για αξιόπιστη επικοινωνία Κατανεµηµένα Συστήµατα 19-28

ΠρόβληµαΒυζαντινών στρατηγών ιεργασία 1 2 3 2 1 1ος γύρος 12x 12y??? 1 2 2ος γύρος 12y 12x4??? abc def??? x 2 y 1 Απόφαση????????? 3 Παράδειγµα αποτυχίας του αλγόριθµου Έστω n = 3 διεργασίες, m = 1 προδότης Παίρνουµε στοιχεία από 2 διεργασίες εν υπάρχει πλειοψηφία πιστών στρατηγών Κατανεµηµένα Συστήµατα 19-29

ΠρόβληµαΒυζαντινών στρατηγών Τι γίνεται όταν η επικοινωνία είναι αναξιόπιστη; Έστω ότι τα µηνύµατα δεν έχουν πεπερασµένη καθυστέρηση εν διακρίνεται η αργή από την πεσµένη διεργασία! εν έχουµε συµφωνία ακόµη και µε µία βλάβη Ακόµη και αν η βλάβη δεν είναι Βυζαντινή! Παράδειγµα µε 3 διεργασίες και 1 βλάβη Έστω ότι η κατάσταση είναι 1 δυφίο Τρεις δυνατές περιπτώσεις για τις ορθές διεργασίες Κατάσταση 0 και 0, 0 και 1, 1 και 1 Οι καταστάσεις είναι συµµετρικές Η προβληµατική διεργασία δίνει αυθαίρετες τιµές ίνει τιµές 0 και 1 έτσι ώστε να µην έχουµε συµφωνία Άρα εδώ υποθέτουµε Βυζαντινές βλάβες Κατανεµηµένα Συστήµατα 19-30

ΠρόβληµαΒυζαντινών στρατηγών Πρώτη περίπτωση: κατάσταση 0 και 0 Άρα η απόφαση πρέπει να είναι 0 για τις ορθές διεργασίες Έστω ότι ο αλγόριθµος δουλεύει σωστά εδώ εύτερη περίπτωση: κατάσταση 1 και 0 Η p 3 πρέπει να πάρει απόφαση 0 Έχει τις ίδιες ακριβώς εισόδους µε την πρώτη περίπτωση Άρα και η p 1 πρέπει να πάρει απόφαση 0 Κατανεµηµένα Συστήµατα 19-31

ΠρόβληµαΒυζαντινών στρατηγών Τρίτη περίπτωση: καταστάσεις 1 και 1 Η p 1 πρέπει να πάρει απόφαση 0 Έχει τις ίδιες ακριβώς εισόδους µε την δεύτερη περίπτωση Άρα και η p 2 πρέπει να πάρει απόφαση 0 Καµία ορθή διεργασία δεν έχει κατάσταση 1 όµως Άρα ο αλγόριθµος δίνει µη έγκυρο αποτέλεσµα Άρα δεν µπορεί να έχουµε συµφωνία Κατανεµηµένα Συστήµατα 19-32