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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:

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

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

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

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

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

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

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

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

ιαδίκτυα & Ενδοδίκτυα Η/Υ

ιαδίκτυα & Ενδοδίκτυα Η/Υ

Δροµολόγηση (Routing)

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

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

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

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

Διάλεξη 5: Κάτω Φράγμα για Αλγόριθμους Εκλογής Προέδρου. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

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

Consensus and related problems

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

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ

ΤΕΙ Κρήτης, Παράρτηµα Χανίων

Αλγόριθµοι και Πολυπλοκότητα

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

ιαδίκτυα & Ενδοδίκτυα Η/Υ

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

Αποτίµησηκαθολικού κατηγορήµατος

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

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

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

7.9 ροµολόγηση. Ερωτήσεις

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ

Επεξεργασία Ερωτήσεων

Συντονισμός και συμφωνία

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

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που

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

Γ. Κορίλη Αλγόριθµοι ροµολόγησης

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

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

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

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

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος

ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ: Πρότυπο FDDI

ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο Φροντιστήριο Ασκήσεις στο TCP

Σύνοψη Προηγούµενου. Κανονικές Γλώσσες (1) Προβλήµατα και Γλώσσες. Σε αυτό το µάθηµα. ιαδικαστικά του Μαθήµατος.

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

ροµολόγηση πακέτων σε δίκτυα υπολογιστών

Transcript:

Προηγούµενο Μάθηµα Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Ιωάννης Χατζηγιαννάκης ευτέρα, 1 εκεµβρίου, 2008 Αίθουσα Β Ασύγχρονα Κατανεµηµένα Συστήµατα Πρόβληµα ροµολόγησης Συγχρονιστές Κατανεµηµένος Αλγόριθµος SimpleSync Κατανεµηµένος Αλγόριθµος ABD Συγχρονισµός Ρολογιών Μέθοδος Cristian Μέθοδος Gusella και Zatti Πρωτόκολλο NTP Μοντελοποίηση Ασύγχρονων Συστηµάτων Αυτόµατα Εισόδου/Εξόδου Μελετάµε κατανεµηµένα συστήµατα, όπου 1. τα επιµέρους συστήµατα εκτελούν τις εργασίες τους µε οποιαδήποτε, ακαθόριστη, ταχύτητα σε σχέση µε τα υπόλοιπα υποσυστήµατα 2. τα κανάλια επικοινωνίας παραδίδουν τα µηνύµατα µε οποιαδήποτε, ακαθόριστη, ταχύτητα σε σχέση µε τα υπόλοιπα κανάλια Μοντελοποιούµε αυτή την απροσδιόριστη χρονικά συµπεριφορά χρησιµοποιώντας αυτόµατα εισόδου/εξόδου Κάθε διεργασία µοντελοποιείτε απο ένα αυτόµατο εισόδου/εξόδου Κάθε κανάλι επικοινωνίας µοντελοποιείτε απο ένα αυτόµατο εισόδου/εξόδου Ενα αυτόµατο εισόδου/εξόδου A αποτελείται από: Τρία σύνολα απο ενέργειες εισόδου in(a) -- ενέργειες εξόδου out(a), και εσωτερικές ενέργειες int(a) Ενα σύνολο καταστάσεων states(a) Ορισµένες τις ονοµάζουµε αρχικές καταστάσεις start(a) Ορισµένες τις ονοµάζουµε καταστάσεις τερµατισµού halt(a) Μια συνάρτηση αλλαγής κατάστασης trans(a) states(a) (in(a) out(a) int(a)) states(a) Για κάθε κατάσταση κ και κάθε ενέργεια ɛ Υπάρχει µια µετάβαση (κ, ɛ, κ ) trans(a)

