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

Σχετικά έγγραφα
Ανοχήβλαβών. Κατανεµηµένα Συστήµατα 19-1

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

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

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

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

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

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

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

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

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

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

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

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

ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ. ΕΝΟΤΗΤΑ: Γραμμικές Συναρτήσεις Διάκρισης. ΔΙΔΑΣΚΟΝΤΕΣ: Βλάμος Π. Αυλωνίτης Μ. ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

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

4η ιάλεξη. UML ιαγράμματα αλληλεπίδρασης

Consensus and related problems

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

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

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

Εισαγωγή στη Δικτύωση Υπολογιστών

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΜΑΘΗΜΑ: Δίκτυα Υψηλών Ταχυτήτων

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Ελεγκτική. Ενότητα # 10: Δοκιμασία εσωτερικών δικλίδων

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Cretive Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπ

Εισαγωγή στη Δικτύωση Υπολογιστών

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 4: Εισαγωγή / Σύνολα

Τεχνολογία Λογισμικού

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Λειτουργίες CNC-DNC. Επισκόπηση λειτουργιών CNC Επισκόπηση λειτουργιών DNC Επικοινωνίες. Λειτουργίες CNC-DNC. Γ.Βοσνιάκος-ΕΡΓΑΛΕΙΟΜΗΧΑΝΕΣ

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

Αναγνώριση Προτύπων Ι

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

Συστήματα Υποστήριξης Αποφάσεων

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

Πληροφορική. Εργαστηριακή Ενότητα 3 η : Επεξεργασία Κελιών Γραμμών & Στηλών. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

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

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

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

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

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

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΜΑΘΗΜΑ: ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ. ΕΝΟΤΗΤΑ: Διανυσματικοί Χώροι (1) ΔΙΔΑΣΚΩΝ: Βλάμος Παναγιώτης ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Rational Unified Process. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Στατιστική Ι. Ενότητα 9: Κατανομή t-έλεγχος Υποθέσεων. Δρ. Γεώργιος Κοντέος Τμήμα Διοίκησης Επιχειρήσεων Γρεβενών

Μάθημα: Ακουστική και Ψυχοακουστική

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Προχωρημένα Θέματα Προγραμματισμού Δικτύων

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Θέματα Συστημάτων Πολυμέσων. Ενότητα # 8: MPEG Διδάσκων: Γεώργιος Πολύζος Τμήμα: Μεταπτυχιακό Πρόγραμμα Σπουδών Επιστήμη των Υπολογιστών

Τηλεπισκόπηση - Φωτοερμηνεία Ενότητα 11: Είδη Ταξινομήσεων Επιβλεπόμενες Ταξινομήσεις Ακρίβειες.

Υπολογιστικά & Διακριτά Μαθηματικά

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ)

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

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

Τεχνολογία Λογισμικού

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 6 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ. url:

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Στατιστική Επιχειρήσεων ΙΙ

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 1: Εισαγωγή

ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Transcript:

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

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Οικονομικό Πανεπιστήμιο Αθηνών» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 2

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Οι εικόνες προέρχονται από το βιβλίο «Κατανεμημένα Συστήματα με Java», Ι. Κάβουρας, Ι. Μήλης, Γ. Ξυλωμένος, Α. Ρουκουνάκη, 3 η έκδοση, 2011, Εκδόσεις Κλειδάριθμος. 3

Σκοποί ενότητας Κατανόηση των εννοιών βλάβη, σφάλμα, αποτυχία και των διαφόρων τύπων βλαβών. Εισαγωγή στις βασικές τεχνικές ανοχής βλαβών μέσω πλεονασμού. Κατανόηση των διαφορετικών μεθόδων παραγωγής αντιγράφων και αποκατάστασης. Εισαγωγή στα προβλήματα κατανεμημένης συμφωνίας. 4

Περιεχόμενα ενότητας Εισαγωγή Πλεονασμός Ενεργή παραγωγή αντιγράφων Παθητική παραγωγή αντιγράφων Αποκατάσταση Κατανεμημένη συμφωνία 5

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

Έννοια της βλάβης Αποτυχία (failure) Λανθασμένη λειτουργία συστήματος Οφείλεται σε σφάλματα Σφάλμα (error) Λανθασμένη εσωτερική κατάσταση Οφείλεται σε βλάβες Βλάβη (fault) Ελάττωμα, ατέλεια ή ψεγάδι 7

