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

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

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

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

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

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


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

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

Ρολόγια και Συγχρονισμός

Ορθότητα λειτουργίας τμημάτων λογισμικού & δομών δεδομένων υπό ταυτόχρονη εκτέλεση

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

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

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

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

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

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

Ορθότητα λειτουργίας τμημάτων λογισμικού & δομών δεδομένων υπό ταυτόχρονη εκτέλεση

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

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

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

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

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

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

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

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

Διαχείριση Έργων Πληροφορικής

EE728 (22Α004) - Προχωρημένα Θέματα Θεωρίας Πληροφορίας 3η σειρά ασκήσεων Διακριτά και Συνεχή Κανάλια. Παράδοση: Έως 22/6/2015

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

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

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

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

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

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

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

«Συγχρονισμός ρολογιών υπό την παρουσία σφαλμάτων»

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

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

Νικος Χαλιδιας Μαθηματικό Τμήμα κατεύθυνση Στατιστικής και Αναλογιστικών-Χρηματοοικονομικών Μαθηματικών Πανεπιστημιο Αιγαιου

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

Ρολόγια και Συγχρονισμός

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

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

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

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

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

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

Πρωτόκολλα Ελέγχου προσπέλασης μέσου

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

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

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

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

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

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

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

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

Διαχείριση Έργων Πληροφορικής

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

Θεωρία Γραφημάτων 6η Διάλεξη

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

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

Μάθημα Εισαγωγή στις Τηλεπικοινωνίες Κωδικοποίηση πηγής- καναλιού Μάθημα 9o

Τεχνικές Επιμερισμένης Ανάλυσης

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

22Α004 - Προχωρημένα Θέματα Θεωρίας Πληροφορίας Τελική Εξέταση

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

Στατιστική, Άσκηση 2. (Κανονική κατανομή)

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

Προσεγγιστικοί Αλγόριθμοι

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

8.1 Διαγωνοποίηση πίνακα

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

Σχεδίαση & Ανάλυση Αλγορίθμων

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

Τεχνικές Επιμερισμένης Ανάλυσης

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

Προσεγγιστικοί Αλγόριθμοι

Μετρικές & Επιδόσεις. Κεφάλαιο V

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

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

ΠΕΡΙΕΧΟΜΕΝΑ ΔΙΟΙΚΗΣΗ ΛΕΙΤΟΥΡΓΙΩΝ. Διοίκηση και Προγραμματισμός Έργων

Consensus and related problems

Ισότητα, Αλγεβρικές και Αναλυτικές Ιδιότητες Πραγματικών Ακολουθιών

ΑΝΑΛΥΣΗ 1 ΕΙΚΟΣΤΟ ΠΡΩΤΟ ΜΑΘΗΜΑ, Μ. Παπαδημητράκης.

Σχεδίαση και Ανάλυση Αλγορίθμων

Ε Π Ι Χ Ε Ι Ρ Η Σ Ι Α Κ Η Ε Ρ Ε Υ Ν Α

Στοχαστικές Στρατηγικές. διαδρομής (1)

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων 1ο Σετ Ασκήσεων - Λύσεις

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

ΔΕΟ13 - Επαναληπτικές Εξετάσεις 2010 Λύσεις

Αναζητάμε το εβδομαδιαίο πρόγραμμα παραγωγής που θα μεγιστοποιήσει 1/20

ΤΟΠΟΓΡΑΦΙΚΑ ΔΙΚΤΥΑ ΚΑΙ ΥΠΟΛΟΓΙΣΜΟΙ ΑΝΑΣΚΟΠΗΣΗ ΘΕΩΡΙΑΣ ΣΥΝΟΡΘΩΣΕΩΝ

Σύστημα Διαχείρισης Σκεπτόμενων Συσκευών CASE STUDY

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

Γραμμικός Προγραμματισμός Μέθοδος Simplex

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

Ανάλυση Απόδοσης Πληροφοριακών Συστημάτων

Transcript:

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

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

Τοπική σειρά (;) Κάθε διεργασία P i εκτελείται σειριακά ; σημαίνει «έλαβε χώρα τοπικά αμέσως πριν το» ;..; σημαίνει «έλαβε χώρα τοπικά πριν το» e i.x ; e i.y e i.x ;..; e i.y e i.x ; e', e' ;..; e i.y e i.x ;..; e i.y Τα γεγονότα κάθε P i είναι αυστηρά διατεταγμένα e i.x, e j.x : e i.x ;..; e j.x e j.x ;..; e i.x Κατανεμημένα Συστήματα 3 lalis@inf.uth.gr

