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

Σχετικά έγγραφα
Κατανεμημένα Συστήματα Ι

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τυχαιοκρατικοί Αλγόριθμοι

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

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

Πίνακες Διασποράς. Χρησιμοποιούμε ένα πίνακα διασποράς T και μια συνάρτηση διασποράς h. Ένα στοιχείο με κλειδί k αποθηκεύεται στη θέση

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

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

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

Διάλεξη 3: Αλγόριθμοι σε Γράφους ΙΙ. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

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

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

Σειρά Προβλημάτων 1 Λύσεις

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

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

Στοιχεία Θεωρίας Αριθμών και Εφαρμογές στην Κρυπτογραφία. Fast Asynchronous Byzantine Agreement with Optimal Resilience

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

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

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

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 8: Παίγνια πλήρους και ελλιπούς πληροφόρησης

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

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

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 4: Εισαγωγή / Σύνολα

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

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

Απειροστικός Λογισμός Ι, χειμερινό εξάμηνο Λύσεις έκτου φυλλαδίου ασκήσεων.

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

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

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων

Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα

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

Προσεγγιστικοί Αλγόριθμοι βασισμένοι σε Γραμμικό Προγραμματισμό

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

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ

Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης. Οταν το πρόβλημα έχει πεπερασμ

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

Ασκήσεις στους Γράφους. 1 ο Σετ Ασκήσεων Βαθμός Μονοπάτια Κύκλος Euler Κύκλος Hamilton Συνεκτικότητα

Πολυπλοκότητα. Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης. Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης. Προσπάθεια υλοποίησης

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 2: Μαθηματικό Υπόβαθρο

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

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

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

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

Α2. Να γράψετε στο τετράδιο σας τον αριθμό 1-4 κάθε πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

Διαδικασιακός Προγραμματισμός

Προγραμματισμός ΙI (Θ)

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

Το πρόβλημα του σταθερού γάμου

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

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

Στοιχεία Θεωρίας Αριθμών

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Δ ΕΣΠΕΡΙΝΩΝ

8o ΕΡΓΑΣΤΗΡΙΟ ΣΦΑΛΜΑΤΑ, ΜΟΡΦΟΠΟΙΗΣΗ ΥΠΟ ΟΡΟΥΣ ΚΑΙ ΓΡΑΦΗΜΑΤΑ

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

Σειρά Προβλημάτων 5 Λύσεις

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

f(x) = και στην συνέχεια

Γραμμικός Προγραμματισμός

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

Τυχαίοι γράφοι Η διάμετρος του G(n, 2 ln n/n) Ioannis Giotis

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η

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

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

Το πρόβλημα μονοδρόμησης (The One-Way Street Problem)

Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης. Οταν το πρόβλημα έχει πεπερασμ

Γνωστό: P (M) = 2 M = τρόποι επιλογής υποσυνόλου του M. Π.χ. M = {A, B, C} π. 1. Π.χ.

Μορφές αποδείξεων. Μαθηματικά Πληροφορικής 2ο Μάθημα. Μορφές αποδείξεων (συνέχεια) Εξαντλητική μέθοδος

Διακριτά Μαθηματικά. Απαρίθμηση: Εισαγωγικά στοιχεία Αρχή του Περιστεριώνα

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

Δυναμικός προγραμματισμός για δέντρα

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

ΘΕΜΑ 1ο. Μονάδες 10. Β. ίνεται το παρακάτω τμήμα αλγορίθμου: Όσο Ι < 10 επανάλαβε Εμφάνισε Ι Ι Ι + 3 Τέλος_επανάληψης ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

Transcript:

Συναίνεση χωρίς την παρουσία σφαλμάτων Κατανεμημένα Συστήματα Ι 4η Διάλεξη 27 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Κατανεμημένα Συστήματα Ι 4η Διάλεξη 1

Συναίνεση χωρίς την παρουσία σφαλμάτων Προηγούμενη διάλεξη Εκλογή αρχηγού σε γενικά δίκτυα Αλγόριθμος FloodMax Αλγόριθμος OptFloodMax Αναζήτηση πρώτα κατά πλάτος Αλγόριθμος SynchBFS Παραλλαγές και εφαρμογές του SynchBFS Κατανεμημένα Συστήματα Ι 4η Διάλεξη 2

Συναίνεση χωρίς την παρουσία σφαλμάτων Περίληψη 1 Συναίνεση χωρίς την παρουσία σφαλμάτων Το πρόβλημα της συναίνεσης Ο αλγόριθμος SimpleConsensus 2 Κατανεμημένα Συστήματα Ι 4η Διάλεξη 3

Το πρόβλημα της συναίνεσης Ο αλγόριθμος SimpleConsensus 1 Συναίνεση χωρίς την παρουσία σφαλμάτων Το πρόβλημα της συναίνεσης Ο αλγόριθμος SimpleConsensus 2 Κατανεμημένα Συστήματα Ι 4η Διάλεξη 4