Ανοχή βλαβών Αντιμετώπιση αποτυχιών Εντοπισμός/αντιμετώπιση σφαλμάτων/βλαβών Πρόληψη ή επανόρθωση βλαβών Ανοχή βλαβών Παροχή ορθών υπηρεσιών παρά τις βλάβες Οι βλάβες είναι αναπόφευκτες στην πράξη Χρήση τεχνικών πλεονασμού 8

Τύποι βλαβών (1 από 2) Ανάλογα με την εμφάνιση Παροδικές (transient) Συμβαίνουν μία φορά μόνο Διαλείπουσες (intermittent) Συμβαίνουν πότε-πότε Απρόβλεπτη συμπεριφορά Μόνιμες (permanent) Συμβαίνουν διαρκώς αφού εμφανιστούν 9

Τύποι βλαβών (2 από 2) Ανάλογα με τη συμπεριφορά Αποτυχίας-σταματήματος (fail-stop) Ονομάζονται και σιωπηλής αποτυχίας (fail-silent) Ο επεξεργαστής σταματά να λειτουργεί Δεν αποκρίνεται σε είσοδο, δεν παράγει έξοδο Βυζαντινές (Byzantine) Ο επεξεργαστής συνεχίζει να λειτουργεί αυθαίρετα Δίνει λανθασμένες απαντήσεις Μπορεί να συνεργάζεται με άλλους με κακό σκοπό 10

Βυζαντινές βλάβες Γιατί Βυζαντινές (Byzantine); Αναφορά στις μηχανορραφίες του Βυζαντίου Η πιο δύσκολη κατηγορία βλαβών Μέρη του συστήματος δρουν εναντίον του Μεμονωμένα ή και σε συνεργασία Δύο είδη Βυζαντινών βλαβών Μέρη του συστήματος ελέγχονται από άλλους Μέρη του συστήματος λειτουργούν απρόβλεπτα 11

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

Γιατί πλεονασμός; Πλεονασμός (redundancy) Βασική μέθοδος ανοχής βλαβών Προσθήκη πόρων στο σύστημα για αξιοπιστία Μικρή πιθανότητα να αποτύχουν όλοι Προφανώς, ο πλεονασμός έχει κόστος! Παραγωγή αντιγράφων (replication) Πολλά αντίγραφα των πόρων Ειδική περίπτωση πλεονασμού 13

Τύποι πλεονασμού Φυσικός πλεονασμός: αντίγραφα πόρων Υλοποίηση σε υλικό ή λογισμικό Κατάλληλος για αντιμετώπιση μόνιμων βλαβών Πλεονασμός πληροφοριών: δυφία ελέγχου Τεχνικές διόρθωσης σφαλμάτων Προστασία κατάστασης και μηνυμάτων Πλεονασμός χρόνου: επανάληψη πράξης Επανάληψη ανάγνωσης / εγγραφής Κατάλληλος για παροδικά σφάλματα 14

Αξιοποίηση πλεονασμού Αξιοποίηση του πλεονασμού Τι βαθμός πλεονασμού χρειάζεται; Έστω σύστημα διακριτών συστατικών Λέμε ότι είναι ανεκτικό σε k βλάβες Λειτουργεί ορθά αν αποτύχουν k συστατικά Συνήθως υποθέτουμε ανεξάρτητες αποτυχίες Απαιτεί απομόνωση των διάφορων συστατικών 15

Τύποι παραγωγής αντιγράφων Ενεργή (ή θερμή) παραγωγή αντιγράφων Συνεχής συγχρονισμός όλων των αντιγράφων Παθητική (ή ψυχρή) παραγωγή αντιγράφων Ονομάζεται και πρωτεύουσα εφεδρική Ένα ενεργό αντίγραφο, ενημερώνει τα άλλα Υβριδική παραγωγή αντιγράφων Ονομάζεται και ημι-ενεργή Συνδυασμός παθητικής και ενεργής 16

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

Αρθρωτός πλεονασμός (1 από 5) A 1 AB 1 AC 1 (α) A 1 V 1 A V 1 1 AB 1 AC V 1 7 V 4 A V 12 2 AB 12 AC V 12 8 V 5 A V 13 3 AB 13 AC V 13 9 Τριπλός αρθρωτός πλεονασμός (TMR) Κάθε συσκευή αναπαράγεται τρεις φορές (β) V 6 Σε κάθε στάδιο έχουμε τρία κυκλώματα ψηφοφορίας Βλάβη συσκευής: χρήση πλειοψηφούσας εξόδου Βλάβη ψηφοφόρου: εντοπισμός στο επόμενο στάδιο 18