Χρονολογική σειρά ( ) σημαίνει «έλαβε χώρα πριν το» Ορίζει την απόλυτη χρονική σειρά των γεγονότων στο κατανεμημένο σύστημα, με βάση έναν αντικειμενικό εξωτερικό παρατηρητή (ας υποθέσουμε ότι υπάρχει) Θεωρούμε ότι δεν υπάρχουν παράλληλα γεγονότα e i.x, e j.y : e i.x e j.y e j.y e i.x 1. Συνέπεια τοπικής εκτέλεσης e i.x ;..; e i.y e i.x e i.y 2. Μεταβατική ιδιότητα e i.x e', e' e j.y e i.x e j.y Κατανεμημένα Συστήματα 4 lalis@inf.uth.gr

Αιτιολογική σειρά happened-before ( ) σημαίνει «προηγείται λογικά του» Καταγράφει την αιτιολογική σχέση των γεγονότων 1. Συνέπεια τοπικής εκτέλεσης e i.x ;..; e i.y e i.x e i.y 2. Συνέπεια επικοινωνίας e i.x snd(m), e j.y rcv(m) e i.x e j.y 3. Μεταβατική ιδιότητα e i.x e', e' e j.y e i.x e j.y Η λογική σειρά σέβεται την χρονολογική σειρά e i.x e j.y e i.x e j.y Κατανεμημένα Συστήματα 5 lalis@inf.uth.gr

Παρατήρηση Αν e i.x e j.y γεγονότα της ίδιας διεργασίας, τότε το e i.x εκτελέστηκε τοπικά πριν το e j.y e i.x e j.y, i=j e i.x ;..; e j.y Αν e i.x e j.y γεγονότα από διαφορετικές διεργασίες, τότε συνδέονται μέσω της αποστολής / παραλαβής τουλάχιστον ενός μηνύματος e i.x e j.y, i j e i.x snd(m), e j.y rcv(m) e i.x e', e' snd(m), e j.y rcv(m) e i.x snd(m), e' rcv(m), e' e j.y e i.x e', e' snd(m), e'' rcv(m), e'' e j.y Κατανεμημένα Συστήματα 6 lalis@inf.uth.gr

P1 e 1.1 e 1.2 e 1.3 e 1.4 e 1.5 P2 m1 e 2.3 m2 e 2.1 e 2.2 m3 P3 e 3.1 e 3.2 e 3.3 Κατανεμημένα Συστήματα 7 lalis@inf.uth.gr

P1 e 1.1 e 1.2 e 1.3 e 1.4 e 1.5 P2 m1 e 2.3 m2 e 2.1 e 2.2 m3 P3 e 3.1 e 3.2 e 3.3 e 1.1 e 3.3 : e 1.1 e 1.2, e 1.2 e 2.2, e 2.2 e 2.3, e 2.3 e 3.3 Κατανεμημένα Συστήματα 8 lalis@inf.uth.gr

P1 e 1.1 e 1.2 e 1.3 e 1.4 e 1.5 P2 m1 e 2.3 m2 e 2.1 e 2.2 m3 P3 e 3.1 e 3.2 e 3.3 e 3.1 e 1.5 : e 3.1 e 3.2, e 3.2 e 1.4, e 1.4 e 1.5 Κατανεμημένα Συστήματα 9 lalis@inf.uth.gr

Λογική ανεξαρτησία H σχέση ορίζει μια μερική διάταξη στο σύνολο των γεγονότων του κατανεμημένου συστήματος Η σχέση είναι υποσύνολο της σχέσης Το ότι ένα γεγονός έλαβε χώρα πριν από ένα άλλο δεν συνεπάγεται ότι προηγείται λογικά από αυτό e i.x e j.y e i.x e j.y Γεγονότα που δεν συνδέονται μεταξύ τους μέσω της σχέσης, ονομάζονται λογικά ανεξάρτητα e i.x e j.y (e i.x e j.y ) (e j.y e i.x ) Κατανεμημένα Συστήματα 10 lalis@inf.uth.gr

P1 e 1.1 e 1.2 e 1.3 e 1.4 e 1.5 P2 m1 e 2.3 m2 e 2.1 e 2.2 m3 P3 e 3.1 e 3.2 e 3.3 e 1.1 e 3.2 παρ ότι e 1.1 e 3.2 Κατανεμημένα Συστήματα 11 lalis@inf.uth.gr

P1 e 1.1 e 1.2 e 1.3 e 1.4 e 1.5 P2 m1 e 2.3 m2 e 2.1 e 2.2 m3 P3 e 3.1 e 3.2 e 3.3 e 2.1 e 1.4 παρ ότι e 2.1 e 1.4 Κατανεμημένα Συστήματα 12 lalis@inf.uth.gr