Περιγραφή του προβλήματος Το πρόβλημα της συναίνεσης Ο αλγόριθμος SimpleConsensus Το πρόβλημα της συναίνεσης σε ένα κατανεμημένο δίκτυο: Κάθε διεργασία ξεκινά με μια αρχική τιμή κάποιας μεταβλητής, την επεξεργάζεται, και δίνει ως έξοδο μια τιμή για την ίδια μεταβλητή Οι έξοδοι όλων των διεργασιών πρέπει να είναι οι ίδιες, δηλαδή οι διεργασίες πρέπει να συμφωνήσουν, ακόμα και αν οι είσοδοι είναι διαφορετικές Υπάρχει μια συνθήκη εγκυρότητας που περιγράφει τις τιμές εξόδου που επιτρέπονται για διάφορους συνδυασμούς τιμών εισόδου Κατανεμημένα Συστήματα Ι 4η Διάλεξη 5

Συναίνεση και σφάλματα Το πρόβλημα της συναίνεσης Ο αλγόριθμος SimpleConsensus Όταν δεν υπάρχουν σφάλματα (failures) στο σύστημα: το πόβλημα της συναίνεσης λύνεται εύκολα μέσω ανταλλαγής μηνυμάτων Το πρόβλημα της συναίνεσης έχει ενδιαφέρον όταν: υπάρχουν σφάλματα στην επικοινωνία, υπάρχουν σφάλματα στις διεργασίες Κατανεμημένα Συστήματα Ι 4η Διάλεξη 6

Συναίνεση χωρίς την παρουσία σφαλμάτων Το πρόβλημα της συναίνεσης Ο αλγόριθμος SimpleConsensus Εφαρμογές προβλημάτων συναίνεσης Κατανεμημένες βάσεις δεδομένων Εκτίμηση υψόμετρου αεροσκάφους Διαγνωστικοί έλεγχοι σε μέρη του συστήματος Κατανεμημένα Συστήματα Ι 4η Διάλεξη 7

Το πρόβλημα της συναίνεσης Ο αλγόριθμος SimpleConsensus Ορισμός του προβλήματος της συναίνεσης Υποθέσεις Μη κατευθυνόμενο δίκτυο από n διεργασίες 1, 2,, n Κάθε διεργασία γνωρίζει τη δομή του γραφήματος Κάθε διεργασία u έχει ως είσοδο μια τιμή i u απο το σύνολο S (δηλαδή i u S) Κάθε διεργασία δίνει ως έξοδο μια τιμή o u S Κατανεμημένα Συστήματα Ι 4η Διάλεξη 8

Το πρόβλημα της συναίνεσης Ο αλγόριθμος SimpleConsensus Ορισμός του προβλήματος της συναίνεσης Ένας αλγόριθμος λύνει το πρόβλημα συναίνεσης εφόσον πληροί τις παρακάτω προδιαγραφές: 1 Συμφωνία: Κανένα ζεύγος διεργασιών δεν αποφασίζει διαφορετικές τιμές εξόδου, δηλαδή o u = o v u, v {1,, n} 2 Εγκυρότητα: Αν όλες οι διεργασίες αρχίζουν με την ίδια τιμή i S, δηλαδή αν i u = i u {1,, n}, τότε η τιμή i είναι η μόνη δυνατή τελική απόφαση, δηλαδή o u = i u {1,, n} 3 Τερματισμός: Όλες οι διαδικασίες τελικά αποφασίζουν Κατανεμημένα Συστήματα Ι 4η Διάλεξη 9

Μια απλή λύση Συναίνεση χωρίς την παρουσία σφαλμάτων Το πρόβλημα της συναίνεσης Ο αλγόριθμος SimpleConsensus Αλγόριθμος συναίνεσης SimpleConsensus: Κάθε διεργασία u διατηρεί μια λίστα l u με ζεύγη από ταυτότητες και τιμές εισόδου, η οποία αρχικά περιέχει ένα μόνο ζεύγος, την ταυτότητα της u και την τιμή εισόδου i u S Σε κάθε γύρο, οι διεργασίες εκπέμπουν την λίστα l σε όλους τους γείτονες Μόλις λάβουν μια λίστα l v από κάποιον γείτονα v, την ενοποιούν με τη δικιά τους Μετά απο diam γύρους, όλες οι διεργασίες διατηρούν μια λίστα που περιέχει ένα ζεύγος (u, i u ) για κάθε διεργασία του συστήματος Εφαρμόζουν τους κανόνες συναίνεσης και τερματίζουν επιστρέφοντας την κοινή τιμή εξόδου o S Κατανεμημένα Συστήματα Ι 4η Διάλεξη 10

Το πρόβλημα της συναίνεσης Ο αλγόριθμος SimpleConsensus Παράδειγμα εκτέλεσης αλγορίθμου SimpleConsensus Έστω ένα σύγχρονο γενικό δίκτυο όπου n = 6 και diam = 2 Οι διεργασίες έχουν μια τιμή εισόδου (ροζ κουτί) Οι διεργασίες διατηρούν μια λίστα (μπλέ κουτί) Οι διεργασίες έχουν μια τιμή εξόδου (κίτρινο κουτί) Ο κανόνας συναίνεσης βασίζεται σε απλή πλειοψηφία Γενικό δίκτυο Κατανεμημένα Συστήματα Ι 4η Διάλεξη 11