Αρθρωτός πλεονασμός (2 από 5) Γενίκευση: Ν-αρθρωτός πλεονασμός Ομαδοποίηση πόρων σε N ενότητες Επανάληψη σε κάθε στάδιο Χρήση πλειοψηφούσας άποψης ανά στάδιο Μεγάλες απαιτήσεις σε πόρους Χρήση σε πολύ απαιτητικές εφαρμογές Παράδειγμα: διαστημόπλοια! 19

Αρθρωτός πλεονασμός (3 από 5) Μηχανή πεπερασμένων καταστάσεων Εξυπηρετητής: δέχεται αιτήσεις/παράγει αποκρίσεις Η κατάσταση αλλάζει μόνο με τις αιτήσεις εγγραφής Κάθε αίτηση στέλνεται σε κάθε εξυπηρετητή Όλες οι αιτήσεις λαμβάνονται με την ίδια σειρά Όλοι οι ορθοί εξυπηρετητές δίνουν ίδια απάντηση Και είναι στην ίδια κατάσταση Οι ψηφοφόροι παράγουν πλειοψηφούσα απάντηση 20

Αρθρωτός πλεονασμός (4 από 5) Ατομική πολυεκπομπή αιτήσεων Άφιξη αίτησης σε όλους τους εξυπηρετητές Με την ίδια σειρά σε όλους τους εξυπηρετητές Απαιτεί μηχανισμό διάταξης γεγονότων Παράδειγμα: εξυπηρετητής αρίθμησης Οι αιτήσεις στέλνονται πρώτα στον εξυπηρετητή Εκεί αριθμούνται για να επιβληθεί η διάταξη Πρέπει να υπάρχει εφεδρικός εξυπηρετητής όμως! 21

Αρθρωτός πλεονασμός (5 από 5) Πόσο είναι το Ν για ανοχή σε k βλάβες; Σιωπηλές αποτυχίες: N k+1 Αρκεί μία ορθή απάντηση Βυζαντινές αποτυχίες: N 2k+1 Οι ορθές απαντήσεις πρέπει να πλειοψηφούν Θεωρούμε ότι οι λανθασμένες μπορεί να είναι ίδιες Ουσιαστικά υποθέτουμε το χειρότερο αποτέλεσμα Δυστυχώς, δεν ξέρουμε πόσοι απέτυχαν 22

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

Μοντέλο παθητικής παραγωγής Ένας πρωτεύων/πολλοί εφεδρικοί εξυπηρετητές Οι πελάτες στέλνουν αιτήσεις στον πρωτεύοντα Οι εφεδρικοί συγχρονίζονται με τον πρωτεύοντα Αυτό απαιτεί κάποιο ανεξάρτητο πρωτόκολλο Σε περίπτωση αποτυχίας αναλαμβάνει εφεδρικός Χρειάζεται πάλι κάποιο πρωτόκολλο Πρέπει να ενημερωθούν και οι πελάτες 24

Παθητικός συγχρονισμός Διαφορετικής φύσης πρόβλημα Ενεργή: ατομική πολυεκπομπή Παθητική: συγχρονισμός με συντονιστή Πρωτόκολλα παθητικής παραγωγής Συγχρονισμός εφεδρικών εξυπηρετητών Και ανάληψη ευθύνης συντονιστή Σύγχρονα και ασύγχρονα πρωτόκολλα 25

Σύγχρονο πρωτόκολλο (1 από 3) Υποθέσεις σύγχρονου πρωτοκόλλου Δύο εξυπηρετητές Πρωτεύων (PR) και Εφεδρικός (BU) Αξιόπιστες συνδέσεις από σημείο σε σημείο Δεν χάνονται μηνύματα Άνω φράγμα καθυστέρησης μηνυμάτων δ Το φράγμα είναι γνωστό Περιλαμβάνει και πρωτόκολλο αντικατάστασης 26