Χρονική και αιτιολογική σειρά Χρονική σειρά: δίνει απάντηση στο ερώτημα κατά πόσο ένα γεγονός έλαβε χώρα πριν από ένα άλλο Αιτιολογική σειρά: δίνει απάντηση στο κατά πόσο ένα γεγονός (πιθανόν να) προκάλεσε ένα άλλο Η αιτιολογική σειρά σέβεται την χρονική σειρά Η αιτιολογική σειρά δεν ταυτίζεται με την χρονική σειρά Κατανεμημένα Συστήματα 13 lalis@inf.uth.gr

P 1 P 2 P 3 e 1.1 e 3.1 e 1.2 e 2.1 e 1.3 e 3.2 e 2.2 Κατανεμημένα Συστήματα 14 lalis@inf.uth.gr

P 1 P 2 P 3 e 1.1 e 1.1 e 3.1 e 3.1 e 2.1 e 1.2 e 2.1 e 1.2 e 1.3 e 3.2 e1.3 e 3.2 e 2.2 e 2.2 real time order Κατανεμημένα Συστήματα 15 lalis@inf.uth.gr

P 1 P 2 P 3 e 1.1 e 1.1 e 3.1 e 3.1 e 2.1 e 1.2 e 2.1 e 1.2 e 1.3 e 3.2 e1.3 e 3.2 e 2.2 e 2.2 real time order causal order Κατανεμημένα Συστήματα 16 lalis@inf.uth.gr

Παρατήρηση κατανεμημένης εκτέλεσης Κάποιες φορές θέλουμε να γνωρίζουμε τη (πραγματική) χρονική σειρά με την οποία έλαβαν χώρα τα γεγονότα Όμως, στην οριακή περίπτωση, αυτό είναι αδύνατο Δεν υπάρχει αντικειμενικός εξωτερικός παρατηρητής Οι διεργασίες δεν διαθέτουν κοινό ρολόι, και τα τοπικά ρολόγια των διεργασιών δεν είναι συγχρονισμένα Συχνά, αρκεί να γνωρίζουμε τη λογική σειρά Η λογική σειρά μπορεί να προσδιοριστεί επακριβώς Χωρίς να γνωρίζουμε την χρονική σειρά Χωρίς την ύπαρξη εξωτερικού παρατηρητή Κατανεμημένα Συστήματα 17 lalis@inf.uth.gr

Δύο διαφορετικές προσεγγίσεις Φυσικά ρολόγια: συγχρονισμός των φυσικών ρολογιών των διεργασιών με ικανοποιητική ακρίβεια, και (ιδανικά) σύμφωνα με τον «πραγματικό» χρόνο Λογικά ρολόγια: διαχείριση τοπικών μετρητών για τα γεγονότα που λαμβάνουν χώρα σε κάθε διεργασία χωρίς να γίνεται καταγραφή του πραγματικού χρόνου Και στις δύο περιπτώσεις, αναθέτουμε στα γεγονότα χρονοσφραγίδες (timestamps) με βάση τις οποίες τα κατατάσσουμε σε σχέση με τα υπόλοιπα γεγονότα η κατάταξη μπορεί π.χ. να γίνει από μια διεργασία που λαμβάνει μηνύματα ειδοποίησης για κάθε γεγονός Κατανεμημένα Συστήματα 18 lalis@inf.uth.gr

Φυσικά ρολόγια Κατανεμημένα Συστήματα 19 lalis@inf.uth.gr

Χρόνος και ρολόγια Κάθε διεργασία P i διαθέτει τοπικό ρολόι C i () C i (t) η τιμή του ρολογιού την χρονική στιγμή t Τo ρολόι δεν είναι εντελώς σωστό: C(t) t Πρόβλημα ακρίβειας (accuracy): το ρολόι μετράει τον χρόνο με διακριτό τρόπο Πρόβλημα απόκλισης (drift): το ρολόι μπορεί να «χάνει/κερδίζει» στον χρόνο Κατανεμημένα Συστήματα 20 lalis@inf.uth.gr

Επιθυμητή συμπεριφορά ενός ρολογιού Ένα ρολόι δεν επιτρέπεται να πάει «προς τα πίσω» t'>t C(t')>=C(t) Ένα ρολόι δεν πραγματοποιεί «απρόβλεπτα» άλματα, δηλαδή έχει εγγυημένο άνω όριο ρυθμού απόκλισης ρ Για dt = t' t, dc = C(t') C(t): dt ρdt <= dc <= dt + ρdt (1 ρ)dt <= dc <= (1+ρ)dt (1 ρ) <= dc/dt <= (1+ρ) Κατανεμημένα Συστήματα 21 lalis@inf.uth.gr

C(t) γρήγορο ρολόι dc/dt>1 dc/dt=1 τέλειο ρολόι dc/dt<1 αργό ρολόι t Κατανεμημένα Συστήματα 22 lalis@inf.uth.gr

