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

Σχετικά έγγραφα
Βασικές έννοιες. Κατανεμημένα Συστήματα 1

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

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

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

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

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1

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

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

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

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

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

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

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

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1

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

Λουκάς Ελευθέριος

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών

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

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

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

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

Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου

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

Αρχιτεκτονικές Συστημάτων

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

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 1 ο ΚΕΦΑΛΑΙΟ

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

7.4 Πρωτόκολλο UDP. 3. Στη περίπτωση που ένα μήνυμα χωράει σε ένα τμήμα, χρησιμοποιούμε το πρωτόκολλο TCP.

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol

Το λειτουργικό σύστημα. Προγραμματισμός II 1

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

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

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

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

ΤΕΧΝΟΛΟΓΙΑ ΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

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

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

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

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

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

Ομαδική Επικοινωνία (Group Communication) Κατανεμημένα Συστήματα 1

Πρωτόκολλα Διαδικτύου

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

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

Ασφαλή Συστήματα Μέθοδοι ελέγχου και εξακρίβωσης ορθής λειτουργίας

Εισαγωγικά & Βασικές Έννοιες

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

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

Δίκτυα Επικοινωνιών ΙΙ: Network Programming UDP Sockets, Signals

Οργάνωση Υπολογιστών (IΙI)

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΝΝΟΙΑ CLIENT-SERVER COMPUTING

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

Προβλήματα ταυτόχρονης εκτέλεσης (για νήματα με κοινή μνήμη)

Consensus and related problems

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Βασικές συσκευές Ε/Ε. Είσοδος Έξοδος στον υπολογιστή. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (IΙI) Μ.

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

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

Εξοικείωση με τις εντολές ipconfig και ping

7.2.2 Σχέση OSI και TCP/IP

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

Σύστημα Διαμοιρασμού Βιβλιογραφικών Αναφορών. Κοντοτάσιου Ιωάννα ΑΜ 3125 Μπέσσας Απόστολος ΑΜ 3171

Ανάπτυξη Ηλεκτρονικών Υπηρεσιών του Δημοκρίτειου Πανεπιστημίου Θράκης Υποέργο 4

Μοντέλο OSI 1.8. Κεφάλαιο 1. ΕΠΑ.Λ. Άμφισσας Σχολικό Έτος : Τάξη. : Β Τομέα Πληροφορικής Μάθημα. : Δίκτυα Υπολογιστών I Διδάσκων

Δίκτυα Επικοινωνιών ΙΙ: Transmission Control Protocol

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

Δίκτυα Υπολογιστών. Το επίπεδο εφαρμογής (application layer) Κ. Βασιλάκης

Ανδρέας Παπαζώης. Τμ. Διοίκησης Επιχειρήσεων

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

Κατανεμημένες δοσοληψίες

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

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

Εργαλεία ανάπτυξης εφαρμογών internet Ι

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

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

Δίκτυα Υπολογιστών. Το επίπεδο εφαρμογής (application layer) Κ. Βασιλάκης

Λογισµικό (Software SW) Λειτουργικά Συστήµατα και ίκτυα

1.2.1 Το μοντέλο αναφοράς για τη Διασύνδεση Ανοικτών Συστημάτων (OSI) 1 / 19

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο

Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες

Λιόλιου Γεωργία. ιατµηµατικό Πρόγραµµα Μεταπτυχιακών Σπουδών στα Πληροφοριακά Συστήµατα

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

Κατανεμημένες δοσοληψίες

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

Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας Βιβλιοθηκονοµίας. Μοντέλο TCP/IP. Ενότητα E. Συστήµατα Επικοινωνίας

Ιόνιο Πανεπιστήµιο Τµήµα Πληροφορικής Συστήµατα Επικοινωνίας. Μοντέλο TCP/IP. Ενότητα E. Πόσοι εµπλέκονται σε ένα Σύστηµα Επικοινωνίας

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

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

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

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

Transcript:

Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr

Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα μεταξύ τους παρουσιάζουν βλάβες ανεξάρτητα μεταξύ τους δεν διαθέτουν κοινή μνήμη ούτε κοινό ρολόι επικοινωνούν με μηνύματα (πάνω από ένα δίκτυο) Κατανεμημένα Συστήματα 2 lalis@inf.uth.gr

ρολόι κόμβος/διεργασία μήνυμα βλάβη Κατανεμημένα Συστήματα 3 lalis@inf.uth.gr

Αφαίρεση P1 P2 P1 P2 Πραγματικότητα Κατανεμημένα Συστήματα 4 lalis@inf.uth.gr

Παράλληλα / κατανεμημένα συστήματα πολυεπεξεργαστές πολυυπολογιστές κοινή μνήμη γρήγορο δίκτυο με εγγυήσεις αργό δίκτυο με εγγυήσεις αργό δίκτυο χωρίς εγγυήσεις συστήματα υψηλών επιδόσεων κατανεμημένα συστήματα Κατανεμημένα Συστήματα 5 lalis@inf.uth.gr