Σύγχρονο πρωτόκολλο (2 από 3) Απλό σύγχρονο πρωτόκολλο Ένας πελάτης στέλνει μία αίτηση στον PR Ο PR επεξεργάζεται την αίτηση και Ενημερώνει τον BU για την νέα κατάσταση Αποκρίνεται στον πελάτη (δεν περιμένει τον BU) Ο BU ενημερώνει την κατάστασή του Ο PR στέλνει μηνύματα στον BU κάθε τ sec Αν ο BU δεν λάβει μήνυμα για τ + δ sec Αναλαμβάνει ως PR ενημερώνοντας τους πελάτες 27

Σύγχρονο πρωτόκολλο (3 από 3) πελάτης <=δ 1 3 4 πρωτεύων κατάρρευση! τ 2 εφεδρικός Παράδειγμα σύγχρονου πρωτοκόλλου Ο εφεδρικός ενημερώνεται μετά τον πρωτεύοντα Ο πρωτεύοντας δεν περιμένει επιβεβαίωση Τα περιοδικά μηνύματα με διακεκομμένες γραμμές Αν αργήσουν πάνω από τ+δ, αποτυχία πρωτεύοντος >τ+δ Αναλαμβάνει αυτόματα ο εφεδρικός 28

Ασύγχρονο πρωτόκολλο (1 από 3) Απλό ασύγχρονο πρωτόκολλο (χωρίς άνω όριο δ) Ένας πελάτης στέλνει μία αίτηση στον PR Ο PR όταν λάβει μία αίτηση την επεξεργάζεται και Ενημερώνει τον BU για την νέα κατάσταση Ο BU ενημερώνει την κατάστασή του Αποκρίνεται στον PR όταν είναι έτοιμος Ο PR στέλνει την απόκριση στον πελάτη 1 αίτηση 2 επεξεργασία 3 ενημέρωση Πελάτης Πρωτεύων Εφεδρικός 6 απάντηση 5 παραδοχή 4 επεξεργασία 29

Ασύγχρονο πρωτόκολλο (2 από 3) Αντιμετώπιση κατάρρευσης του PR Ο πελάτης δεν λαμβάνει έγκαιρη απάντηση Η δουλειά μπορεί να έχει γίνει ήδη ή όχι Σε PR και ίσως και σε BU Η επανάληψη δουλειάς αποφεύγεται δύσκολα Εισαγωγή αναγνωριστικών στα μηνύματα Διάκριση των επαναλήψεων 30

Ασύγχρονο πρωτόκολλο (3 από 3) Πότε αναλαμβάνει ο εφεδρικός; Περιοδική αποστολή μηνυμάτων στον PR Αν δεν λάβει απάντηση, αναλαμβάνει πρωτεύων Καθυστέρηση <> αποτυχία όμως! Μπορεί απλά ο πρωτεύων να είναι φορτωμένος Πιο δύσκολα με πολλούς εφεδρικούς Χρειαζόμαστε κατανεμημένη συμφωνία 31

Ενεργητική ή παθητική; (1 από 2) Παθητική παραγωγή αντιγράφων Εντοπισμός βλαβών και ανάκαμψη Λιγότερα αντίγραφα των πόρων Μηνύματα μόνο με τα εφεδρικά αντίγραφα Απαιτεί συνεπή σημεία ελέγχου Δεν αντιμετωπίζει Βυζαντινές βλάβες 32

Ενεργητική ή παθητική; (2 από 2) Ενεργή παραγωγή αντιγράφων Απόκρυψη βλαβών με ψηφοφορία Περισσότερα αντίγραφα πόρων Μηνύματα με κάθε ενεργό αντίγραφο Απαιτεί ατομική πολυεκπομπή Αντιμετωπίζει και Βυζαντινές βλάβες 33

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

Τύποι αποκατάστασης Απόκρυψη ή αποκατάσταση βλαβών; Ενεργή παραγωγή: απόκρυψη Παθητική παραγωγή: αποκατάσταση Τύποι αποκατάστασης Αντίστροφη (backward recovery) Κατάλληλη για απρόβλεπτες βλάβες Ευθεία (forward recovery) Κατάλληλη για προβλέψιμες βλάβες 35

Αντίστροφη αποκατάσταση (1 από 2) Αντίστροφη αποκατάσταση Περιοδική αποθήκευση κατάστασης συστήματος Σημείο ελέγχου (checkpoint) Επαναφορά στο τελευταίο σημείο ελέγχου Οι ενδιάμεσες αλλαγές κατάστασης χάνονται Πολυεκπομπή κατάστασης σε εφεδρικούς Η πιο προφανής προσέγγιση Εισάγει πολλή κίνηση στο δίκτυο 36