Συγχρονισμός φυσικών ρολογιών Ιδανικά: P i, P j : C i (t)=c j (t)=t Οι διεργασίες πρέπει να συγχρονίσουν τα ρολόγια τους και αυτό πρέπει να γίνεται περιοδικά Σημείωση: Η διαδικασία συγχρονισμού απαιτεί κάποιο (μικρό;) χρονικό διάστημα για να ολοκληρωθεί, και πιθανώς να μην επιτυγχάνει πλήρη συγχρονισμό Σημείωση: πως διορθώνουμε ένα γρήγορο ρολόι, χωρίς να παραβιάσουμε την μονοτονικότητα του; Κατανεμημένα Συστήματα 23 lalis@inf.uth.gr

C(t) σημείο διόρθωσης τοπικού ρολογιού παραβίαση μονοτονικότητας C ref σημείο έναρξης διαδικασίας συγχρονισμού C ανακρίβεια συγχρονισμού καθυστέρηση διαδικασίας συγχρονισμού t Κατανεμημένα Συστήματα 24 lalis@inf.uth.gr

Είδη συγχρονισμού Εξωτερικός συγχρονισμός: με ρολόι αναφοράς P i : C ref (t) C i (t) < δ Εσωτερικός συγχρονισμός: χωρίς ρολόι αναφοράς P i, P j : C i (t) C j (t) < δ Αν δύο διεργασίες είναι εξωτερικά συγχρονισμένες, συνεπάγεται πως είναι και εσωτερικά συγχρονισμένες P i : C ref (t) C i (t) < δ P i, P j : C i (t) C j (t) < 2δ Κατανεμημένα Συστήματα 25 lalis@inf.uth.gr

C 4 C(t) τα C 3 και C 4 είναι εσωτερικά συγχρονισμένα (μεταξύ τους) C 3 C 2 C 1 C ref τα C 1 και C 2 είναι εξωτερικά συγχρονισμένα ως προς C ref t Κατανεμημένα Συστήματα 26 lalis@inf.uth.gr

Ασύρματοι δέκτες ώρας ακριβείας Δέκτες UTC Coordinated Universal Time (UTC) Δέκτες GPS Ένας Η/Υ μπορεί να χρησιμοποιεί τέτοιους δέκτες για να συγχρονίζει περιοδικά το ρολόι του Δεν απαιτείται επικοινωνία ανάμεσα στις διεργασίες Υπάρχει όμως επικοινωνία με την πηγή του σήματος Τέτοιοι δέκτες είναι ακριβοί και δεν μπορεί να χρησιμοποιηθούν σε όλες τις περιπτώσεις Κατανεμημένα Συστήματα 27 lalis@inf.uth.gr

Συγχρονισμός με μονομερή ανακοίνωση Διακεκριμένη διεργασία P s ως σημείο αναφοράς Η P s ανακοινώνει την τιμή του ρολογιού της με ένα μήνυμα προς τις ενδιαφερόμενες διεργασίες Κάθε άλλη διεργασία P i συγχρονίζει το ρολόι της με βάση την τιμή που έλαβε από την P s Πρόβλημα: η P i δεν γνωρίζει πόσο χρόνο d χρειάστηκε η μετάδοση του μηνύματος της P s Πρέπει να γίνει μια εκτίμηση για το d Η ακρίβεια της εκτίμησης για το d επηρεάζει με την σειρά της και την ακρίβεια του συγχρονισμού Κατανεμημένα Συστήματα 28 lalis@inf.uth.gr

Εκτίμηση της καθυστέρησης μετάδοσης d Τmax: άνω όριο καθυστέρησης μετάδοσης Τmin: κάτω όριο καθυστέρησης μετάδοσης Εκτίμηση της P i : est(d) = Τ max ή est(d) = Τ min Ανακρίβεια συγχρονισμού: C s C i Τ max Τ min Εκτίμηση της P i : est(d) = (Τ max +Τ min )/2 Ανακρίβεια συγχρονισμού: C s C i (Τ max Τ min )/2 Όσο πιο κοντά βρίσκονται οι τιμές των Τ min και Τ max, τόσο πιο εγγυημένα ακριβής είναι ο συγχρονισμός Κατανεμημένα Συστήματα 29 lalis@inf.uth.gr

P s P i C s = t t+t min C s = t+d d t χρονική στιγμή συγχρονισμού C i := t + est(d) t+t max est(d) worst case d C s C i Τ min Τ max Τ max Τ min Τ max Τ min Τ max Τ min (Τ max +Τ min )/2 Τ max, Τ min (Τ max Τ min )/2 Κατανεμημένα Συστήματα 30 lalis@inf.uth.gr