Επιθυμητές ιδιότητες και προκλήσεις Απόδοση παρά τη σχετικά «αργή» επικοινωνία πάνω από το δίκτυο Διαθεσιμότητα παρά τις βλάβες που μπορούν να συμβούν ανά πάσα στιγμή και σε οποιοδήποτε μηχάνημα ή / και επίπεδο λογισμικού Συνέπεια παρά την ασύγχρονη/αναξιόπιστη επικοινωνία Ασφάλεια παρά την ανοιχτή επικοινωνία και την κατανεμημένη διαχείριση από πολλούς διαφορετικούς φορείς Διαφάνεια παρά την κατανεμημένη υλοποίηση του συστήματος Κατανεμημένα Συστήματα 6 lalis@inf.uth.gr

Κατανεμημένη λειτουργικότητα που υλοποιείται από το ίδιο το λειτουργικό Application Application Application Distributed OS Kernel Kernel Kernel Κατανεμημένα Συστήματα 7 lalis@inf.uth.gr

Κατανεμημένη λειτουργικότητα που υλοποιείται σε επίπεδο εφαρμογής Application API-1 for protocol P API-2 for protocol P API-3 for protocol P Network OS1 Network OS2 Network OS3 Kernel1 Kernel2 Kernel3 Κατανεμημένα Συστήματα 8 lalis@inf.uth.gr

Κατανεμημένη λειτουργικότητα που υλοποιείται από μεσοστρωματικό λογισμικό Application Application Application Middleware API-1 for protocol P API-2 for protocol P API-3 for protocol P Network OS1 Network OS2 Network OS3 Kernel1 Kernel2 Kernel3 Κατανεμημένα Συστήματα 9 lalis@inf.uth.gr

Κατανομή επιπέδων λειτουργικότητας User Interface User Interface User Interface User Interface User Interface User Interface network Application Logic Application Logic Application Logic Application Logic Application Logic Application Logic Database Database Database Database Database Database Κατανεμημένα Συστήματα 10 lalis@inf.uth.gr

Αρχιτεκτονική κατανεμημένων υπηρεσιών Client Front- End Server Client Server Server Front- End Client Client Front- End Server Client Client service Κατανεμημένα Συστήματα 11 lalis@inf.uth.gr

Αρχιτεκτονική ομότιμων συστημάτων Peer (Client/Server) Peer (Client/Server) Peer (Client/Server) Peer (Client/Server) service Κατανεμημένα Συστήματα 12 lalis@inf.uth.gr

Βλάβες Κατανεμημένα Συστήματα 13 lalis@inf.uth.gr

Βασικά μοντέλα βλαβών Silent crash Η διεργασία σταματά να εκτελείται/επικοινωνεί (δεν παρέχεται μηχανισμός εντοπισμού βλαβών) Fail-stop Η διεργασία σταματά να εκτελείται/επικοινωνεί, αλλά «ειδοποιεί» τις άλλες διεργασίες για την βλάβη (ή παρέχεται μηχανισμός εντοπισμού βλαβών) Omission Η διεργασία χάνει μηνύματα, περιστασιακά (ή το δίκτυο χάνει μηνύματα) Κατανεμημένα Συστήματα 14 lalis@inf.uth.gr

Μοντέλα επανεκκίνησης Restart with amnesia Η διεργασία ανακάμπτει από την βλάβη, έχοντας χάσει την πρότερη κατάσταση της Restart with persistent memory Η διεργασία ανακάμπτει από την βλάβη, μαζί με την πρότερη κατάσταση της Υλοποίηση persistence: τεχνική της σταθερής αποθήκης (stable storage), όπου τοποθετείται και ανανεώνεται κατάλληλα όλη η κρίσιμη πληροφορία κατάστασης της διεργασίας Κατανεμημένα Συστήματα 15 lalis@inf.uth.gr

Το πιο γενικό μοντέλο βλαβών Byzantine Η διεργασία μπορεί (τυχαία ή συστηματικά) να συμπεριφέρεται απρόβλεπτα, ανά πάσα στιγμή Μπορεί όμως να συμπεριφέρεται και κανονικά Η βυζαντινή βλάβη δεν εντοπίζεται (άμεσα) Η βυζαντινή βλάβη μοντελοποιεί, με τον πιο γενικό τρόπο, την ύπαρξη bugs (σε όλα τα επίπεδα) Η απόδειξη ιδιοτήτων υπό βυζαντινές βλάβες είναι ιδιαίτερα δύσκολη η επιθυμητή ιδιότητα πρέπει να εξασφαλίζεται για το χειρότερο δυνατό σενάριο συνδυασμένων βλαβών Κατανεμημένα Συστήματα 16 lalis@inf.uth.gr

Σύγχρονο / ασύγχρονο σύστημα Σύγχρονο σύστημα υπάρχει εγγυημένο και εκ των προτέρων γνωστό άνω χρονικό όριο για την καθυστέρηση επικοινωνίας (και απόκρισης) των διεργασιών Ασύγχρονο σύστημα δεν υπάρχει άνω όριο για την καθυστέρηση επικοινωνίας Βασικό πρόβλημα: σε ασύγχρονο σύστημα είναι αδύνατο να εντοπιστούν (ορθά) βλάβες silent crash Κατανεμημένα Συστήματα 17 lalis@inf.uth.gr