Αντίστροφη αποκατάσταση (2 από 2) Αποθήκευση σε σταθερή αποθήκη Η πιο συνηθισμένη προσέγγιση Συνήθως υλοποιείται με συστοιχίες RAID Σκιώδεις σελίδες Έλεγχος κατάστασης ανάμεσα σε σημεία ελέγχου Κάθε σελίδα που τροποποιείται αντιγράφεται Σε αποτυχία επανερχόμαστε στις παλιές σελίδες Σε επιτυχία χρησιμοποιούνται οι νέες σελίδες 37

Ευθεία αποκατάσταση (1 από 2) Διορατική εκτέλεση με επαναφορά Ταυτόχρονη εκτέλεση όλων των διεργασιών Σε κάθε σημείο ελέγχου συγκρίνεται η κατάσταση Αν κάποια κατάσταση πλειοψηφεί Το αποτέλεσμα αποθηκεύεται σε σταθερή αποθήκη Οι διεργασίες συνεχίζουν από αυτό το αποτέλεσμα Αν δεν πλειοψηφεί καμία κατάσταση Οι διεργασίες συνεχίζουν από τελευταίο σημείο ελέγχου Μία νέα εκτελείται από προηγούμενο σημείο ελέγχου Η νέα δίνει το σωστό αποτέλεσμα (πλειοψηφία) 38

Ευθεία αποκατάσταση (2 από 2) σημεία ελέγχου X Y I i I i+1 I i+2 Z I i I i+1 διαστήματα επικύρωσης Παράδειγμα ευθείας αποκατάστασης Οι X και Y διαφωνούν μετά το I i Νέα διεργασία στον Z για να δώσει πλειοψηφία Η νέα βρίσκεται ένα βήμα πίσω από τις X και Y 39

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

Πρωτόκολλα συμφωνίας (1 από 4) Προβλήματα κατανεμημένης συμφωνίας Επίτευξη συμφωνίας σε σύνολο διεργασιών Εκλογή αρχηγού, συναλλαγές, συγχρονισμός Προβλήματα: βλάβες επικοινωνίας και διεργασιών Βασικό πρωτόκολλο κατανεμημένης συμφωνίας Κάθε διεργασία στέλνει την απόφαση της σε όλους Κάθε διεργασία αποφασίζει κατά πλειοψηφία Συνεκτιμά τις αποφάσεις των άλλων και τη δική της 41

Πρωτόκολλα συμφωνίας (2 από 4) Απαιτήσεις ορθότητας πρωτοκόλλου Συνέπεια: οι ορθές διεργασίες λαμβάνουν ίδια απόφαση Εγκυρότητα: λαμβάνεται απόφαση μιας ορθής διεργασίας Τερματισμός: λήψη απόφασης σε πεπερασμένα βήματα Πιθανές υποθέσεις για το σύστημα Σύστημα σύγχρονο (A=1) ή ασύγχρονο (A=0) Καθυστέρηση φραγμένη (B=1) ή μη φραγμένη (B=0) Μηνύματα διατεταγμένα (C=1) ή μη διατεταγμένα (C=0) Μετάδοση σημείο σε σημείο (D=0) ή πολυεκπομπή (D=1) 42

Πρωτόκολλα συμφωνίας (3 από 4) Πότε είναι εφικτή η συμφωνία; Για συμφωνία πρέπει AB+AC+CD=1 Παράδειγμα: με A B CD =1 δεν έχουμε Ασύγχρονο σύστημα, μη φραγμένη καθυστέρηση Διατεταγμένα μηνύματα, μετάδοση σημείο σε σημείο Περίπτωση επικοινωνίας μέσω αναξιόπιστου δικτύου! Πρέπει οπωσδήποτε είτε AB, είτε AC, είτε CD CD σημαίνει ότι έχουμε ατομική πολυεκπομπή 43

Πρωτόκολλα συμφωνίας (4 από 4) παραλήπτης αποστολέας απόφαση p 1 p 2 p 3 p 4 p 1 - - - - p 2 Τ Τ Τ Τ p 3 F F F F Τ Τ Τ Τ p 4 - Τ Τ Τ (α) παραλήπτης αποστολέας απόφαση p 1 p 1 T p 2 F p 3 F p 4 T p 2 Τ Τ Τ Τ p 3 F F F F p 4 Τ Τ Τ Τ - Τ F Τ (β) Παράδειγμα με σύγχρονο σύστημα Υποθέτουμε αξιόπιστη επικοινωνία Έστω ότι η p 1 δεν λειτουργεί σωστά Η συμφωνία εξαρτάται από το τι βλάβες έχουμε 44