Το πρόβλημα της συναίνεσης Ο αλγόριθμος SimpleConsensus Παράδειγμα εκτέλεσης αλγορίθμου SimpleConsensus Έστω ένα σύγχρονο γενικό δίκτυο όπου n = 6 και diam = 2 Οι διεργασίες έχουν μια τιμή εισόδου (ροζ κουτί) Οι διεργασίες διατηρούν μια λίστα (μπλέ κουτί) Οι διεργασίες έχουν μια τιμή εξόδου (κίτρινο κουτί) Ο κανόνας συναίνεσης βασίζεται σε απλή πλειοψηφία 1ος Γύρος αποστολή μηνυμάτων Κατανεμημένα Συστήματα Ι 4η Διάλεξη 11

Το πρόβλημα της συναίνεσης Ο αλγόριθμος SimpleConsensus Παράδειγμα εκτέλεσης αλγορίθμου SimpleConsensus Έστω ένα σύγχρονο γενικό δίκτυο όπου n = 6 και diam = 2 Οι διεργασίες έχουν μια τιμή εισόδου (ροζ κουτί) Οι διεργασίες διατηρούν μια λίστα (μπλέ κουτί) Οι διεργασίες έχουν μια τιμή εξόδου (κίτρινο κουτί) Ο κανόνας συναίνεσης βασίζεται σε απλή πλειοψηφία 1ος Γύρος επεξεργασία Κατανεμημένα Συστήματα Ι 4η Διάλεξη 11

Το πρόβλημα της συναίνεσης Ο αλγόριθμος SimpleConsensus Παράδειγμα εκτέλεσης αλγορίθμου SimpleConsensus Έστω ένα σύγχρονο γενικό δίκτυο όπου n = 6 και diam = 2 Οι διεργασίες έχουν μια τιμή εισόδου (ροζ κουτί) Οι διεργασίες διατηρούν μια λίστα (μπλέ κουτί) Οι διεργασίες έχουν μια τιμή εξόδου (κίτρινο κουτί) Ο κανόνας συναίνεσης βασίζεται σε απλή πλειοψηφία 2ος Γύρος αποστολή μηνυμάτων Κατανεμημένα Συστήματα Ι 4η Διάλεξη 11

Το πρόβλημα της συναίνεσης Ο αλγόριθμος SimpleConsensus Παράδειγμα εκτέλεσης αλγορίθμου SimpleConsensus Έστω ένα σύγχρονο γενικό δίκτυο όπου n = 6 και diam = 2 Οι διεργασίες έχουν μια τιμή εισόδου (ροζ κουτί) Οι διεργασίες διατηρούν μια λίστα (μπλέ κουτί) Οι διεργασίες έχουν μια τιμή εξόδου (κίτρινο κουτί) Ο κανόνας συναίνεσης βασίζεται σε απλή πλειοψηφία 2ος Γύρος επεξεργασία Κατανεμημένα Συστήματα Ι 4η Διάλεξη 11

Το πρόβλημα της συναίνεσης Ο αλγόριθμος SimpleConsensus Παράδειγμα εκτέλεσης αλγορίθμου SimpleConsensus Έστω ένα σύγχρονο γενικό δίκτυο όπου n = 6 και diam = 2 Οι διεργασίες έχουν μια τιμή εισόδου (ροζ κουτί) Οι διεργασίες διατηρούν μια λίστα (μπλέ κουτί) Οι διεργασίες έχουν μια τιμή εξόδου (κίτρινο κουτί) Ο κανόνας συναίνεσης βασίζεται σε απλή πλειοψηφία 2ος Γύρος απόφαση Κατανεμημένα Συστήματα Ι 4η Διάλεξη 11

Το πρόβλημα της συναίνεσης Ο αλγόριθμος SimpleConsensus Χαρακτηριστικά του αλγορίθμου SimpleConsensus Σε ένα σύγχρονο δίκτυο G με n διεργασίες και m κανάλια: Στο τέλος του γύρου diam κάθε διεργασία u {1,, n} διατηρεί μια λίστα l u = {(1, i 1 ), (2, i 2 ),, (n, i n )} Όλες οι διεργασίες έχουν κοινές λίστες, δηλαδή u [1, n] : l u = l Κατανεμημένα Συστήματα Ι 4η Διάλεξη 12

Το πρόβλημα της συναίνεσης Ο αλγόριθμος SimpleConsensus Χαρακτηριστικά του αλγορίθμου SimpleConsensus Σε ένα σύγχρονο δίκτυο G με n διεργασίες και m κανάλια: Στο τέλος του γύρου diam κάθε διεργασία u {1,, n} διατηρεί μια λίστα l u = {(1, i 1 ), (2, i 2 ),, (n, i n )} Όλες οι διεργασίες έχουν κοινές λίστες, δηλαδή u [1, n] : l u = l Η χρονική πολυπλοκότητα είναι O (diam(g)) Η πολυπλοκότητα επικοινωνίας είναι O (diam(g) m) Κατανεμημένα Συστήματα Ι 4η Διάλεξη 12

1 Συναίνεση χωρίς την παρουσία σφαλμάτων Το πρόβλημα της συναίνεσης Ο αλγόριθμος SimpleConsensus 2 Κατανεμημένα Συστήματα Ι 4η Διάλεξη 13

Το πρόβλημα της συντονισμένης επίθεσης Συντονισμένη επίθεση: Θεμελιώδες πρόβλημα συναίνεσης όταν μηνύματα μπορεί να χαθούν Αδυναμία επίλυσης για ντετερμινιστικά συστήματα Δυνατότητα επίλυσης με τυχαίο αλγόριθμο, με κάποια μικρή πιθανότητα λάθους Κατανεμημένα Συστήματα Ι 4η Διάλεξη 14