Ιδιότητες Συστήµατος Μια εκτέλεση του αυτόµατου εισόδου/εξόδου A περιγράφεται: κ0, ɛ1, κ1, ɛ2,... ɛr, κr,... όπου για κάθε r 0 ισχύει ότι (κr, ɛr+1, κr+1) trans(a) Μέτρηση πολυπλοκότητας Πολυπλοκότητα Επικοινωνίας συνολικός αριθµός µηνυµάτων που στάλθηκαν ή παραλήφθηκαν Χρονική πολυπλοκότητα η χρονική απροσδιοριστία δεν µας επιτρέπει να µετρήσουµε µε ευκολία 1. Θέτουµε ένα άνω ϕράγµα l στον χρόνο εκτέλεσης κάθε ενέργειας ɛ σε κάποια κατάσταση κ 2. Θέτουµε ένα άνω ϕράγµα d στον χρόνο παράδοσης του παλαιότερου µηνύµατος που ϐρίσκεται σε κάποιο κανάλι επικοινωνίας Σύγχρονα Ασύγχρονα Κατανεµηµένα Συστήµατα Στα Σύγχρονα Συστήµατα υποθέτουµε συγχρονισµένη εκτέλεση Η παραδοχή δεν αποτυπώνει πλήρως τις πραγµατικές συνθήκες λειτουργίας Μπορούµε να ϐασιστούµε στην ιδιότητα και να σχεδιάσουµε αποδοτικές λύσεις Μπορούµε να ϐασιστούµε στην ιδιότητα και να µελετήσουµε την πολυπλοκότητα του συστήµατος Στα Ασύγχρονα Συστήµατα αφαιρούµε την υπόθεση αποτυπώνει καλύτερα τις πραγµατικές συνθήκες λειτουργίας Μπορούµε να υποθέσουµε άνω όρια για την µελέτη της πολυπλοκότητας του συστήµατος -- Asynchronous Bounded-Delay Networks Για να πετύχουµε συγχρονισµένη εκτέλεση χρειαζόµαστε επιπλέον κώδικα Συγχρονιστές Εφαρµογές Σε περιβάλλον συγχρονισµένης εκτέλεσης, ο σωστός σχεδιασµός επιφέρει καλύτερη απόδοση ως προς την χρονική πολυπλοκότητα αλλά και την πολυπλοκότητα επικοινωνίας Στα ασύγχρονα συστήµατα µπορούµε να εγγυηθούµε περιβάλλον συγχρονισµένης εκτέλεσης µε την χρήση συγχρονιστών Εποµένως αλγόριθµοι για σύγχρονα συστήµατα µπορούν να εφαρµοστούν στα ασύγχρονα η χρήση συγχρονιστών είναι ένας τρόπος µετατροπής αλγόριθµων για σύγχρονα συστήµατα σε αλγόριθµους για ασύγχρονα συστήµατα Λύση: SimpleSynch -- ανταλλαγή µηνυµάτων για τον συγχρονισµό Λύση: ABD -- χρήση ϱολογιών για τον συγχρονισµό Ο συγχρονιστής A προσφέρει ένα περιβάλλον εκτέλεσης τέτοιο ώστε µια διεργασία P δεν µπορεί να διαχωρίσει αν εκτελείται σε ένα ασύγχρονο σύστηµα ή απ ευθείας σε ένα σύγχρονο σύστηµα. Αναζήτηση Κατά Εύρος SynchBFS SynchBFS αλγόριθµος AsynchBFS SimpleSync ABD χρόνος O (δ n(d + l)) O (δ(d + l)) O (δ µ) µηνύµατα O (n m) O ( n m 2) O (n m) Εύρεση Συντοµότερων µονοπατιών BellmanFord BellmanFord αλγόριθµος AsynchBellmanFord SimpleSync ABD χρόνος O ( n n+1 (l + d) ) O ( n(l + d) ) O ( n µ ) µηνύµατα O(n n m) O(n 2 m 2 ) O(n 2 m)

Συγχρονισµός Ρολογιών Φυσικά Ρολόγια Ανάγουµε το πρόβληµα του συγχρονισµού διεργασιών σε πρόβληµα συγχρονισµού ϕυσικών ϱολογιών Η παρουσία ενός ϕυσικού ϱολογιού µπορεί να χρησιµοποιηθεί για την αντιµετώπιση πολλών προβληµάτων Πρόβληµα επικύρωσης δοσοληψιών Πρόβληµα πιστοποίησης... [B.Liskov, PODC 91] Οι κόµβοι/διεργασίες διαθέτουν ένα τοπικό ϕυσικό ϱολόι Σε αντίθεση µε τα κεντρικοποιηµένα συστήµατα, δεν υπάρχει ένα κοινό κεντρικό ϱολόι Θέλουµε όταν οι διεργασίες ελέγχουν το ϱολόι την στιγµή t να διαβάζουν όλες την ίδια τιµή t Σε επίπεδο λογισµικού, η ώρα την στιγµή t είναι C(t) = H(t) α + β, όπου H(t) -- η τιµή του ϕυσικού ϱολογιού α -- η µονάδα µέτρησης του ϕυσικού ϱολογιού β -- η τιµή της ώρας 0 (διόρθωση) Τα ϱολόγια δεν είναι τέλεια, δηλ. C(t) t Ακρίβεια Η ακρίβεια του ϕυσικού ϱολογιού (επίπεδο υλικό) χαρακτηρίζεται ως προς: Ρυθµός απόκλισης (drift) -- ο ϱυθµός µε τον οποίο το ϱολόι επιβραδύνει ή επιταχύνει κατά την µέτρηση του χρόνου ιαφορά (skew) -- Η απόλυτη διαφορά C1(t) C2(t) µεταξύ των µετρήσεων δύο ϱολογιών την χρονική στιγµή t Αλγόριθµοι Συγχρονισµού Φυσικών Ρολογιών Ερώτηση Προηγούµενης ιάλεξης Η ακρίβεια στον συγχρονισµό των ϱολογιών που µπορεί να επιτύχει ένας αλγόριθµος απαιτεί µεγάλα χρονικά διαστήµατα για να ολοκληρωθεί ανταλλαγές πολλών µηνυµάτων... η διαδικασία µπορεί να µην είναι απολύτως σωστή να µην επιτυγχάνει τέλειο συγχρονισµό Ακόµα και όταν συγχρονίσουµε δύο ϱολόγια την χρονική στιγµή t µε καλή ακρίβεια, λόγω του ϱυθµού απόκλισης, µια επόµενη χρονική στιγµή t > t, τα δυο ϱολόγια µπορεί να παρουσιάζουν διαφορά Περιοδικός συγχρονισµός των τοπικών ϱολογιών Ερώτηση 6 ης ιάλεξης Θεωρείστε ένα ασύγχρονο κατανεµηµένο σύστηµα µε n διεργασίες συνδεδεµένες µέσω ενός µη-κατευθυνόµενου, πλήρως συνδεδεµένου δικτύου. Τροποποιείστε τον αλγόριθµο SimpleSync έτσι ώστε να να επιτρέπει στις διεργασίες να εκτελέσουν r συγχρονισµένα ϐήµατα ακόµα και αν συµβούν β ϐυζαντινά σφάλµατα κατά την διάρκεια προσοµοίωσης των r γύρων. Με τι ϱυθµό συµβαίνουν τα β σφάλµατα ; Υπάρχει σχέση µεταξύ r και β ; Πως µπορεί να ξέρει µια διεργασία ότι όλα τα µηνύµατα παραδόθηκαν;