Στην πράξη Σε κάποια συστήματα, τα Τmin και Tmax μπορεί να προσεγγιστούν συντηρητικά με βάση τα χαρακτηριστικά του φυσικού δικτύου και το χρόνο επεξεργασίας σε έναν τυπικό κόμβο Τι γίνεται σε ένα ασύγχρονο σύστημα, όπου δεν μπορεί να προκαθοριστεί το Tmax; Μπορεί να χρησιμοποιηθεί μια υπερβολικά μεγάλη τιμή, αυτό όμως μεγαλώνει υπερβολικά και το εγγυημένο άνω όριο της ανακρίβειας του συγχρονισμού δεν είναι ιδιαίτερα χρήσιμο Κατανεμημένα Συστήματα 31 lalis@inf.uth.gr

Συγχρονισμός με αίτηση (αλγόριθμος Cristian) Η P i στέλνει αίτηση στην P s Η P s απαντά με την τιμή του ρολογιού της Η P i σημειώνει την χρονική στιγμή αποστολής της αίτησης και την χρονική στιγμή παραλαβής της απάντησης, και υπολογίζει RTT := T rcv T snd η μέτρηση γίνεται αποκλειστικά με βάση το ρολόι της P i είναι ακριβής, αν το ρολόι δεν έχει μεγάλο ρυθμό απόκλισης Η εκτίμηση για το d είναι est(d) = RTT/2 Η P i διορθώνει το ρολόι της C i := t + RTT/2 Η μέγιστη διαφορά συγχρονισμού είναι RTT/2 Τ min Δεν χρειάζεται να γνωρίζουμε το T max Κατανεμημένα Συστήματα 32 lalis@inf.uth.gr

P s P i T snd C s = t RTT = T rcv T snd C s = t+d d t T rcv χρονική στιγμή συγχρονισμού Ci := t + RTT/2 extremes for d C s C i = d RTT/2 d = Τ min Τ min RTT/2 = RTT/2 Τ min d = RTT Τ min RTT Τ min RTT/2 = RTT/2 Τ min Κατανεμημένα Συστήματα 33 lalis@inf.uth.gr

Παρατήρηση Υποθέτουμε ότι ο χρόνος που χρειάζεται η αίτηση για να φτάσει από την P i στην P s είναι (περίπου) ίσος με τον χρόνο που χρειάζεται η απάντηση για να φτάσει από την P s στην P i Αυτό είναι μια αρκετά λογική υπόθεση που ισχύει με μεγάλη πιθανότητα στις περισσότερες περιπτώσεις όμως μπορεί να μην ισχύει γιατί; Το RTT μπορεί να λαμβάνει διαφορετική τιμή για κάθε μέτρηση (προσπάθεια συγχρονισμού) Η P i πρέπει να προσαρμόζει δυναμικά την περίοδο συγχρονισμού της με την διεργασία P s με βάση την επιθυμητή μέγιστη απόκλιση Κατανεμημένα Συστήματα 34 lalis@inf.uth.gr

Εσωτερικός συγχρονισμός σε ομάδα (αλγόριθμος Gusella & Zatti Berkeley) Μια από τις διεργασίες λειτουργεί ως συντονιστής Χρησιμοποιεί την μέθοδο Cristian για να υπολογίσει την τρέχουσα τιμή του ρολογιού κάθε διεργασίας P i Σχηματίζει τον μέσο όρο πιθανώς αγνοώντας απαντήσεις που καθυστερούν πάνω από ένα χρονικό όριο καθώς και τυχόν «ακραίες» τιμές ρολογιών (για να υπάρχει ανοχή σε βλάβες ή ελαττωματικά ρολόγια) Ενημερώνει κάθε διεργασία P i για την διαφορά της τιμής του ρολογιού της από τον μέσο όρο Κάθε διεργασία P i προσαρμόζει το τοπικό της ρολόι ανάλογα με την τιμή που λαμβάνει από τον συντονιστή Κατανεμημένα Συστήματα 35 lalis@inf.uth.gr

