Ιούνιος+2004+(Ρολόγια)

Θέμα 7 (15 Βαθμοί)
 * 1) Περιγράψτε τον αλγόριθμο συγχρονισμού φυσικών ρολογιών με τη μέθοδο του κεντρικού εξυπηρετητή (αλγόριθμος του Christian), και δώστε την ακρίβεια συγχρονισμού δ (απόκλιση σε σχέση με το ρολόι του εξυπηρετητή μετά το συγχρονισμό) με βάση την ελάχιστη καθυστέρηση μετάδοσης των μηνυμάτων Tmin, με βάση την κατάλληλη εξήγηση.
 * 2) Για τον παραπάνω αλγόριθμο, δώστε έναν τύπο για τον υπολογισμό της μέγιστης περιόδου Τ με βάση τη μέγιστη επιθυμητή Δ, την ακρίβεια συγχρονισμού δ, την καθυστέρηση συγχρονισμού Tsync και το ρυθμό απόκλισης του τοπικού ρολογιού ρ. Γενικότερα, πότε και γιατί μπορεί να επιτευχθεί ικανοποιητικός συγχρονισμός; Επιχειρηματολογείστε με βάση τον τύπο για το Τ.
 * 3) Επεκτείνετε τον αλγόριθμο του κεντρικού εξυπηρετητή έτσι ώστε να χρησιμοποιούνται Ν εξυπηρετητές για ανοχή βλαβών. Μπορεί παράλληλα να βελτιωθεί και η ακρίβεια του συγχρονισμού, και πως/γιατί;

__Λύση__: > Η διαδικασία Pi που θέλει να συγχρονίσει το ρολόι της στέλνει στον Ps αίτηση. Ο Ps απαντάει με ts, την τιμή του ρολογιού του. > Η Pi σημειώνει τη χρονική στιγμή που έστειλε την αίτηση Tsend και τη χρονική στιγμή που έλαβε την απάντηση Trcv και υπολογίζει την καθυστέρηση **RTT=Trcv-Tsend**. > Τέλος διορθώνει το ρολόι της **Ci = ts + RTT/2**. > Η μέγιστη διαφορά συγχρονισμού είναι **δ = RTT/2 - Τmin**. > Εξήγηση: Κανονικά το Ci θα έπρεπε να οριστεί ίσο με ts+Td. Επειδή όμως το Td δεν το ξέρουμε, υποθέτουμε πως ο χρόνος που κάνει για να σταλεί το μήνυμα στην Ps είναι ίδιος με το χρόνο να σταλεί η απάντηση πίσω στην Pi και γι'αυτό υπολογίζουμε πόσο χρόνο θα πάρει η μεταφορά από και προς και τη διαιρούμε /2 ώστε να προσεγγίσουμε το Td. Έτσι η μέγιστη απόκλιση δ θα είναι ίση με το RTT/2-min(x,Td). >
 * 1) Αλγόριθμος Christian:
 * 1) Η διεργασία Pi στέλνει στους Ν εξυπηρετητές αίτηση, με πολυεκπομπή, για να της στείλουν την ts τους. Είτε χρησιμοποιεί την πρώτη απάντηση που θα πάρει, για να συγχρονίσει το ρολόι, είτε περιμένει ένα χρονικό διάστημα και μετά χρησιμοποιεί το μέσο όρο των απαντήσεων που έχει λάβει μέχρι εκείνη τη στιγμή, αγνοώντας όσες απαντήσεις έρθουμε μετά.
 * 1) Η διεργασία Pi στέλνει στους Ν εξυπηρετητές αίτηση, με πολυεκπομπή, για να της στείλουν την ts τους. Είτε χρησιμοποιεί την πρώτη απάντηση που θα πάρει, για να συγχρονίσει το ρολόι, είτε περιμένει ένα χρονικό διάστημα και μετά χρησιμοποιεί το μέσο όρο των απαντήσεων που έχει λάβει μέχρι εκείνη τη στιγμή, αγνοώντας όσες απαντήσεις έρθουμε μετά.