Συντονισμένη επίθεση Περιγραφή του προβλήματος Μερικοί στρατηγοί σχεδιάζουν μια συντονισμένη επίθεση από διαφορετικές κατευθύνσεις ενάντια σε έναν κοινό εχθρό Γνωρίζουν ότι η επίθεση θα πετύχει μόνο αν όλοι επιτεθούν Κάθε στρατηγός έχει μια αρχική εκτίμηση σχετικά με το αν ο στρατός του είναι έτοιμος να επιτεθεί Οι στρατηγοί βρίσκονται σε διαφορετικές τοποθεσίες Επικοινωνούν μέσω αγγελιαφόρων, που μπορεί να χαθούν ή να αιχμαλωτιστούν Μέσω αυτής της (μη αξιόπιστης) επικοινωνίας, οι στρατηγοί πρέπει να αποφασίσουν αν θα επιτεθούν ή όχι, και πρέπει να επιτεθούν αν είναι όλοι έτοιμοι Κατανεμημένα Συστήματα Ι 4η Διάλεξη 15

Συντονισμένη επίθεση Υποθέσεις Υποθέσεις: Το γράφημα επικοινωνίας των στρατηγών είναι μη κατευθυνόμενο και συνεκτικό Όλοι οι αρχηγοί γνωρίζουν το γράφημα Υπάρχει ένα γνωστό άνω όριο στο χρόνο που απαιτείται ώστε ένας αγγελιαφόρος να παραδώσει επιτυχώς ένα μήνυμα Αν δεν υπάρχουν σφάλματα επικοινωνίας: Με έναν αλγόριθμο όπως ο SimpleConsensus, όλοι οι στρατηγοί θα πληροφορηθούν σχετικά με το ποιοι στρατηγοί μπορούν να επιτεθούν Τότε μπορούν όλοι να εφαρμόσουν έναν προσυμφωνημένο κανόνα ώστε να πάρουν όλοι την ίδια απόφαση: πχ, να επιτεθούν μόνο αν όλοι το επιθυμούν Κατανεμημένα Συστήματα Ι 4η Διάλεξη 16

Συντονισμένη επίθεση Σφάλματα επικοινωνίας Υποθέτουμε ότι οι αγγελιαφόροι μπορεί να χαθούν Ο απλός αλγόριθμος δεν δουλεύει Θα δείξουμε ότι δεν υπάρχει αλγόριθμος που να λύνει πάντα σωστά το πρόβλημα Κατανεμημένα Συστήματα Ι 4η Διάλεξη 17

Το πρόβλημα της συντονισμένης επίθεσης Τυπική περιγραφή (1/2) n διεργασίες 1, 2,, n διατεταγμένες σε ένα αυθαίρετο δίκτυο Κάθε διεργασία γνωρίζει το γράφημα Κάθε διεργασία ξεκινάει με μια τιμή εισόδου στο {0, 1}: 1 = επίθεση, 0 = όχι επίθεση Υποθέτουμε το γνωστό σύγχρονο κατανεμημένο μοντέλο, αλλά επιτρέπουμε απώλειες μηνυμάτων Στόχος: όλες οι διεργασίες πρέπει να αποφασίσουν 0 ή 1 Κατανεμημένα Συστήματα Ι 4η Διάλεξη 18

Το πρόβλημα της συντονισμένης επίθεσης Τυπική περιγραφή (2/2) Οι αποφάσεις των διεργασιών πρέπει να ικανοποιούν τρεις συνθήκες: Συμφωνία: Όλες οι διεργασίες αποφασίζουν την ίδια τιμή (όλες 0 ή ολες 1) Εγκυρότητα: 1 Αν όλες οι διεργασίες ξεκινήσουν με 0, τότε πρέπει να αποφασίσουν 0 2 Αν όλες οι διεργασίες ξεκινήσουν με 1 και όλα τα μηνύματα παραδοθούν, τότε πρέπει να αποφασίσουν 1 Τερματισμός: Όλες οι διεργασίες πρέπει τελικά να αποφασίσουν Κατανεμημένα Συστήματα Ι 4η Διάλεξη 19

Αδυναμία επίλυσης του προβλήματος Θα δείξουμε ότι δεν υπάρχει αλγόριθμος που να λύνει πάντα σωστά το πρόβλημα, ακόμα και αν οι συνθήκες εγκυρότητας είναι τόσο αδύναμες και n = 2 Η απόδειξη θα γίνει με απαγωγή σε άτοπο Κατανεμημένα Συστήματα Ι 4η Διάλεξη 20

Αλγόριθμος A για συντονισμένη επίθεση Έστω ότι υπάρχει ένας αλγόριθμος A που λύνει το πρόβλημα της συντονισμένης επίθεσης, υπό την παρουσία σφαλμάτων επικοινωνίας, σε ένα δίκτυο n = 2 διεργασιών που συνδέονται με μια πλευρά Βασικές υποθέσεις: Κάθε διεργασία έχει μία αρχική κατάσταση για κάθε τιμή εισόδου (μία για 0 και μία για 1) Για μια συγκεκριμένη ανάθεση αρχικών καταστάσεων και μια ακολουθία από επιτυχείς ανταλλαγές συγκεκριμένων μηνυμάτων, υπάρχει μόνο μία δυνατή εκτέλεση Σε κάθε γύρο, όλες οι διεργασίες στέλνουν ένα μήνυμα μπορούν να στείλουν ανόητα ( dummy ) μηνύματα Κατανεμημένα Συστήματα Ι 4η Διάλεξη 21

