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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication

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

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

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

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

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

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

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

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

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

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

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. DICOM Επικοινωνία Γενικά

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

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

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

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

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

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

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

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP

6.2 Υπηρεσίες Διαδικτύου

Consensus and related problems

BOINC CS. BOINC Control System. Νικόλαος Πασσαλής 1/15

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

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Εκτέλεση προγράμματος

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

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

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή. Κ. Βασιλάκης

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

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

Νέες Επικοινωνιακές Τεχνολογίες

Λιβανός Γιώργος Εξάμηνο 2017Β

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή. Κ. Βασιλάκης

Λειτουργικά Συστήματα Πραγματικού Χρόνου

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

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

Επιθυμητές ιδιότητες και προκλήσεις Απόδοση παρά τη σχετικά «αργή» επικοινωνία πάνω από το δίκτυο (πάντα σε σχέση με την ταχύτητα της CPU και της RAM) Διαθεσιμότητα παρά τις βλάβες που μπορούν να συμβούν ανά πάσα στιγμή και σε οποιοδήποτε μηχάνημα ή / και επίπεδο λογισμικού Συνέπεια παρά την ασύγχρονη/αναξιόπιστη επικοινωνία Ασφάλεια παρά την ανοιχτή επικοινωνία και την κατανεμημένη διαχείριση από πολλούς διαφορετικούς φορείς Διαφάνεια παρά την κατανεμημένη υλοποίηση του συστήματος Κατανεμημένα Συστήματα 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