Σύνοψη 7 ης ιάλεξης Γενικά Προηγούµενο Μάθηµα Προηγούµενο Μάθηµα Συγχρονισµός ιεργασιών Ερώτηση Προηγούµενης ιάλεξης Ασύγχρονα Κατανεµηµένα Συστήµατα ιάταξη Γεγονότων Λογικός Χρόνος Αµοιβαίος Αποκλεισµός Σύνοψη Μαθήµατος Σύνοψη Μαθήµατος Επόµενο Μάθηµα Ο συγχρονισµός ϱολογιών σε ένα κατανεµηµένο σύστηµα δεν είναι καθόλου εύκολο πρόβληµα Ο συγχρονισµός διεργασιών µπορεί να λυθεί και µε ασθενέστερες συνθήκες Αρκεί να µπορούµε να εγγυηθούµε την χρονολογική σειρά των γεγονότων Ο Lamport παρατηρεί ότι σε πολλά προβλήµατα δεν είναι απαραίτητο να διατηρούµε τα ϱολόγια συγχρονισµένα Αρκεί να εξασφαλίσουµε ότι όλα τα γεγονότα είναι πλήρως διατεταγµένα κατά έναν απολύτως συνεπή τρόπο Εργασία µε τίτλο Time, clocks, and the ordering of events in a distributed system Περιοδικό Communications of the ACM, Volume 21, Issue 7 (July 1978), pp. 8--6 ιάταξη Γεγονότων (1) ιάταξη Γεγονότων (2) Κάθε διεργασία Pu χαρακτηρίζεται απο την κατάσταση της stateu Ορίζουµε ως συµβάν σ u µια ενέργεια ɛ που επιφέρει µια αλλαγή στην κατάσταση κάποιας διεργασίας Pu Υποθέτουµε ότι οι διεργασίες εξελίσσονται σειριακά Υπάρχει µια αυστηρή διάταξη των συµβάντων σ1 u, σu 2,... κάθε διεργασίας Pu όπου σk u, σk+1 u σηµαίνει ότι το σu k συνέβη πριν το σk+1 u Ορίζουµε Hu = {σ1 u, σu 2,...} την ιστορία της Pu Εστω α µία εκτέλεση του συστήµατος S Η εκτέλεση α αποτελείτε από µια ακολουθία συµβάντων σ1, σ2,..., σk,... Η ϐασική ιδέα είναι να διατάξουµε τα συµβάντα της α κατά αύξουσα χρονική σειρά, δίνοντας σε κάθε συµβάν σ µια χρονοσφραγίδα TS(σ) T, όπου T είναι ένα πλήρως διατεταγµένο σύνολο Το σύνολο T πρέπει να ικανοποιεί µια συγκεκριµένη συνθήκη: υπάρχει µια ακολουθία t1, t2,... απο αύξοντα στοιχεία του T τέτοια ώστε κάθε t T είναι ϕραγµένο εκ των άνω απο κάποιο ti Οι χρονοσφραγίδες δεν πρέπει να έχουν κάποια συγκεκριµένη σχέση µε τον πραγµατικό χρόνο

Η σχέση συνέβη-πριν (1) Η σχέση συνέβη-πριν (2) Θέλουµε να διατάξουµε τα συµβάντα που συµβαίνουν σε διαφορετικές διεργασίες Η σχέση συνέβη-πριν µοντελοποιεί την λογική σχέση εξάρτησης των συµβάντων Αν σi σj τότε το συµβάν σi συνέβη πριν το σj Η διάταξη ϐασίζεται στα παρακάτω: 1. αν δύο συµβάντα συνέβησαν στην ίδια διεργασία Pu τότε συνέβησαν µε τη σειρά που τα παρατήρησε η Pu -- όπως προκύπτει απο την ιστορία Hu 2. αν η Pu στείλει ένα µήνυµα m στην Pv όπου σi u = send(m) και σj v = receive(m) τότε η αποστολή του µηνύµατος (συµβάν στον αποστολέα) προηγείται λογικά της παραλαβής του (συµβάν στον παραλήπτη) Η διάταξη ικανοποιεί την Μεταβατική ιδιότητα αν σi σj και (στην συνέχεια) σj σk, τότε σi σk Ισχύει ότι e1.1 e. εφόσον e1.1 e1.2 e2.2 e2. e. e.1 e1. εφόσον e.1 e.2 e1. Παράδειγµα εκτέλεσης Λογικά Ανεξάρτητα Συµβάντα (1) Λογικά Ανεξάρτητα Συµβάντα (2) Η σχέση ορίζει µόνο µια µερική διάταξη του συνόλου των συµβάντων της εκτέλεσης του συστήµατος. Μπορεί να υπάρχουν συµβάντα που δεν συνδέονται µεταξύ τους µέσω της σχέσης ονοµάζονται λογικά ανεξάρτητα ή λογικά ταυτόχρονα : σ u i σ v j ( ) ( ) σ u i σ v j σ v j σ u i Εξ ορισµού, τα συµβάντα που λαµβάνουν χώρα στην ίδια διεργασία δεν είναι λογικά ανεξάρτητα µεταξύ τους Αν δύο γεγονότα είναι λογικά ανεξάρτητα δεν συνεπάγεται ότι πραγµατοποιούνται ταυτόχρονα Η λογική ανεξαρτησία δεν συνεπάγεται και απουσία χρονολογικής σειράς (σύµφωνα µε ένα αντικειµενικό εξωτερικό παρατηρητή του συστήµατος) Ισχύει ότι e1.1 e.2 e2.1 e1. Σύµφωνα µε το παράδειγµα εκτέλεσης, το συµβάν e1.1 πραγµατοποιήθηκε πριν το e.2 και το e2.1 πριν το e1. Παράδειγµα εκτέλεσης