Εξέταση αλγόριθμου A (1) Έστω μια εκτέλεση ϵ του A: Οι δύο διεργασίες ξεκινάνε με αρχική τιμή ναι (που αντιστοιχεί στο 1) δηλαδή i 1 = i 2 = ναι Όλα τα μηνύματα παραδίδονται Σύμφωνα με τη συνθήκη τερματισμού: Υπάρχει κάποιος γύρος γ όπου και οι δύο διεργασίες θα έχουν αποφασίσει Σύμφωνα με τη συνθήκη εγκυρότητας: Οι δύο διεργασίες αποφασίζουν ναι, δηλαδή o 1 = o 2 = ναι Κατανεμημένα Συστήματα Ι 4η Διάλεξη 22

Εξέταση αλγόριθμου A (2) Έστω η εκτέλεση ϵ 1, που προκύπτει από την ϵ του A, όπου μετά τον γύρο γ όλα τα μηνύματα χάνονται Εκτέλεση ϵ 1 διάγραμμα μηνυμάτων 1 i 1 = ναι 1 oς γύρος 2 oς γύρος γύρος γ o 1 = ναι 2 i 2 = ναι o 2 = ναι Σε ένα διάγραμμα μηνυμάτων τα τόξα αντιπροσωπεύουν αποστολές μηνυμάτων που ολοκληρώνονται επιτυχώς, οι αποστολές που αντιμετώπισαν σφάλμα επικοινωνίας δεν εμφανίζονται Κατανεμημένα Συστήματα Ι 4η Διάλεξη 23

Εξέταση αλγόριθμου A (3) Έστω η εκτέλεση ϵ 2 που προκύπτει από την ϵ 1, όπου στο γύρο γ το μήνυμα του κόκκινου στρατηγού χάνεται Εκτέλεση ϵ 2 διάγραμμα μηνυμάτων 1 i 1 = ναι 1 oς γύρος 2 oς γύρος γύρος γ o 1 = ναι 2 i 2 = ναι o 2 = ναι Η απόφαση του πράσινου στρατηγού στο τέλος του γύρου γ μπορεί να είναι διαφορετική στην ϵ 2 από την ϵ 1 Όμως ο κόκκινος στρατηγός δεν το γνωρίζει η κατάσταση της 1 στην ϵ 2 είναι η ίδια με την ϵ 1 Λόγω της συνθήκης συμφωνίας: η 2 αποφασίζει το ίδιο με την 1 Κατανεμημένα Συστήματα Ι 4η Διάλεξη 24

Εξέταση αλγόριθμου A (4) Έστω η εκτέλεση ϵ 3 που προκύπτει από την ϵ 2, όπου στο γύρο γ το μήνυμα του πράσινου στρατηγού χάνεται Εκτέλεση ϵ 3 διάγραμμα μηνυμάτων 1 i 1 = ναι 1 oς γύρος 2 oς γύρος γύρος γ o 1 = ναι 2 i 2 = ναι o 2 = ναι Η απόφαση του κόκκινου στρατηγού στο τέλος του γύρου γ μπορεί να είναι διαφορετική στην ϵ 3 από την ϵ 2 Όμως ο πράσινος στρατηγός δεν το γνωρίζει η κατάσταση της 2 στην ϵ 3 είναι η ίδια με στην ϵ 2 Λόγω της συνθήκης συμφωνίας: η 1 αποφασίζει το ίδιο με την 2 Κατανεμημένα Συστήματα Ι 4η Διάλεξη 25

Εξέταση αλγόριθμου A (5) Συνεχίζοντας με τον ίδιο τρόπο, καταλήγουμε στην εκτέλεση ϵ, όπου τελικά δεν παραδίδεται κανένα μήνυμα Εκτέλεση ϵ διάγραμμα μηνυμάτων 1 i 1 = ναι 1 oς γύρος 2 oς γύρος γύρος γ o 1 = ναι 2 i 2 = ναι o 2 = ναι Οι δύο στρατηγοί ξεκινούν με αρχικές απόψεις ναι Αποφασίζουν και οι δύο ναι χωρίς να ανταλλάξουν κανένα μήνυμα Κατανεμημένα Συστήματα Ι 4η Διάλεξη 26

Εξέταση αλγόριθμου A (5) Συνεχίζοντας με τον ίδιο τρόπο, καταλήγουμε στην εκτέλεση ϵ, όπου τελικά δεν παραδίδεται κανένα μήνυμα Εκτέλεση ϵ διάγραμμα μηνυμάτων 1 i 1 = ναι 1 oς γύρος 2 oς γύρος γύρος γ o 1 = ναι 2 i 2 = ναι o 2 = ναι Οι δύο στρατηγοί ξεκινούν με αρχικές απόψεις ναι Αποφασίζουν και οι δύο ναι χωρίς να ανταλλάξουν κανένα μήνυμα Κατανεμημένα Συστήματα Ι 4η Διάλεξη 26