P 1 P 3 P 2 req C 3 req C 1 C 1 C' 1 C' 3 C 2 C 2 C' 2 C'' 1 C'' 3 diff 1 C''' diff 3 3 diff 2 C''' 1 C'' 2 C := C''' 1 + diff 1 C := C''' 3 + diff 3 C := C'' 2 + diff 2 est(c'' 1 ) := C 1 + (C' 3 C 3 )/2 + (C'' 3 C' 3 ) est(c' 2 ) := C 2 + (C'' 3 C 3 )/2 avg := (est(c'' 1 ) + est(c' 2 ) + C'' 3 ) / 3 diff 1 : avg est(c'' 1 ) diff 2 : avg est(c' 2 ) diff 3 : avg C'' 3 Κατανεμημένα Συστήματα 36 lalis@inf.uth.gr

Συμμετρικοί αλγόριθμοι Σύγχρονο σύστημα, γνωστό Tmax Κάθε P i στέλνει σε όλες τις άλλες διεργασίες την τιμή του ρολογιού της, π.χ., με ένα multicast/broadcast συλλέγει τις τιμές των υπολοίπων (περιμένει Τsync) το Tsync είναι συνάρτηση του Tmax και του δ υπολογίζει την «σωστή» ώρα (με βάση μια κοινή συνάρτηση), και προσαρμόζει το ρολόι της Αυτό γίνεται περιοδικά, κάθε R μονάδες χρόνου το R είναι συνάρτηση του ρυθμού απόκλισης ρ, της μέγιστης απόκλισης ρολογιών δ, και του Tsync Κατανεμημένα Συστήματα 37 lalis@inf.uth.gr

P 1 P 2 P 3 Tsync Tsync Tsync R R R Κατανεμημένα Συστήματα 38 lalis@inf.uth.gr

Αλγόριθμος Lamport για N>=3f+1 διεργασίες με f βυζαντινές βλάβες Επιτρέπονται το πολύ f βυζαντινές βλάβες κάποιες διεργασίες μπορεί να στέλνουν λάθος τιμές Όταν η P i λάβει t k από την P k, κάνει μια εκτίμηση est i (t k ) της τρέχουσας τιμής του ρολογιού της P k βλέπε μέθοδο συγχρονισμού με μονομερή ανακοίνωση Αν C i est i (t k ) > δ, θεωρείται ότι η P k παρουσίασε βλάβη, και η εκτίμηση διορθώνεται σε est i (t k ) := C i Η P i προσαρμόζει το ρολόι της με βάση τον μέσο όρο των εκτιμήσεων που κάνει για τα ρολόγια όλων των διεργασιών, C i := S k est i (t k )/Ν Κατανεμημένα Συστήματα 39 lalis@inf.uth.gr

Ορθότητα Έστω ότι P i και P j λαμβάνουν t k1 και t k2 από την P k Αν η P k δεν έχει βλάβη t k1 = t k2 est i (t k1 )=est j (t k2 ) est i (t k1 ) est j (t k2 )=0 Αν η P k έχει βλάβη, στην χειρότερη περίπτωση C i C j @ δ t k1 η μεγαλύτερη δυνατή τιμή ώστε est i (t k1 ) @ C i +δ t k2 η μικρότερη δυνατή τιμή ώστε est j (t k2 ) @ C j δ est i (t k1 ) est j (t k2 ) @ 3δ Κατανεμημένα Συστήματα 40 lalis@inf.uth.gr

διεργασία με το πιο γρήγορο ρολόι βυζαντινή διεργασία διεργασία με το πιο αργό ρολόι P i P k P j T t k1 @ C i T + δ t k2 @ C j T δ T C i C k C j C i @ X est i (t k1 ) := t k1 + Τ @ C i + δ έστω T min = T max = Τ C j @ X δ est j (t k2 ) := t k2 + Τ @ C j δ est i (t k1 ) est j (t k2 ) = C i C j @ X + δ (X δ δ) @ δ + δ + δ Κατανεμημένα Συστήματα 41 lalis@inf.uth.gr

Ορθότητα (συνέχεια) Για τις εκτιμήσεις των P i και P j για κάθε P k, ισχύει P k δεν έχει βλάβη est i (t k1 ) est j (t k2 ) =0 P k έχει βυζαντινή βλάβη est i (t k1 ) est j (t k2 ) @ 3δ Αφού υπάρχουν το πολύ f βυζαντινές διεργασίες S k est i (t k1 ) S k est j (t k2 ) 3δf S k est i (t k1 )/Ν S k est j (t k2 )/Ν 3δf/Ν Επίσης N 3f+1 N > 3f δn > 3δf δ > 3δf/N Άρα, μετά την φάση του συγχρονισμού, τα ρολόγια των P i και P j είναι συγχρονισμένα, με άνω διαφορά δ C i C j <δ Κατανεμημένα Συστήματα 42 lalis@inf.uth.gr

Λογικά ρολόγια Κατανεμημένα Συστήματα 43 lalis@inf.uth.gr

Φυσικά ρολόγια και λογική σειρά Αν το ρολόι δεν είναι ακριβές ή οπισθοδρομήσει, για δύο τοπικά γεγονότα μπορεί e ; e' TS(e) TS(e') αντιφάσκει με την λογική σειρά Αν τα ρολόγια δεν είναι επακριβώς συγχρονισμένα, μπορεί e snd(m) e' rcv(m) TS(e) TS(e') αντιφάσκει με την λογική σειρά Χρειαζόμαστε διαφορετικά ρολόγια που να εγγυώνται την «χαλαρή συνθήκη ενός λογικά συνεπούς ρολογιού» e e' TS(e)<TS(e') Κατανεμημένα Συστήματα 44 lalis@inf.uth.gr

Λογικά ρολόγια Lamport 1. Αρχικοποίηση C i := 0 2. Συμβατικό τοπικό γεγονός e i.x C i := C i +1; TS(e i.x ) := C i 3. Αποστολή μηνύματος snd(m) C i := C i +1; TS(snd(m)),TS(m) := C i 4. Παραλαβή μηνύματος rcv(m) C i := max(c i, TS(m))+1; TS(rcv(m)) := C i Κατανεμημένα Συστήματα 45 lalis@inf.uth.gr

P 1 e 1.1 e 1.2 e 1.3 e 1.4 P 2 m1 e 2.1 e 2.2 e 2.3 m3 m2 P 3 e 3.1 e 3.2 e 3.3 Κατανεμημένα Συστήματα 46 lalis@inf.uth.gr

P 1 P 2 P 3 e 1.1 e 1.2 e 1.3 e 1.4 1 2 3 2 m1 1 3 e 2.3 e 2.1 e 2.2 4 4 m3 1 2 5 e 3.1 e 3.2 e 3.3 4 m2 2 Κατανεμημένα Συστήματα 47 lalis@inf.uth.gr

Ιδιότητες ρολογιών Lamport Λογική συνέπεια: e e' TS(e)<TS(e') Δεν ισχύει το αντίστροφο: TS(e)<TS(e') e e' Λογική ανεξαρτησία: TS(e)=TS(e') e e' Δεν ισχύει το αντίστροφο: e e' TS(e)=TS(e') Κατανεμημένα Συστήματα 48 lalis@inf.uth.gr

P 1 P 2 P 3 e 1.1 e 1.2 e 1.3 e 1.4 1 2 3 2 m1 1 3 e 2.3 e 2.1 e 2.2 4 4 m3 1 2 5 e 3.1 e 3.2 e 3.3 4 m2 2 e 1.1 e 3.3 TS(e 1.1 )<TS(e 3.3 ) TS(e 3.2 )<TS(e 2.3 ) e 3.2 e 2.3 TS(e 3.1 )=TS(e 1.1 ) e 3.1 e 1.1 e 3.2 e 1.3 TS(e 3.2 )=TS(e 1.3 ) Κατανεμημένα Συστήματα 49 lalis@inf.uth.gr

Αδυναμία ρολογιών Lamport Τα ρολόγια Lamport επιφέρουν μια πιο αυστηρή σειρά σε σχέση με την λογική σειρά των γεγονότων είναι όμως σαφώς πιο κατάλληλα για την καταγραφή της λογικής σειράς (και πιο «φτηνά») από τα φυσικά ρολόγια Δεν καταγράφουν ακριβώς την λογική ανεξαρτησία Ένα μονοδιάστατο μέγεθος (όπως η τιμή του ενός φυσικού ρολογιού ή ρολογιού Lamport) δεν μπορεί να περιγράψει την σχέση λογικής εξάρτησης, που στην γενικότερη περίπτωση δεν είναι μια απλή αλυσίδα Κατανεμημένα Συστήματα 50 lalis@inf.uth.gr

time order e 1.1 P 1 e 1.1 e 1.2 e 1.3 e 1.4 e 3.1 e 1.2 m1 e 2.3 m2 P 2 e 2.1 e 2.2 e 2.1 e 2.2 m3 e 3.2 P 3 e 3.1 e 3.2 e 3.3 e 2.3 e 1.3 e 3.3 e 1.4 Κατανεμημένα Συστήματα 51 lalis@inf.uth.gr

time order logical order e 1.1 e 1.2 e 1.3 e 1.4 e 1.1 e 1.1 e 2.1 e 3.1 P 1 e 3.1 e 1.2 e 1.2 e 1.3 e 2.2 e 3.2 m1 e 2.3 m2 P 2 e 2.1 e 1.4 e 2.3 e 2.1 e 2.2 m3 e 2.2 e 3.3 e 3.2 P 3 e 3.1 e 3.2 e 3.3 e 2.3 e 1.3 e 3.3 e 1.4 Κατανεμημένα Συστήματα 52 lalis@inf.uth.gr

time order Lamport order logical order e 1.1 e 1.2 e 1.3 e 1.4 e 1.1 e 3.1 e 1.2 e 2.1 e 1.1 e 2.1 e 3.1 e 1.2 e 3.2 e 1.3 e 1.4 e 2.2 e 2.3 e 1.1 e 2.1 e 3.1 e 1.2 e 1.3 e 2.2 e 3.2 e 1.4 e 2.3 P 1 P 2 1 2 2 m1 1 3 e 2.1 e 2.2 e 2.3 4 3 2 m2 4 m3 4 e 2.2 e 3.3 e 3.3 e 3.2 P 3 1 2 5 e 3.1 e 3.2 e 3.3 e 2.3 e 1.3 e 3.3 e 1.4 Κατανεμημένα Συστήματα 53 lalis@inf.uth.gr

Πέρα από τα μονοδιάστατα ρολόγια Επέκταση του μονοδιάστατου λογικού ρολογιού Για να εντοπιστεί η σχέση λογικής εξάρτησης, αρκεί να γνωρίζουμε το πλήθος των λογικά προηγούμενων γεγονότων σε κάθε μια από τις διεργασίες Χρησιμοποιούμε ένα διανυσματικό λογικό ρολόι C i [] Όπου C i [k] είναι το πλήθος των γεγονότων που έχουν λάβει χώρα στην P k και προηγούνται αιτιολογικά των επόμενων γεγονότων που θα λάβουν χώρα στην P i Κατανεμημένα Συστήματα 54 lalis@inf.uth.gr

Διανυσματικά ρολόγια 1. Αρχικοποίηση C i [k] := 0 2. Συμβατικό τοπικό γεγονός e i.x C i [i] := C i [i]+1; TS(e i.x ) := C i [] 3. Αποστολή μηνύματος snd(m) C i [i] := C i [i]+1; TS(snd(m)),TS(m) := C i [] 4. Παραλαβή μηνύματος rcv(m) C i [i] := C i [i]+1; C i [k] := max(c i [k], TS(m)[k]); TS(rcv(m)) := C i [] Κατανεμημένα Συστήματα 55 lalis@inf.uth.gr

P 1 e 1.1 e 1.2 e 1.3 e 1.4 P 2 m1 e 2.1 e 2.2 e 2.3 m3 m2 P 3 e 3.1 e 3.2 e 3.3 Κατανεμημένα Συστήματα 56 lalis@inf.uth.gr

P 1 P 2 P 3 e 1.1 e 1.2 e 1.3 e 1.4 (1,0,0) (2,0,0) (3,0,0) (4,0,2) (2,0,0) m1 (0,1,0) (2,2,0) e 2.1 e 2.2 e 2.3 (2,3,0) m3 m2 (0,0,1) (0,0,2) (2,3,3) e 3.1 e 3.2 e 3.3 (0,0,2) (2,3,0) Κατανεμημένα Συστήματα 57 lalis@inf.uth.gr

Σύγκριση διανυσματικών χρονοσφραγίδων Ισότητα TS 1 = TS 2 TS 1 [k] = TS 2 [k], k Ανισότητα TS 1 < TS 2 $i : TS 1 [i] < TS 2 [i] j, j i : TS 1 [j] TS 2 [j] Μη συγκρίσιμες τιμές TS 1 TS 2 $i,j : TS 1 [i] < TS 2 [i] TS 1 [j] > TS 2 [j] (TS 1 < TS 2 ) (TS 1 > TS 2 ) (TS 1 = TS 2 ) Κατανεμημένα Συστήματα 58 lalis@inf.uth.gr

Αυστηρή συνθήκη λογικά συνεπούς ρολογιού Με τις διανυσματικές χρονοσφραγίδες καταγράφεται επακριβώς η λογική σχέση λογικής εξάρτησης e e' TS(e) < TS(e') Με βάση τις χρονοσφραγίδες δύο γεγονότων, και χωρίς κάποια επιπλέον πληροφορία, μπορούμε να συμπεράνουμε κατά πόσο (α) δύο γεγονότα είναι λογικά ανεξάρτητα TS(e) TS(e') e e' (β) ποιο γεγονός προηγείται λογικά ποιανού TS(e) < TS(e') e e' Επίσης: TS(e) = TS(e') e e' Κατανεμημένα Συστήματα 59 lalis@inf.uth.gr

P 1 P 2 P 3 e 1.1 e 1.2 e 1.3 e 1.4 (1,0,0) (2,0,0) (3,0,0) (4,0,2) (2,0,0) m1 (0,1,0) (2,2,0) e 2.1 e 2.2 e 2.3 (2,3,0) m3 m2 (0,0,1) (0,0,2) (2,3,3) e 3.1 e 3.2 e 3.3 (0,0,2) (2,3,0) TS(e 1.1 ) < TS(e 3.3 ) e 1.1 e 3.3 ΤS(e 3.2 ) TS(e 2.3 ) e 3.2 e 2.3 Κατανεμημένα Συστήματα 60 lalis@inf.uth.gr