Συζήτηση Λογικός Χρόνος εν µπορούν να σχετιστούν όλα τα συµβάντα σε µια εκτέλεση ενός κατανεµηµένου συστήµατος µε την σχέση Ας υποθέσουµε ότι το κατανεµηµένο σύστηµα διαθέτει ένα καθολικό ρολόι πραγµατικού χρόνου RC Τότε RC(σ) είναι η τιµή του καθολικού ϕυσικού ϱολογιού όταν πραγµατοποιήθηκε το συµβάν σ Εποµένως αν το σi συνέβη πριν το σj, δηλ. τότε ισχύει ότι σi σj RC(σi) < RC(σj) ίνουµε σε κάθε συµβάν σ µια χρονοσφραγίδα TS(σ) T, όπου T είναι ένα πλήρως διατεταγµένο σύνολο Η χρονοσφραγίδα του συµβάντος σi όπου σi σj πρέπει να έχει µικρότερη απο την χρονοσφραγίδα του σj δηλ. TS(σi) < TS(σj) Μπορούµε να σειριοποιήσουµε τα συµβάντα χωρίς να παραβιάζεται (όχι όµως και να τηρείται απαραίτητα επακριβώς) η λογική σχέση εξάρτησης τους Μπορούµε να προσφέρουµε ένα περιβάλλον συγχρονισµένης εκτέλεσης αποφεύγοντας τις δυσκολίες του συγχρονισµού των ϕυσικών ϱολογιών χρονική πολυπλοκότητα πολυπλοκότητα επικοινωνίας περιοδική εκτέλεση Λογικά Ρολόγια Lamport Ο Αλγόριθµος του Lamport (1) Ο Lamport προτείνει ένα απλό µηχανισµό για τον ορισµό των χρονοσφραγίδων που ικανοποιούν την σχέση συνέβη-πριν Ονόµασε τον µηχανισµό λογικό ρολόι (logical clock) Ενα λογικό ϱολόι είναι ένας µονότονα αυξανόµενος µετρητής, του οποίου η τιµή δεν χρειάζεται να έχει κάποια ιδιαίτερη σχέση µε κάποιο ϕυσικό ϱολόι Κάθε διεργασία Pu διατηρεί το δικό της λογικό ϱολόι LCu Χρησιµοποιούµε την τιµή του λογικού ϱολογιού ως χρονοσφραγίδα για κάθε συµβάν Αλγόριθµος LamportTime Οι διεργασίες διατηρούν µια µεταβλητή LC η οποία αρχικά είναι 0. Για κάθε εσωτερικό συµβάν ή ένα συµβάν send(m) ϑέτουν LC + +. Μαζί µε κάθε µήνυµα m που στέλνουν οι διεργασίες, επισυνάπτουν την τιµή της µεταβλητής LC. Μόλις λάβουν ένα µήνυµα m µε χρονοσφραγίδα TS(m) ϑέτουν LC = max{lc, TS(m)} + 1. Αν για δύο συµβάντα σi και σj ισχύει σi σj ο αλγόριθµος LamportTime εξασφαλίζει ότι TS(σi) < TS(σj) Αν TS(σi) < TS(σj) δεν ισχύει αναγκαστικά ότι σi σj

Ο Αλγόριθµος του Lamport (2) Είναι πιθανό δύο συµβάντα σi και σj που πραγµατοποιούνται σε δύο διαφορετικές διεργασίες να µην συνδέονται µε την σχέση και να έχουν τις ίδιες χρονοσφραγίδες Οµως δεν επιτρέπουµε σε ένα συµβάν να συµβεί ακριβώς την ίδια χρονική στιγµή µε κάποιο άλλο Για να ικανοποιούν τα λογικά ϱολόγια του Lamport αυτή την συνθήκη, µια απλή λύση είναι η χρήση των ταυτοτήτων των διεργασιών για τον υπολογισµό των χρονοσφραγίδων εδώ υποθέτουµε ότι οι διεργασίες διαθέτουν µοναδικές ταυτότητες Εποµένως οι χρονοσφραγίδες των γεγονότων σ u i και σ v i ϑα είναι i.u και i.v -- π.χ. 11.1 και 11.06 Αρχική Εκτέλεση Μετατροπή Εκτέλεσης Υλοποίηση Αλγόριθµου του Lamport Αυτόµατο LamportTime u (1) εδοµένου ενός αυτόµατου P µπορούµε να υλοποιήσουµε τον αλγόριθµο του Lamport παρόµοια µε τον τρόπο υλοποίησης των συγχρονιστών Μπορούµε επίσης να επεκτείνουµε το P υλοποιώντας τον αλγόριθµο του Lamport ως LamportTime(P) 1 η Προσέγγιση P1 P2 2 η Προσέγγιση C2,1 L (P) L1 1 L (P) L2 2 C1,2 Ενέργειες: Ενέργειες Εισόδου in(lamporttime u ) 1. send (m) u -- όπου m ένα µήνυµα 2. advanceclocku Ενέργειες Εξόδου out(lamporttime u ) Καταστάσεις: 1. receive (m) u -- όπου m ένα µήνυµα clocku -- ένα λογικό ϱολόι, αρχικά 0 C2,1 L1 L2 C1,2