Εξέταση αλγόριθμου A (5) Συνεχίζοντας με τον ίδιο τρόπο, καταλήγουμε στην εκτέλεση ϵ, όπου τελικά δεν παραδίδεται κανένα μήνυμα Εκτέλεση ϵ διάγραμμα μηνυμάτων 1 i 1 = ναι 1 oς γύρος 2 oς γύρος γύρος γ o 1 = ναι 2 i 2 = ναι o 2 = ναι Οι δύο στρατηγοί ξεκινούν με αρχικές απόψεις ναι Αποφασίζουν και οι δύο ναι χωρίς να ανταλλάξουν κανένα μήνυμα Κατανεμημένα Συστήματα Ι 4η Διάλεξη 26

Εξέταση αλγόριθμου A (5) Συνεχίζοντας με τον ίδιο τρόπο, καταλήγουμε στην εκτέλεση ϵ, όπου τελικά δεν παραδίδεται κανένα μήνυμα Εκτέλεση ϵ διάγραμμα μηνυμάτων 1 i 1 = ναι 1 oς γύρος 2 oς γύρος γύρος γ o 1 = ναι 2 i 2 = ναι o 2 = ναι Οι δύο στρατηγοί ξεκινούν με αρχικές απόψεις ναι Αποφασίζουν και οι δύο ναι χωρίς να ανταλλάξουν κανένα μήνυμα Κατανεμημένα Συστήματα Ι 4η Διάλεξη 26

Εξέταση αλγόριθμου A (5) Συνεχίζοντας με τον ίδιο τρόπο, καταλήγουμε στην εκτέλεση ϵ, όπου τελικά δεν παραδίδεται κανένα μήνυμα Εκτέλεση ϵ διάγραμμα μηνυμάτων 1 i 1 = ναι 1 oς γύρος 2 oς γύρος γύρος γ o 1 = ναι 2 i 2 = ναι o 2 = ναι Οι δύο στρατηγοί ξεκινούν με αρχικές απόψεις ναι Αποφασίζουν και οι δύο ναι χωρίς να ανταλλάξουν κανένα μήνυμα Κατανεμημένα Συστήματα Ι 4η Διάλεξη 26

Εξέταση αλγόριθμου A (5) Συνεχίζοντας με τον ίδιο τρόπο, καταλήγουμε στην εκτέλεση ϵ, όπου τελικά δεν παραδίδεται κανένα μήνυμα Εκτέλεση ϵ διάγραμμα μηνυμάτων 1 i 1 = ναι 1 oς γύρος 2 oς γύρος γύρος γ o 1 = ναι 2 i 2 = ναι o 2 = ναι Οι δύο στρατηγοί ξεκινούν με αρχικές απόψεις ναι Αποφασίζουν και οι δύο ναι χωρίς να ανταλλάξουν κανένα μήνυμα Κατανεμημένα Συστήματα Ι 4η Διάλεξη 26

Εξέταση αλγόριθμου A (5) Συνεχίζοντας με τον ίδιο τρόπο, καταλήγουμε στην εκτέλεση ϵ, όπου τελικά δεν παραδίδεται κανένα μήνυμα Εκτέλεση ϵ διάγραμμα μηνυμάτων 1 i 1 = ναι 1 oς γύρος 2 oς γύρος γύρος γ o 1 = ναι 2 i 2 = ναι o 2 = ναι Οι δύο στρατηγοί ξεκινούν με αρχικές απόψεις ναι Αποφασίζουν και οι δύο ναι χωρίς να ανταλλάξουν κανένα μήνυμα Κατανεμημένα Συστήματα Ι 4η Διάλεξη 26

Εξέταση αλγόριθμου A (6) Έστω η εκτέλεση ϵ που προκύπτει από την ϵ, όταν ο πράσινος στρατηγός έχει αρχική άποψη όχι Εκτέλεση ϵ διάγραμμα μηνυμάτων 1 i 1 = ναι 1 oς γύρος 2 oς γύρος γύρος γ o 1 = ναι 2 i 2 = όχι o 2 = ναι Η απόφαση του πράσινου στρατηγού στο τέλος του γύρου γ μπορεί να είναι διαφορετική στην ϵ από την ϵ Όμως ο κόκκινος στρατηγός δεν το γνωρίζει η κατάσταση της 1 είναι η ίδια στην ϵ και την ϵ Λόγω της συνθήκης συμφωνίας: η 2 αποφασίζει το ίδιο με την 1 Κατανεμημένα Συστήματα Ι 4η Διάλεξη 27

Εξέταση αλγόριθμου A (7) Έστω η εκτέλεση ϵ που προκύπτει από την ϵ, όταν ο κόκκινος στρατηγός έχει αρχική άποψη όχι Εκτέλεση ϵ διάγραμμα μηνυμάτων 1 i 1 = όχι 1 oς γύρος 2 oς γύρος γύρος γ o 1 = ναι 2 i 2 = όχι o 2 = ναι Η απόφαση του κόκκινου στρατηγού στο τέλος του γύρου γ μπορεί να είναι διαφορετική στην ϵ από την ϵ Όμως ο πράσινος στρατηγός δεν το γνωρίζει η κατάσταση της 2 είναι η ίδια στην ϵ και την ϵ Λόγω της συνθήκης συμφωνίας: η 1 αποφασίζει το ίδιο με την 2 Κατανεμημένα Συστήματα Ι 4η Διάλεξη 28