Πρόβλημα δύο στρατών (1 από 4) Κλασικό πρόβλημα με αναξιόπιστα κανάλια Ο κόκκινος στρατός είναι σε μία κοιλάδα Έστω ότι έχει 5000 στρατιώτες Οι δύο μπλε στρατοί είναι στους γύρω λόφους Έστω ότι έχουν από 3000 στρατιώτες Μπορούν να συμφωνήσουν αν θα επιτεθούν; Αν επιτεθεί μόνο ο ένας θα ηττηθεί Αν επιτεθούν και οι δύο θα νικήσουν 45

Πρόβλημα δύο στρατών (2 από 4) Επικοινωνία μόνο μέσω της κοιλάδας Οι αγγελιοφόροι μπορεί να μην φτάσουν ποτέ Κανάλι επικοινωνίας χωρίς όριο καθυστέρησης Οι διοικητές των στρατών είναι αξιόπιστοι Αξιόπιστες διεργασίες Οι αγγελιοφόροι όμως δεν είναι! Αναξιόπιστα κανάλια 46

Πρόβλημα δύο στρατών (3 από 4) Απλό πρωτόκολλο συμφωνίας Ο διοικητής Α στέλνει στον Β μήνυμα επίθεση Ο διοικητής Β αποκρίνεται με μήνυμα επίθεση Άρα ο Α γνωρίζει ότι ο Β πήρε το πρώτο μήνυμα Ο Β δεν γνωρίζει αν ο Α πήρε το δεύτερο μήνυμα Το πρόβλημα δεν λύνεται με επιβεβαιώσεις! Ο αποστολέας δεν ξέρει αν έφτασε το τελευταίο Άρα δεν είναι βέβαιος ότι επιτεύχθηκε συμφωνία 47

Πρόβλημα δύο στρατών (4 από 4) Γιατί δεν υπάρχει κανένα πρωτόκολλο; Έστω ότι υπήρχε πρωτόκολλο συμφωνίας Έστω ότι χρειάζεται Ν μηνύματα για να τερματίσει Αν χαθεί το μήνυμα Ν τι γίνεται; Ο αποστολέας δεν μπορεί να ξέρει αν έφτασε! Άρα η συμφωνία δεν είναι εφικτή Aκόμη και με ορθές διεργασίες! Αρκεί το κανάλι να είναι αναξιόπιστο 48

Βυζαντινοί στρατηγοί (1 από 8) Ένας μεγάλος κόκκινος στρατός στην κοιλάδα Στους λόφους είναι n μπλε στρατοί Το σύνολο των μπλε στρατών > του κόκκινου Η επικοινωνία κάθε ζεύγους είναι αξιόπιστη m από τους στρατηγούς είναι προδότες Άρα έχουμε l = n m πιστούς στρατηγούς Εννοείται ότι δεν ξέρουμε ποιοι είναι πιστοί! 49

Βυζαντινοί στρατηγοί (2 από 8) Οι στρατηγοί στέλνουν τις δυνάμεις τους Οι πιστοί λένε τις πραγματικές τους δυνάμεις Οι προδότες λένε ψέματα (άλλα κάθε φορά) Μπορούν οι πιστοί να συμφωνήσουν; Πρέπει να βασίζεται μόνο στους πιστούς Δεν πρέπει να συμφωνήσουν σε άλλη τιμή Αλλιώς έχουν παραπλανηθεί! 50

Βυζαντινοί στρατηγοί (3 από 8) Μορφοποίηση προβλήματος Κάθε στρατηγός κατασκευάζει διάνυσμα v[] Κάθε θέση περιέχει τη δύναμη ενός στρατού Στόχος: οι πιστοί να ανταλλάξουν τις τιμές τους Έστω ότι ο στρατηγός k είναι πιστός Οι πιστοί πρέπει να έχουν σωστή τιμή στο v[k] 51