Αυτόµατο LamportTime u (2) Αυτόµατο LamportTime(A) u (1) Μεταβάσεις: send (m) u αποτέλεσµα: clock++ send(m, clock) advanceclocku αποτέλεσµα: clock++ receive (m) u προϋπόθεση: receive(m, c) αποτέλεσµα: clock = max(clock, c) + 1 Ενέργειες: Ιδιες µε το αυτόµατο A Αντικαθιστούµε την send (m) u της A µε send (m, c) u Αντικαθιστούµε την receive (m) u της A µε receive (m, c) u Καταστάσεις: Ιδιες µε το αυτόµατο A clocku -- ένα λογικό ϱολόι, αρχικά 0 Μεταβάσεις: Ενέργειες εισόδου/εξόδου/εσωτερικές εκτός από send, receive προϋπόθεση: Ιδιες µε το αυτόµατο A αποτέλεσµα: clock++ Αυτόµατο LamportTime(A) u (2) Αµοιβαίος Αποκλεισµός Μεταβάσεις: (συνέχεια) send (m, c) u προϋπόθεση: Ιδιες µε send(m)u του αυτόµατου A c = clock + 1 αποτέλεσµα: Ιδιες µε send(m)u του αυτόµατου A clock = c receive (m, c) u αποτέλεσµα: Ιδιες µε receive(m)u του αυτόµατου A clock = max(clock, c) + 1 Οι διεργασίες διαµοιράζονται ορισµένους κοινούς πόρους Κάποιοι πόροι απαιτούν αποκλειστική πρόσβαση από µία διεργασία µόνο Το µέρος της διεργασίας που χρειάζεται να χειριστεί τον πόρο αποκλειστικά ονοµάζεται κρίσιµο τµήµα (ΚΤ) Απαιτείται συντονισµένη πρόσβαση Κεντρικοποιηµένα Συστήµατα Χρήση semaphores, συντονιστών... Το πρόβληµα του Αµοιβαίου Αποκλεισµού ορίστηκε για πρώτη ϕορά από τον Edsger Dijkstra το 196 Λειτουργικά Συστήµατα Ι, Μάθηµα oυ Εξαµήνου, Τοµέας Λογικού και Υπολογιστών

Απαραίτητες ιδιότητες Ελάχιστες Υποθέσεις Ασφάλεια (safety) -- µια µόνο από τις διεργασίες µπορεί να αποκτήσει πρόσβαση στον κοινό πόρο σε ένα ορισµένο χρονικό διάστηµα Βιωσιµότητα (liveness) -- αν µια διεργασία επιθυµεί να εισέλθει στο κρίσιµο τµήµα τελικά ϑα το καταφέρει αν ο κοινός πόρος δεν χρησιµοποιείται, τότε όποια διεργασία Ϲητήσει πρόσβαση ϑα πρέπει να την αποκτήσει σε πεπερασµένο χρονικό διάστηµα ιάταξη (ordering) -- η άδεια εισόδου στο κρίσιµο τµήµα πρέπει να παραχωρηθεί σύµφωνα µε τη σχέση συνέβη-πριν: οι αιτήσεις των διεργασιών εξυπηρετούνται µε τη σειρά που έχουν εκδοθεί Οι διεργασίες έχουν µοναδικές ταυτότητες Κάθε διεργασία έχει µέρη του κώδικα της µε κρίσιµα τµήµατα Για ευκολία οι διεργασίες ανταγωνίζονται για ένα µόνο πόρο εν υπάρχει κάποιο καθολικό ϱολόι Οι διεργασίες επικοινωνούν µε την ανταλλαγή µηνυµάτων Υποθέτουµε ότι τα κανάλια είναι αξιόπιστα, FIFO Το δίκτυο είναι πλήρες Κριτήρια Απόδοσης Ο Αλγόριθµος Coordinator Αλγόριθµος Coordinator 1. Ορθότητα (Correctness) οι συνθήκες ασφάλειας, ϐιωσιµότητας και διάταξης ισχύουν 2. Πολυπλοκότητα Επικοινωνίας (Communication Complexity) επεξεργασία των αιτήσεων ελαχιστοποιώντας τον αριθµό µηνυµάτων. Απόκριση (Latency) ελαχιστοποίηση της καθυστέρησης εισόδου στο κρίσιµο τµήµα Υπάρχει µια ϕάση αρχικοποίησης του συστήµατος όπου όλες οι διεργασίες εκτελούν έναν αλγόριθµο εκλογής αρχηγού την διεργασία συντονιστή Pc. Κάθε διεργασία που επιθυµεί να µπει σε ΚΤ στέλνει µια αίτηση στον συντονιστή. Ο συντονιστής διατηρεί µια ουρά για τις εισερχόµενες αιτήσεις. Εφόσον ο κοινός πόρος είναι ελεύθερος και η ουρά δεν είναι άδεια, ο συντονιστής ενηµερώνει την διεργασία που ϐρίσκεται στην αρχή της ουράς να µπει στο ΚΤ. Οταν η διεργασία ϐγει απο το ΚΤ στέλνει ένα µήνυµα εξόδου στον συντονιστή. Λύνει το πρόβληµα: ικανοποιεί και τις συνθήκες Πολύ εύκολη υλοποίηση είδη µηνυµάτων: request, reply, release Μετατροπή της λύσης για κεντρικοποιηµένα συστήµατα