Εξέταση αλγόριθμου A (8) Άτοπο: Οι δύο στρατηγοί έχουν την ίδια αρχική άποψη ( όχι ), άρα σύμφωνα με τη συνθήκη εγκυρότητας η μοναδική αποδεκτή απόφαση είναι το όχι Εκτέλεση ϵ διάγραμμα μηνυμάτων 1 i 1 = όχι 1 oς γύρος 2 oς γύρος γύρος γ o 1 = ναι 2 i 2 = όχι o 2 = ναι Άρα ο αλγόριθμος A δεν λύνει το πρόβλημα της συντονισμένης επίθεσης Κατανεμημένα Συστήματα Ι 4η Διάλεξη 29

Αδυναμία εύρεσης λύσης Θεώρημα Έστω σύγχρονο δίκτυο G που αποτελείται απο δύο διεργασίες V = {u, v} συνδεδεμένες απο μια μη-κατευθυνόμενη ακμή uv Δεν υπάρχει αλγόριθμος που να λύνει το πρόβλημα της συντονισμένης επίθεσης υπό την παρουσία σφαλμάτων επικοινωνίας Βασικός περιορισμός στις δυνατότητες των κατανεμημένων συστημάτων Κατανεμημένα Συστήματα Ι 4η Διάλεξη 30

Αντιμετώπιση της αδυναμίας συναίνεσης Το πρόβλημα της συναίνεσης πρέπει να επιλυθεί σε πραγματικά συστήματα: 1 υποθέτουμε ότι ένας φραγμένος αριθμός μηνυμάτων χάνονται, ή ότι τα μηνύματα χάνονται με κάποια πιθανότητα, ή 2 επιτρέπουμε στις διεργασίες να χρησιμοποιούν τυχαιότητα, επιτρέποντας κάποια πιθανότητα παραβίασης της συνθήκης της εγκυρότητας ή/και της συνθήκης της συμφωνίας Θα μελετήσουμε τη δεύτερη προσέγγιση Κατανεμημένα Συστήματα Ι 4η Διάλεξη 31

Συντονισμένη επίθεση και τυχαιότητα n διεργασίες σε αυθαίρετο, γνωστό, μη κατευθυνόμενο δίκτυο Κάθε διεργασία έχει μία είσοδο στο {0, 1} Το πρωτόκολλο τερματίζει μετά από r 1 γύρους: με το τέλος του γύρου r, κάθε διεργασία πρέπει να δώσει ως έξοδο μια απόφαση στο {0, 1} Υποθέτουμε ότι ένα μήνυμα στέλνεται σε κάθε πλευρά σε κάθε γύρο και ότι ένα οποιοδήποτε πλήθος μηνυμάτων μπορεί να χαθεί Χαλάρωση στόχου: επιτρέπουμε μια πιθανότητα λάθους Κρατάμε ίδια τη συνθήκη εγκυρότητας Επιτρέπουμε μια μικρή πιθανότητα ϵ διαφωνίας Μελετάμε τις εφικτές τιμές του ϵ ως συνάρτηση του πλήθους των γύρων r Κατανεμημένα Συστήματα Ι 4η Διάλεξη 32

Τυπική περιγραφή του μοντέλου Η εκτέλεση εξαρτάται από το ποια μηνύματα χάνονται Δεν υποθέτουμε ότι οι απώλειες των μηνυμάτων συμβαίνουν τυχαία Υποθέτουμε ότι καθορίζονται από κάποιον αντίπαλο που προσπαθεί να δυσκολέψει όσο μπορεί τον αλγόριθμο Αξιολογούμε τον αλγόριθμο με βάση τη συμπεριφορά του στη χειρότερη περίπτωση για όλους τους δυνατούς αντιπάλους Κατανεμημένα Συστήματα Ι 4η Διάλεξη 33

Τυπική περιγραφή του μοντέλου Ένα μοτίβο εκινοινωνίας είναι οποιοδήποτε υποσύνολο του συνόλου {(i, j, k) : (i, j) είναι πλευρά του γραφήματος και k 1} Καλό μοτίβο επικοινωνίας γ: k r για κάθε (i, j, k) γ Ένα καλό μοτίβο αντιπροσωπεύει το σύνολο των μηνυμάτων που παραδίδονται σε κάποια εκτέλεση: αν το (i, j, k) είναι στο μοτίβο, τότε ένα μήνυμα που στέλνεται με επιτυχία από τον i στον j στο γύρο k Κατανεμημένα Συστήματα Ι 4η Διάλεξη 34

Αντίπαλος Συναίνεση χωρίς την παρουσία σφαλμάτων Ο αντίπαλος είναι μια οποιαδήποτε επιλογή 1 της ανάθεσης αρχικών τιμών εισόδου σε όλες τις διεργασίες και 2 ενός καλού μοτίβου επικοινωνίας Για κάθε συγκεκριμένο αντίπαλο: Κάθε σύνολο τυχαίων επιλογών των διεργασιών ορίζει μια μοναδική εκτέλεση Οι τυχαίες επιλογές οδηγούν σε μια κατανομή πιθανότητας στο σύνολο των εκτελέσεων Μπορούμε να εκφράσουμε την πιθανότητα γεγονότων, όπως πχ την πιθανότητα συμφωνίας Pr B { }: πιθανότητα ενός γεγονότος όταν ο αντίπαλος είναι ο B Κατανεμημένα Συστήματα Ι 4η Διάλεξη 35