Εντοπισμός crash σε σύγχρονο σύστημα Πρωτόκολλο: Α στέλνει στον Β ping, Β απαντά στον Α με pong A B ping max T max T pong Α δεν έλαβε pong σε χρόνο 2 Τ Β έχει βλάβη Α έλαβε pong σε χρόνο 2 Τ Β δεν έχει βλάβη* (*) για να είμαστε πιο ακριβείς: ο Β δεν είχε βλάβη πριν από Τ Κατανεμημένα Συστήματα 18 lalis@inf.uth.gr

Εντοπισμός crash σε ασύγχρονο σύστημα Το πρωτόκολλο εντοπισμού βλαβών crash για σύγχρονο σύστημα δεν μπορεί να εφαρμοστεί σε ασύγχρονο σύστημα δεν υπάρχει άνω όριο καθυστέρησης Αν ο Α δεν λάβει ping μετά από «μακρά» αναμονή, και αποφασίσει ότι ο Β έχει βλάβη, ίσως κάνει λάθος το μήνυμα ping ή το μήνυμα pong μπορεί να είναι καθοδόν Αν ο Α αποφασίσει να περιμένει μέχρι να έρθει ping, και ο Β όντως έχει βλάβη, ο Β δεν θα ανακηρυχθεί ποτέ σε βλάβη ο Α θα περιμένει για πάντα να του απαντήσει ο Β Ότι και να αποφασίσει ο Α, μπορεί να κάνει λάθος! Κατανεμημένα Συστήματα 19 lalis@inf.uth.gr

Υλοποίηση fail-stop σε ασύγχρονο σύστημα Αν ο Α θεωρήσει ότι ο Β έχει παρουσιάσει βλάβη, στέλνει μήνυμα «Β failed» σε όλες τις διεργασίες και στον εαυτό του Όποιος λάβει μήνυμα «Β failed», βγάζει τον Β από την λίστα των διεργασιών (αν δεν το έχει κάνει ήδη) Αν όμως ο Β δεν έχει βλάβη, θα αγνοηθεί (άδικα) στην ουσία, ο Β οδηγείται σε «αυτοκτονία» Μπορεί να προβλέπεται διαδικασία «επανένταξης» ισοδύναμο με την περίπτωση όπου σε ένα σύστημα προβλέπεται η επανεκκίνηση διεργασιών μετά από βλάβη (restarts) και η επανένταξη τους στο σύστημα Κατανεμημένα Συστήματα 20 lalis@inf.uth.gr

Silent crash + restart + persistence Μετατροπή silent crash σε fail-stop Στην σταθερή μνήμη αποθηκεύεται πληροφορία (π.χ. προηγούμενος αριθμός ζωής incarnation number) με βάση την οποία η διεργασία εντοπίζει ότι ανέκαμψε μετά από βλάβη Η διεργασία ειδοποιεί τις υπόλοιπες διεργασίες για την δική(!) της βλάβη, και μετά τερματίζει Απόκρυψη βλάβης Στην σταθερή μνήμη αποθηκεύεται όλη η σημαντική κατάσταση εκτέλεσης της διεργασίας Όταν η διεργασία ανακάμψει, συνεχίζει την εκτέλεση από όπου σταμάτησε απλά φαίνεται «αργή» Κατανεμημένα Συστήματα 21 lalis@inf.uth.gr

Μετατροπή crash σε fail-stop A A B C set status failure B C running running A A B failed! restart B C check status running I failed! B C B failed! Κατανεμημένα Συστήματα 22 lalis@inf.uth.gr

Απόκρυψη βλάβης A A B C save state failure B C state state A A restart B C recover state B C state back in business Κατανεμημένα Συστήματα 23 lalis@inf.uth.gr

Απόκρυψη βλάβης & διαφάνεια επικοινωνίας Η υπηρεσία δικτύου ίσως να μην παρέχει διαφάνεια επικοινωνίας σε περίπτωση βλάβης του προορισμού ακυρώνεται η (όποια) αξιοπιστία παρέχεται Η διαφάνεια πρέπει να υλοποιηθεί με ρητό τρόπο με επιπλέον πρωτόκολλο επιβεβαίωσης παραλαβής μηνυμάτων και επανεκπομπής μηνυμάτων που παραμένουν ανεπιβεβαίωτα Μπορεί να υλοποιηθεί ως ξεχωριστό στρώμα/υπηρεσία εναλλακτικά μπορεί να είναι μέρος της εφαρμογής Κατανεμημένα Συστήματα 24 lalis@inf.uth.gr

Διαφάνεια επικοινωνίας με βλάβες A extra protocol net net extra protocol B m m failure m m recovery m ack Κατανεμημένα Συστήματα 25 lalis@inf.uth.gr