Χαρακτηριστικά του Αλγόριθµου Coordinator Ο Αλγόριθµος του Lamport Για την είσοδο µιας διεργασίας στο ΚΤ χρειάζονται 2 µηνύµατα η απόκριση του αλγόριθµου αντιστοιχεί στον χρόνο αποστολής δύο µηνυµάτων ή στο roundtrip delay. Χαµηλή Κλιµάκωση ο συντονιστής είναι σηµείο συµφόρησης: µια διεργασία πρέπει να εξυπηρετήσει όλο το σύστηµα Χαµηλή Ανεκτικότητα σε Σφάλµατα ο συντονιστής είναι µοναδικό σηµείο αποτυχίας Σε περίπτωση ϐλάβης οι διεργασίες πρέπει να εκλέξουν νέο συντονιστή Ο νέος συντονιστής πρέπει να αποκαταστήσει την ουρά των αιτήσεων διασφαλίζοντας την συνθήκη της ιάταξης Αλγόριθµος LamportME Οι διεργασίες διατηρούν ένα τοπικό λογικό ϱολόι σύµφωνα µε τον αλγόριθµο LamportTime. Οι διεργασίες διατηρούν µια ουρά για τις εισερχόµενες αιτήσεις. Κάθε διεργασία που επιθυµεί να µπει σε ΚΤ στέλνει µια αίτηση (µε χρονοσφραγίδα) σε όλες τις άλλες διεργασίες, και τοποθετεί την αίτηση στην ουρά της. Οταν µια διεργασία παραλάβει µια αίτηση την προσθέτει στην ουρά και απαντάει επιβεβαιώνοντας την παραλαβή. Η διεργασία µε µικρότερη χρονοσφραγίδα εισέρχεται στο ΚΤ. Οταν η διεργασία ϐγει απο το ΚΤ στέλνει ένα µήνυµα εξόδου σε όλες τις διεργασίες και αφαιρεί την αίτηση απο την ουρά της αντίστοιχα διαγράφουν και οι άλλες διεργασίες την αίτηση απο την ουρά που διατηρούν. Πρώτη κατανεµηµένη προσέγγιση 1978 Λύνει το πρόβληµα: ικανοποιεί και τις συνθήκες Χαρακτηριστικά του Αλγόριθµου LamportME Ο Αλγόριθµος των Ricard και Agrawala Αλγόριθµος RicardAgrawalaME Χρησιµοποιεί είδη µηνυµάτων: request, reply, release Για κάθε αίτηση στέλνονται (n 1) µηνύµατα n 1 µηνύµατα για κάθε αίτηση n 1 µηνύµατα επιβεβαίωσης n 1 µηνύµατα εξόδου Η απόκριση του αλγόριθµου για µια µόνο αίτηση είναι 2δ + O(l) Η καθυστέρηση από τη στιγµή που µια διεργασία χρειάζεται να χρησιµοποιήσει το ΚΤ είναι ανάλογη µε τον χρόνο ανταλλαγής 2 (n 1) µηνυµάτων Οι διεργασίες διατηρούν ένα τοπικό λογικό ϱολόι σύµφωνα µε τον αλγόριθµο LamportTime. Οι διεργασίες διατηρούν µια ουρά προτεραιότητας για τις εισερχόµενες αιτήσεις (σύµφωνα µε τις χρονοσφραγίδες). Κάθε διεργασία που επιθυµεί να µπει σε ΚΤ στέλνει µια αίτηση (µε χρονοσφραγίδα) σε όλες τις άλλες διεργασίες, και τοποθετεί την αίτηση στην ουρά της. Οταν µια διεργασία παραλάβει µια αίτηση την προσθέτει στην ουρά προτεραιότητας και απαντάει επιβεβαιώνοντας την παραλαβή όταν (α) δεν είναι σε ΚΤ, (ϐ) είναι η µοναδική αίτηση στην ουρά, (γ) είναι η πρώτη αίτηση στην ουρά. Αλλιώς καθυστερεί την επιβεβαίωση έως ότου ικανοποιηθεί µια απο τις τρεις συνθήκες. Οταν µια διεργασία λάβει επιβεβαίωση απο όλες τις άλλες διεργασίες, εισέρχεται στο ΚΤ. Συνδυασµός των µηνυµάτων reply και release