Συντονισμένη επίθεση στο πιθανοτικό μοντέλο Παράμετρος 0 ϵ 1 Συμφωνία: Για κάθε αντίπαλο B, Pr B {κάποιες διεργασίες αποφασίζουν 0 και κάποιες 1} ϵ Εγκυρότητα: Όπως προηγουμένως Δεν απαιτείται συνθήκη τερματισμού: όλες οι διεργασίες αποφασίζουν μετά από r γύρους Στόχος: αλγόριθμος με τη μικρότερη δυνατή τιμή για το ϵ Κατανεμημένα Συστήματα Ι 4η Διάλεξη 36

Ένας αλγόριθμος για πλήρες γράφημα Επίπεδα πληροφόρησης Υποθέτουμε n διεργασίες σε πλήρες δίκτυο (κλίκα) Ο αλγόριθμος βασίζεται στα επίπεδα πληροφόρησης των διεργασιών: Κάθε διεργασία ξεκινάει από το επίπεδο 0 Όταν ακούσει όλες τις άλλες διεργασίες, πηγαίνει στο επίπεδο 1 Όταν μάθει ότι όλες οι υπόλοιπες διεργασίες έφτασαν στο επίπεδο 1, πηγαίνει στο επίπεδο 2, κοκ Κατανεμημένα Συστήματα Ι 4η Διάλεξη 37

Επίπεδα πληροφόρησης: παράδειγμα n = 2 διεργασίες, r = 6 γύροι, το μοτίβο επικοινωνίας γ αποτελείται από (1, 2, 1), (1, 2, 2), (2, 1, 2), (1, 2, 3), (2, 1, 4), (1, 2, 5), (2, 1, 5), (1, 2, 6) Τα επίπεδα πληροφόρησης των διεργασιών: r = 0 r = 1 r = 2 r = 3 r = 4 r = 5 r = 6 Διεργασία 1 0 0 2 2 4 4 4 Διεργασία 2 0 1 1 3 3 5 5 Κατανεμημένα Συστήματα Ι 4η Διάλεξη 38

Επίπεδα πληροφόρησης Χαρακτηριστικά Για κάθε μοτίβο επικοινωνίας και κάθε ζεύγος διεργασιών i και j, τα επίπεδα πληροφόρησης των i και j στο γύρο k r διαφέρουν κατά το πολύ 1 Αν όλα τα μηνύματα παραδοθούν, το επίπεδο πληροφόρησης ισούται με το πλήθος των γύρων Κατανεμημένα Συστήματα Ι 4η Διάλεξη 39

Ο αλγόριθμος RandomA ack Κάθε διεργασία κρατάει το επίπεδό της με βάση το μοτίβο επικοινωνίας που εκτελείται Η διεργασία 1 επιλέγει μια τυχαία τιμή key που είναι ένας ακέραιος στο [1, r] Το key επισυνάπτεται σε όλα τα μηνύματα Οι αρχικές τιμές όλων των διεργασιών επισυνάπτονται σε όλα τα μηνύματα Μετά από r γύρους, κάθε διεργασία αποφασίζει 1, αν το επίπεδό της είναι τουλάχιστον όσο το key και γνωρίζει ότι όλες οι αρχικές τιμές είναι 1 Κατανεμημένα Συστήματα Ι 4η Διάλεξη 40

Ο αλγόριθμος RandomA ack Εγκυρότητα Συνθήκη εγκυρότητας: Αν όλες οι διεργασίες έχουν αρχική τιμή 0, τότε όλες αποφασίζουν 0 Αν όλες οι διεργασίες έχουν αρχική τιμή 1 και όλα τα μηνύματα παραδίδονται, τότε το επίπεδο πληροφόρησης κάθε διεργασίας είναι r όταν λαμβάνεται η απόφαση Επειδή key r, το 1 είναι η μόνη δυνατή απόφαση Κατανεμημένα Συστήματα Ι 4η Διάλεξη 41

Ο αλγόριθμος RandomA ack Συμφωνία Έστω ένας αντίπαλος Β Για κάθε i, έστω l i το επίπεδο πληροφόρησης της i όταν λαμβάνει απόφαση (γύρος r) Οι τιμές των l i διαφέρουν κατά το πολύ 1 Αν key> max i l i ή αν υπάρχουν διεργασίες με αρχική τιμή 0, τότε όλες αποφασίζουν 0 Αν key min i l i και όλες οι αρχικές τιμές είναι 1, τότε όλες αποφασίζουν 1 Η μόνη περίπτωση που μπορεί να έχουμε διαφωνία είναι όταν key= max i l i Η πιθανότητα να συμβεί αυτό είναι ϵ = 1/r, αφού το max i l i καθορίζεται από τον αντίπαλο και το key είναι ακέραιος ομοιόμορφα κατανεμημένος στο [1, r] Κατανεμημένα Συστήματα Ι 4η Διάλεξη 42

Συναίνεση χωρίς την παρουσία σφαλμάτων Βιβλιογραφία Σημειώσεις του μαθήματος Βιβλίο Distributed Algorithms (NLynch) Κεφάλαιο 5: Distributed Consensus with Link Failures Κατανεμημένα Συστήματα Ι 4η Διάλεξη 43