Βυζαντινοί στρατηγοί (4 από 8) Αλγόριθμος του Lamport Κάθε στρατηγός στέλνει σε όλους τους άλλους Όλοι φτιάχνουν ένα διάνυσμα με τις δυνάμεις Κάθε στρατηγός στέλνει το διάνυσμά του Πάλι σε όλους τους άλλους Κάθε στρατηγός ορίζει κάθε θέση Πλειοψηφία τιμών που έλαβε από τους άλλους Αν δεν υπάρχει πλειοψηφία, η θέση είναι αόριστη 52

Βυζαντινοί στρατηγοί (5 από 8) Κάθε στρατηγός Στέλνει ένα μήνυμα σε κάθε άλλο στρατηγό Κατασκευάζει το διάνυσμα των δυναμικοτήτων Διαβιβάζει το διάνυσμα σε κάθε άλλο στρατηγό Για κάθε στοιχείο του διανύσματος-αποτελέσματος Εξετάζει τα αντίστοιχα στοιχεία που έλαβε Αν μια τιμή έχει πλειοψηφία μπαίνει στο αποτέλεσμα Διαφορετικά το στοιχείο είναι αόριστο Αν όλα τα στοιχεία είναι αόριστα Ο αλγόριθμος απέτυχε να παραγάγει συμφωνία 53

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

Βυζαντινοί στρατηγοί (7 από 8) Διεργασία 1 2 3 4 1ος γύρος 12x4 12y4 1234 12z4 2ος γύρος 12y4 12x4 12x4 12x4 abcd efgh 12y4 12y4 12z4 12z4 12z4 ijkl Απόφαση 12?4 12?4 12?4 12?4 Πότε μπορούμε να έχουμε συμφωνία (γενικά); Έστω m διεργασίες με Βυζαντινές βλάβες Για συμφωνία πρέπει να έχουμε n >= 3m + 1 Άρα χρειαζόμαστε πλειοψηφία δύο τρίτων 55

Βυζαντινοί στρατηγοί (8 από 8) Διεργασία 1 2 3 2 1ος γύρος 12x 12y 123 1 1 2 2ος γύρος 12y abc 12x4 def 12x 12y 1 x 2 y 3 Απόφαση????????? Παράδειγμα αποτυχίας του αλγόριθμου Έστω n = 3 διεργασίες, m = 1 προδότης Παίρνουμε στοιχεία από 2 διεργασίες Δεν υπάρχει επαρκής πλειοψηφία πιστών 56

Γιατί δεν έχουμε συμφωνία; (1 από 3) Εναλλακτική απόδειξη αδυναμίας συμφωνίας Έστω 3 διεργασίες, 1 έχει βυζαντινές βλάβες Έστω ότι η κατάσταση είναι 1 δυφίο Η προβληματική δίνει αυθαίρετες τιμές Δίνει τιμές 0 και 1 ώστε να μην έχουμε συμφωνία Η συμφωνία είναι αποδεδειγμένα αδύνατη Ανεξάρτητα από τον αλγόριθμο Ασχολούμαστε μόνο με εισόδους/κατάσταση 57

Γιατί δεν έχουμε συμφωνία; (2 από 3) p1 1 0 p1 1 1 0 0 0 1 p3 p2 p3 p2 0 0 0 0 (α) Πρώτη περίπτωση: κατάσταση 0 και 0 (p2, p3) p1 1 1 Η απόφαση πρέπει να είναι 0 για τις ορθές διεργασίες 0 1 Έστω ότι ο αλγόριθμος δουλεύει σωστά εδώ p3 p2 1 1 Δεύτερη περίπτωση: κατάσταση 1 και 0 (p1, p3) Η p 3 πρέπει να πάρει απόφαση 0 (γ) Έχει τις ίδιες εισόδους/κατάσταση με την πρώτη περίπτωση Άρα και η p 1 πρέπει να πάρει απόφαση 0 (β) 58

0 0 0 1 Γιατί δεν έχουμε συμφωνία; (3 από 3) p3 0 0 p2 p3 0 0 (α) (β) p1 1 1 p2 0 1 p3 1 1 (γ) Τρίτη περίπτωση: καταστάσεις 1 και 1 (p1, p2) Η p 1 πρέπει να πάρει απόφαση 0 Έχει τις ίδιες εισόδους/κατάσταση με την δεύτερη περίπτωση Άρα και η p 2 πρέπει να πάρει απόφαση 0 Καμία ορθή διεργασία δεν έχει κατάσταση 1! Άρα δεν μπορεί να έχουμε συμφωνία p2 59

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