Χαρακτηριστικά του Αλγόριθµου RicardAgrawalaME Ο Αλγόριθµος του LeLann Λύνει το πρόβληµα: ικανοποιεί και τις συνθήκες Για κάθε αίτηση στέλνονται 2 (n 1) µηνύµατα n 1 µηνύµατα για κάθε αίτηση n 1 µηνύµατα επιβεβαίωσης Η απόκριση του αλγόριθµου για µια µόνο αίτηση είναι 2δ + O(l) Ανεκτικότητα σε Σφάλµατα ; Υπάρχουν n σηµεία αποτυχίας Κλιµάκωση ; Ολες οι διεργασίες πρέπει να εξυπηρετήσουν όλο το σύστηµα Αλγόριθµος LeLannME Υπάρχει µια ϕάση αρχικοποίησης του συστήµατος όπου όλες οι διεργασίες κατασκευάζουν ένα εικονικό δακτύλιο και στην συνέχεια εκτελούν έναν αλγόριθµο εκλογής αρχηγού. Η εκλεγµένη διεργασία δηµιουργεί ένα ειδικό µήνυµα κουπόνι το οποίο αποστέλλει στον δεξιόστροφο γείτονα στο εικονικό δακτύλιο. Οταν µια διεργασία παραλάβει το κουπόνι, αν ϑέλει µπορεί να εισέρθει σε ΚΤ, αλλιώς προωθεί το µήνυµα στον δεξιόστροφο γείτονα. Μόλις ϐγει απο το ΚΤ, προωθεί το µήνυµα στον δεξιόστροφο γείτονα. Κατά αυτόν τον τρόπο το κουπόνι περιφέρεται στον εικονικό δακτύλιο. Ο κάτοχος του `κουπονιού µπορεί να εισέρθει στο ΚΤ Η διάταξη των διεργασιών σε δακτύλιο είναι µια λογική διάταξη, ανεξάρτητη απο την πραγµατική Χαρακτηριστικά του Αλγόριθµου LeLannME Ο Αλγόριθµος του Raymond Η απόκριση του αλγόριθµου για µια µόνο αίτηση είναι n στη χειρότερη περίπτωση -- n στη µέση περίπτωση 2 Ακόµα και όταν καµία διεργασία δεν ενδιαφέρεται να εισέλθει σε ΚΤ, το κουπόνι µεταδίδεται Ανεκτικότητα σε Σφάλµατα ; Αποκατάσταση δακτυλίου Αποκατάσταση κουπονιού Βελτίωση: (αλγόριθµος του Chandy) Αποφεύγεται η άσκοπη περιφορά του κουπονιού εφόσον καµία διεργασία δεν επιθυµεί να εισέλθει σε ΚΤ εν απαιτείται καµία λογική διάταξη Το κουπόνι µεταβιβάζεται από τη διεργασία που το κατέχει, εφόσον ζητηθεί Αλγόριθµος RaymondME Υπάρχει µια ϕάση αρχικοποίησης του συστήµατος όπου όλες οι διεργασίες κατασκευάζουν ένα επικαλυπτικό δέντρο. Η ϱίζα του δέντρου δηµιουργεί ένα ειδικό µήνυµα κουπόνι. Το κουπόνι διασχίζει τις ακµές του δέντρου στο µονοπάτι απο την ϱίζα µέχρι τη διεργασία που το Ϲήτησε. Καθώς µεταβιβάζεται το κουπόνι, η κατεύθυνση των ακµών αλλάζει κατά µήκος του µονοπατιού, προκειµένου στη νέα ϱίζα του δέντρου να ϐρίσκεται η διεργασία που Ϲήτησε το κουπόνι. Κάθε διεργασία διατηρεί ένα δείκτη στο µονοπάτι που οδηγεί στη ϱίζα, καθώς και µια ουρά όπου ϐρίσκονται οι αιτήσεις της ίδιας ή και άλλων διεργασιών που δεν έχουν ακόµα το κουπόνι. Η διάταξη των διεργασιών σε ένα λογικό επικαλυπτικό δέντρο µειώνει το πλήθος των µηνυµάτων που ανταλλάσσονται σε O(log n)

Αλγόριθµου RaymondME Αλγόριθµου RaymondME Η διεργασία επιθυµεί να εισέλθει σε ΚΤ εισάγει την αίτηση στην ουρά της Αρχικό ίκτυο Το δίκτυο έχει µονάδες, 6 κανάλια Η διεργασία 1 είναι η ϱίζα του δέντρου. Ολες οι ουρές είναι άδειες Αλγόριθµου RaymondME Αλγόριθµου RaymondME Η διεργασία Η διεργασία επιθυµεί να εισέλθει σε ΚΤ επιθυµεί να εισέλθει σε ΚΤ εισάγει την αίτηση στην ουρά της εισάγει την αίτηση στην ουρά της επεξεργάζεται την αίτηση (εφόσον αρχικά η ουρά ήταν άδεια) επεξεργάζεται την αίτηση (εφόσον αρχικά η ουρά ήταν άδεια) στέλνει µήνυµα αίτησης στην στέλνει µήνυµα αίτησης στην Η διεργασία αποθηκεύει το µήνυµα στην ουρά της request Η διεργασία αποθηκεύει το µήνυµα στην ουρά της επεξεργάζεται την αίτηση (εφόσον αρχικά η ουρά ήταν άδεια) στέλνει µήνυµα αίτησης στην 1 Η διεργασία 1 αποθηκεύει το µήνυµα request

Αλγόριθµου RaymondME Αλγόριθµου RaymondME Η διεργασία Η διεργασία επιθυµεί να εισέλθει σε ΚΤ εισάγει την αίτηση στην ουρά της επιθυµεί να εισέλθει σε ΚΤ εισάγει την αίτηση στην ουρά της επεξεργάζεται την αίτηση (εφόσον αρχικά η ουρά ήταν άδεια) request στέλνει µήνυµα αίτησης στην, Αλγόριθµου RaymondME Η διεργασία επιθυµεί να εισέλθει σε ΚΤ εισάγει την αίτηση στην ουρά της επεξεργάζεται την αίτηση (εφόσον αρχικά η ουρά ήταν άδεια) στέλνει µήνυµα αίτησης στην Η διεργασία αποθηκεύει το µήνυµα στην ουρά της η ουρά δεν είναι άδεια δεν στέλνει κάποιο µήνυµα στην 1, Αλγόριθµου RaymondME Η διεργασία 1 ϐγαίνει απο το ΚΤ στέλνει το κουπόνι στην αντιστρέφει την ακµή, κουπόνι

Αλγόριθµου RaymondME Η διεργασία 1 ϐγαίνει απο το ΚΤ Αλγόριθµου RaymondME Η διεργασία 1 ϐγαίνει απο το ΚΤ στέλνει το κουπόνι στην αντιστρέφει την ακµή στέλνει το κουπόνι στην αντιστρέφει την ακµή Η διεργασία Η διεργασία στέλνει το κουπόνι στην κουπόνι στέλνει το κουπόνι στην request, αντιστρέφει την ακµή, αντιστρέφει την ακµή επεξεργάζεται την επόµενη αίτηση στέλνει µήνυµα αίτησης στην Η διεργασία αποθηκεύει το µήνυµα στην ουρά της Αλγόριθµου RaymondME Αλγόριθµου RaymondME Η διεργασία Η διεργασία εισέρχεται στο ΚΤ εισέρχεται στο ΚΤ ϐγαίνει απο το ΚΤ, στέλνει το κουπόνι στην αντιστρέφει την ακµή κουπόνι

Αλγόριθµου RaymondME Χαρακτηριστικά του Αλγόριθµου RaymondME Η διεργασία εισέρχεται στο ΚΤ ϐγαίνει απο το ΚΤ στέλνει το κουπόνι στην αντιστρέφει την ακµή Η διεργασία στέλνει το κουπόνι στην αντιστρέφει την ακµή κουπόνι Η απόκριση του αλγόριθµου για µια µόνο αίτηση είναι O (log n) -- για τυχαίες κατασκευές λογικών δέντρων Οταν καµία διεργασία δεν ενδιαφέρεται να εισέλθει σε ΚΤ, το κουπόνι δεν µεταδίδεται Ανεκτικότητα σε Σφάλµατα ; Αποκατάσταση επικαλυπτικού δέντρου Αποκατάσταση κουπονιού εν συµµετέχουν όλες οι διεργασίες άµεσα στην απόφαση επιλογής της διεργασίες που ϑα αποκτήσει πρόσβαση στο ΚΤ Η λογική δοµή παραµένει ακυκλική κατά την εκτέλεση του αλγόριθµου Σύνοψη 7 ης ιάλεξης Σύνοψη Μαθήµατος Προηγούµενο Μάθηµα Προηγούµενο Μάθηµα Συγχρονισµός ιεργασιών Ερώτηση Προηγούµενης ιάλεξης Ασύγχρονα Κατανεµηµένα Συστήµατα ιάταξη Γεγονότων Λογικός Χρόνος Αµοιβαίος Αποκλεισµός Σύνοψη Μαθήµατος Σύνοψη Μαθήµατος Επόµενο Μάθηµα Ασύγχρονα Κατανεµηµένα Συστήµατα ιάταξη Γεγονότων Σχέση συνέβη-πριν Λογικός Χρόνος Λογικά Ρολόγια Lamport Αµοιβαίος Αποκλεισµός Συγκεντρωτική Λύση Χρήση Λογικών Ρολογιών Χρήση Λογικών οµών

Βιβλιογραφία (1) Βιβλιογραφία (2) Βιβλίο Κατανεµηµένα Συστήµατα µε Java (Ι.Κ.Κάβουρας, Ι.Ζ.Μήλης, Γ.Β.Ξυλωµένος, Α.Α.Ρουκουνάκη) 1. Κεφάλαιο 2: ιάταξη γεγονότων 2. Κεφάλαιο : Αµοιβαίος αποκλεισµός Βιβλίο Distributed Algorithms" (N.Lynch) 1. Κεφάλαιο 18: Logical Time Βιβλίο Distributed Computing Fundamentals, Simulations, and Advanced Topics" (H.Attiya, J.Welch) 1. Κεφάλαιο 6: Causality and Time -- Μόνο 6.1 Βιβλίο Introduction to Distributed Algorithms" (G.Tel) 1. Κεφάλαιο 2: The Model -- Μόνο 2. Βιβλίο Distributed Systems, Concepts and Design" (G.Coulouris, J.Dollimore, T.Kindberg) 1. Κεφάλαιο 10: Time and Global States -- Μόνο 10. 2. Κεφάλαιο 11: Coordination and Agreement -- Μόνο 11.2 Βιβλίο Distributed Systems: Principles and Paradigms" (A.Tanenbaum, M.Steen) 1. Κεφάλαιο : Synchronization -- Μόνο.2 Επόµενο Μάθηµα Καθολικές Καταστάσεις Κατασκευή Καθολικών Καταστάσεων Συνεπή Ολικά Στιγµιότυπα 2ο Εργαστήριο Παρασκευή εκεµβρίου Τρίτη 9 εκεµβρίου 1ο Εργαστήριο Οσοι δεν πρόλαβαν να το ολοκληρώσουν: Παρασκευή εκεµβρίου και Τρίτη 9 εκεµβρίου Φροντιστήρια για το ο Εργαστήριο Παρασκευή εκεµβρίου