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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L. να αναγνωρίζει (ηµιαποφασίζει) µια γλώσσα L. 1. Η TM «εκτελεί» τον απαριθµητή, E.

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα

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

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

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

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

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

Κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Πολυγραφήµατα (Multigraphs)

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

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

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

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

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

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

Στοιχεία Θεωρίας Γραφηµάτων (1)

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

Consensus and related problems

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

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

Μονοπάτια και Κυκλώµατα Euler. Στοιχεία Θεωρίας Γραφηµάτων (3,4) Παραδείγµατα. Κριτήρια Υπαρξης.

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

Μη κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Υπογραφήµατα.

Υπολογιστικό Πρόβληµα

Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2) Ισοδυναµία CFG και PDA. Σε αυτό το µάθηµα. Αυτόµατα Στοίβας Pushdown Automata

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

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

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

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

Χαρακτηρισµός Κατανεµηµένων Συστηµάτων

Στοιχεία Θεωρίας Γραφηµάτων (4) - έντρα

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

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

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

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


Στοιχεία Θεωρίας Γραφηµάτων (3)

Απαρίθµηση Μονοπατιών. Στοιχεία Θεωρίας Γραφηµάτων (3) Μονοπάτια και Κυκλώµατα Euler. Ορέστης Τελέλης

Αριθµητική Ολοκλήρωση

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 4

Outlook Express-User Instructions.doc 1

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Άρα, Τ ser = (A 0 +B 0 +B 0 +A 0 ) επίπεδο 0 + (A 1 +B 1 +A 1 ) επίπεδο 1 + +(B 5 ) επίπεδο 5 = 25[χρονικές µονάδες]

Παράδειγµα: Προσοµοίωση µιας ουράς FIFO Οι λειτουργίες που υποστηρίζονται από µια ουρά FIFO είναι: [enq(q,x), ack(q)] [deq(q), return(q,x)] όπου x είν

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Ασκησεις - Φυλλαδιο 4. ιδασκων: Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος :

Κεφάλαιο 2. Παραγοντοποίηση σε Ακέραιες Περιοχές

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

Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 2

Εγχειρίδιο Χρήστη - Μαθητή

Η NTM αποδέχεται αν µονοπάτι στο δέντρο που οδηγεί σε αποδοχή.

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 4

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή

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

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

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 4

ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε:

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης.

n true false if t then t else t u t t b t emptylist cons t t t t λx.t u ::= head tail isempty

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

8 Άρα η Ϲητούµενη πιθανότητα είναι

P (A) = 1/2, P (B) = 1/2, P (C) = 1/9

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

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

... a b c d. b d a c

09/04/2014 ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Μάθηµα: Α ΙΕΞΟ Α. ιδάσκων: Λειτουργικά Συστήµατα Ι Αν. Καθ. Κ. Λαµπρινουδάκης Α ΙΕΞΟ Α

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

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

Transcript:

Μοντέλο Σύγχρονου ικτύου Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Ιωάννης Χατζηγιαννάκης ευτέρα, Νοεµβρίου, 0 Αίθουσα Β Μία συλλογή υπολογιστικών µονάδων ή επεξεργαστές κάθε επεξεργαστής εκτελεί µόνο µία διεργασία Οι µονάδες του συστήµατος είναι συνδεδεµένες µε ένα σύγχρονο δίκτυο Ορίζουµε το σύγχρονο δίκτυο ως ένα κατευθυνόµενο γράφηµα G = (V, E) αποτελείτε από n = V κορυφές και m = E ακµές Υποθέτουµε ότι κάθε κανάλι επικοινωνίας µπορεί να δεχτεί µόνο ένα µήνυµα τη ϕορά τα κανάλια είναι οι ακµές του γραφήµατος Θεωρούµε ότι υπάρχει ένα δεδοµένο αλφάβητο M µηνυµάτων Οι Καταστάσεις των ιεργασιών Εναρξη εκτέλεσης, Βήµατα και Γύροι Κάθε διεργασία u V χαρακτηρίζεται από ένα σύνολο καταστάσεων tate u Ορισµένες τις ονοµάζουµε αρχικές καταστάσεις tart u Ορισµένες τις ονοµάζουµε καταστάσεις τερµατισµού halt u ιαθέτει µια γεννήτρια εξερχόµενων µηνυµάτων mg u : tate u nbru out M {null} δεδοµένης της τρέχουσας κατάστασης δηµιουργεί κάποια µηνύµατα για τις γειτονικές διεργασίες ιαθέτει µία συνάρτηση αλλαγής κατάστασης tran u : tate u (M {null}) nbrin u tate u δεδοµένης της τρέχουσας κατάστασης τα µηνύµατα που παραλήφθηκαν υπολογίζει την επόµενη κατάσταση της διεργασίας Αρχικά όλες οι διεργασίες ϐρίσκονται σε κάποια αρχική κατάσταση όλα τα κανάλια είναι άδεια Ολες οι διεργασίες, επαναλαµβάνουν συντονισµένα τα ακόλουθα δύο ϐήµατα: o Βήµα. Εφαρµογή της γεννήτριας µηνυµάτων. Παραγωγή µηνυµάτων για τους εξερχόµενους γείτονες. Αποστολή µηνυµάτων µέσω των αντίστοιχων καναλιών o Βήµα. Εφαρµογή της συνάρτησης αλλαγής κατάστασης. ιαγραφή όλων των µηνυµάτων από τα κανάλια. Ο συνδυασµός των δύο ϐηµάτων ονοµάζεται γύρος

Μέτρηση πολυπλοκότητας Σχεδιασµός Συστήµατος Ορισµός Ελάχιστων Απαιτήσεων Επιλογή κατάλληλου κατανεµηµένου αλγόριθµου Πως µπορούµε να µετρήσουµε την απόδοση; Προηγούµενο Μάθηµα Σύγχρονα Κατανεµηµένα Συστήµατα Αναζήτηση κατά Εύρος Αλγόριθµος SyncBFS Παραλλαγές Χρονική πολυπλοκότητα Το πλήθος των γύρων που απαιτούνται για να παραχθούν όλες οι Ϲητούµενες έξοδοι, ή µέχρι να τερµατιστούν όλες οι διεργασίες (δηλ. να ϐρεθούν σε µια τερµατική κατάσταση). Πολυπλοκότητα επικοινωνίας Ο συνολικός αριθµός µη µηδενικών µηνυµάτων (δηλ. δεν προσµετρούνται τα null µηνύµατα) που αποστέλλονται. Broadcat (Αναζήτηση κατά Εύρος) Παράδειγµα Εκτέλεσης Αλγόριθµου SyncBFS Αλγόριθµος SynchBFS Οι διεργασίες διατηρούν µια µεταβλητή µαρκαρισµένη η οποία αρχικά είναι fale και µια µεταβλητή γονέας µε αρχική τιµή 0. Αρχικά, η διεργασία u 0 ϑέτει την µεταβλητή µαρκαρισµένη ως true, την µεταβλητή γονέας µε την ταυτότητα της, και στέλνει ένα µήνυµα αναζήτησης σε όλους τους γείτονες της. Σε κάθε γύρο, εάν µια διεργασία λάβει ένα µήνυµα αναζήτησης και η τιµή της µεταβλητής µαρκαρισµένη είναι fale, τότε ϑέτει την µεταβλητή σε true, ϑέτει την µεταβλητή γονέας µε την ταυτότητα της διεργασίας από όπου έλαβε το µήνυµα, και στον επόµενο γύρο στέλνει ένα µήνυµα αναζήτησης σε όλους τους γείτονες της. εν γνωρίζουν το πλήθος των διεργασιών (n) Αρχικό ίκτυο Το δίκτυο έχει µονάδες, κανάλια Η διεργασία ξεκινά την εκτέλεση του αλγορίθµου. Η διεργασία ϑεωρείται µαρκαρισµένη. Ολες οι άλλες διεργασίες δεν είναι µαρκαρισµένες. Αρχικό ίκτυο Εχουν µοναδικές ταυτότητες

Παράδειγµα Εκτέλεσης Αλγόριθµου SyncBFS Παράδειγµα Εκτέλεσης Αλγόριθµου SyncBFS oς Γύρος o Βήµα oς Γύρος o Βήµα oς Γύρος o Βήµα oς Γύρος o Βήµα Η διεργασία στέλνει µήνυµα αναζήτησης σε όλους του γείτονες της. Η διεργασία στέλνει µήνυµα αναζήτησης σε όλους του γείτονες της. oς Γύρος o Βήµα Οι διεργασίες, µαρκάρονται. Οι διεργασίες, ϑέτουν την ως γονέα στο δέντρο. Παράδειγµα Εκτέλεσης Αλγόριθµου SyncBFS Παράδειγµα Εκτέλεσης Αλγόριθµου SyncBFS oς Γύρος o Βήµα oς Γύρος o Βήµα Οι διεργασίες, στέλνουν µήνυµα αναζήτησης σε όλους τους γείτονες τους. oς Γύρος o Βήµα oς Γύρος o Βήµα Οι διεργασίες, στέλνουν µήνυµα αναζήτησης σε όλους τους γείτονες τους. oς Γύρος o Βήµα Η διεργασία αγνοεί τα µηνύµατα αναζήτησης που έλαβε. Οι διεργασίες,,,, µαρκάρονται. Οι διεργασίες, ϑέτουν την ως γονέα στο δέντρο. Οι διεργασίες, ϑέτουν την ως γονέα στο δέντρο. Η διεργασία διαλέγει τυχαία την ως γονέα στο δέντρο.

Παράδειγµα Εκτέλεσης Αλγόριθµου SyncBFS Παράδειγµα Εκτέλεσης Αλγόριθµου SyncBFS oς Γύρος o Βήµα Οι διεργασίες,,,, στέλνουν µήνυµα αναζήτησης σε όλους τους γείτονες τους. oς Γύρος o Βήµα oς Γύρος o Βήµα Οι διεργασίες,,,, στέλνουν µήνυµα αναζήτησης σε όλους τους γείτονες τους. oς Γύρος o Βήµα Οι διεργασίες,,,,,, αγνοούν τα µηνύµατα αναζήτησης που έλαβαν. Η διεργασία µαρκάρεται. Η διεργασία διαλέγει τυχαία την ως γονέα στο δέντρο. oς Γύρος o Βήµα Παράδειγµα Εκτέλεσης Αλγόριθµου SyncBFS Παράδειγµα Εκτέλεσης Αλγόριθµου SyncBFS oς Γύρος o Βήµα oς Γύρος o Βήµα oς Γύρος o Βήµα Η διεργασία στέλνει µήνυµα αναζήτησης σε όλους του γείτονες της. oς Γύρος o Βήµα Η διεργασία στέλνει µήνυµα αναζήτησης σε όλους του γείτονες της. oς Γύρος o Βήµα Οι διεργασίες, αγνοούν τα µηνύµατα αναζήτησης που έλαβαν.

Παράδειγµα Εκτέλεσης Αλγόριθµου SyncBFS ConvergeCat (Τερµατισµός) Πως µπορεί η διεργασία u 0 να µάθει πότε ολοκληρώθηκε η κατασκευή του δέντρου; Τελικό ίκτυο Το δέντρο αναζήτησης κατά εύρος έχει κατασκευαστεί. Ο αλγόριθµος εκτελέστηκε σε γύρους. Συνολικά µεταδόθηκαν µηνύµατα. Τελικό ίκτυο εν είναι γνωστή η διάµετρος του δικτύου και το πλήθος των διεργασιών n Βασιζόµαστε την παραλλαγή SynchBFS όπου οι διεργασίες απαντάνε στον αποστολέα ενός µηνύµατος αναζήτησης µε ένα µήνυµα γονέας ή µη-γονέας ανάλογα του αν ο αποστολέας είναι ο γονέας της διεργασίας. Εφόσον οι διεργασίες µπορούν να αναγνωρίσουν το κανάλι από το οποίο έλαβαν ένα µήνυµα, δεν στέλνουν µηνύµατα αναζήτησης στα κανάλια από τα οποία έλαβαν ένα µήνυµα αναζήτησης ConvergeCat (Τερµατισµός) Επεκτείνουµε τον SynchBFS ως εξής: Κάθε διεργασία που λαµβάνει ένα µήνυµα αναζήτησης επιστρέφει στον αποστολέα στον επόµενο γύρο ένα µήνυµα µη-γονέας αν ο αποστολέας δεν είναι ο γονέας της διεργασίας Η διεργασία καθυστερεί την αποστολή του µηνύµατος γονέας έως ότου λάβει κάποιο µήνυµα γονέας ή µη-γονέας από όλες τις διεργασίες στις οποίες έστειλε µηνύµατα αναζήτησης ConvergeCat (Τερµατισµός) Εποµένως τα µηνύµατα γονέας ή µη-γονέας έχουν δύο χρήσεις. Παροχή πλήρους γνώσης κάθε διεργασία γνωρίζει και τα παιδιά της. Ενηµέρωση τερµατισµού κάθε διεργασία γνωρίζει πότε τα υποδέντρα των παιδιών της έχουν κατασκευαστεί Ο αλγόριθµος SyncBFS τ απαιτεί το πολύ diam(g) + γύρους και χρησιµοποιεί m µηνύµατα

Αρχικό ίκτυο oς Γύρος o Βήµα Αρχικό ίκτυο Το δίκτυο έχει µονάδες, κανάλια Η διεργασία ξεκινά την εκτέλεση του αλγορίθµου. Η διεργασία ϑεωρείται µαρκαρισµένη. Ολες οι άλλες διεργασίες δεν είναι µαρκαρισµένες. oς Γύρος o Βήµα Η διεργασία στέλνει µήνυµα αναζήτησης σε όλους του γείτονες της. oς Γύρος o Βήµα oς Γύρος o Βήµα oς Γύρος o Βήµα Η διεργασία στέλνει µήνυµα αναζήτησης σε όλους του γείτονες της. oς Γύρος o Βήµα Οι διεργασίες, µαρκάρονται. Οι διεργασίες, ϑέτουν την ως γονέα στο δέντρο. oς Γύρος o Βήµα Οι διεργασίες, στέλνουν µήνυµα αναζήτησης σε όλους τους γείτονες τους.

oς Γύρος o Βήµα Οι διεργασίες, στέλνουν µήνυµα αναζήτησης σε όλους τους γείτονες τους. oς Γύρος o Βήµα Οι διεργασίες,,,, µαρκάρονται. Οι διεργασίες, ϑέτουν την ως γονέα στο δέντρο. Οι διεργασίες, ϑέτουν την ως γονέα στο δέντρο. Η διεργασία διαλέγει τυχαία την ως γονέα στο δέντρο. oς Γύρος o Βήµα oς Γύρος o Βήµα Οι διεργασίες,,,, στέλνουν µήνυµα αναζήτησης σε όλους τους γείτονες τους. Η διεργασία στέλνει µήνυµα µη-γονέας στην oς Γύρος o Βήµα γ oς Γύρος o Βήµα Οι διεργασίες,,,, στέλνουν µήνυµα αναζήτησης σε όλους τους γείτονες τους. Η διεργασία στέλνει µήνυµα µη-γονέας στην oς Γύρος o Βήµα Οι διεργασίες,,,,,, αγνοούν τα µηνύµατα αναζήτησης που έλαβαν. Η διεργασία µαρκάρεται. Η διεργασία διαλέγει τυχαία την ως γονέα στο δέντρο. oς Γύρος o Βήµα oς Γύρος o Βήµα Η διεργασία στέλνει µήνυµα µη-γονέας στην Η διεργασία στέλνει µήνυµα µη-γονέας στην Η διεργασία στέλνει µήνυµα µη-γονέας στην Η διεργασία στέλνει µήνυµα µη-γονέας στην Η διεργασία στέλνει µήνυµα µη-γονέας στην Η διεργασία στέλνει µήνυµα µη-γονέας στην Η διεργασία στέλνει µήνυµα µη-γονέας στην Η διεργασία στέλνει µήνυµα γονέας στην γ γ oς Γύρος o Βήµα γ γ γ γ γ γ γ γ

oς Γύρος o Βήµα Η διεργασία στέλνει µήνυµα µη-γονέας στην Η διεργασία στέλνει µήνυµα µη-γονέας στην Η διεργασία στέλνει µήνυµα µη-γονέας στην Η διεργασία στέλνει µήνυµα µη-γονέας στην Η διεργασία στέλνει µήνυµα µη-γονέας στην Η διεργασία στέλνει µήνυµα µη-γονέας στην Η διεργασία στέλνει µήνυµα µη-γονέας στην Η διεργασία στέλνει µήνυµα γονέας στην oς Γύρος o Βήµα Η διεργασία διαπιστώνει ότι η κατασκευή του υποδέντρου της ολοκληρώθηκε oς Γύρος o Βήµα oς Γύρος o Βήµα Οι διεργασίες, στέλνουν µήνυµα γονέας στην Οι διεργασίες,, στέλνουν µήνυµα γονέας στην γ oς Γύρος o Βήµα γ γ γ γ oς Γύρος o Βήµα Οι διεργασίες, στέλνουν µήνυµα γονέας στην Οι διεργασίες,, στέλνουν µήνυµα γονέας στην oς Γύρος o Βήµα Η διεργασία διαπιστώνει ότι η κατασκευή των υποδέντρων των, ολοκληρώθηκε Η διεργασία διαπιστώνει ότι η κατασκευή των υποδέντρων των,, ολοκληρώθηκε oς Γύρος o Βήµα oς Γύρος o Βήµα Οι διεργασίες, στέλνουν µήνυµα γονέας στην γ oς Γύρος o Βήµα γ

oς Γύρος o Βήµα Οι διεργασίες, στέλνουν µήνυµα γονέας στην oς Γύρος o Βήµα Η διεργασία διαπιστώνει ότι η κατασκευή των υποδέντρων των, ολοκληρώθηκε Η διεργασία τερµατίζει oς Γύρος o Βήµα Τελικό ίκτυο Το δέντρο αναζήτησης κατά εύρος έχει κατασκευαστεί. Ο αλγόριθµος εκτελέστηκε σε γύρους. Συνολικά µεταδόθηκαν µηνύµατα. Τελικό ίκτυο Σύνοψη ης ιάλεξης Κατανεµηµένες οµές Μοντέλο Σύγχρονου ικτύου Προηγούµενο Μάθηµα Πρόβληµα Συναίνεσης Ορισµός Προβλήµατος Σφάλµατα Επικοινωνίας Πρόβληµα Συναίνεσης Σε ένα σύγχρονο δίκτυο G, η συναίνεση απαιτεί την κοινή επιλογής µιας µοναδικής τιµής απο όλες τις διεργασίες του συστήµατος. Οταν οι διεργασίες καταλήξουν σε µια κοινά αποδεκτή απόφαση, όλες οι διεργασίες τερµατίζουν. Οι διεργασίες ξεκινούν µε µία αρχική τιµή, την επεξεργάζονται και εξάγουν µια τελική τιµή εκτελούν έναν κατανεµηµένο αλγόριθµο συναίνεσης αποφασίζουν απο κοινού µια µοναδική τιµή Η απόφαση είναι κοινή π.χ. µια διεργασία µε τιµή ναι, πως µπορεί να δεχτεί µια κοινή απόφαση όχι ; Σύνοψη Μαθήµατος Σύνοψη Μαθήµατος Επόµενο Μάθηµα

Παράδειγµα Ενοποίηση Βάσεων εδοµένων Για λόγους ανεκτικότητας σφαλµάτων και δυνατότητα κλιµάκωσης, το σύστηµα χρησιµοποιεί µια ϕάρµα διακοµιστών (µε n ϐάσεις δεδοµένων). Σε τακτά χρονικά διαστήµατα, οι διακοµιστές ενοποιούν τα δεδοµένα. Στην συνέχεια, ελέγχουν τα δεδοµένα και αποφασίζουν κατά πόσο η ενοποίηση ήταν επιτυχής. Κάθε µονάδα χειρίζεται µια ϐάση δεδοµένων ορισµένες χρονικές στιγµές δεν έχουν κοινά δεδοµένα Στόχος Αυξηµένης Αξιοπιστίας: Οι µονάδες που λειτουργούν σωστά αναλάβουν το έργο αυτών που ϐγήκαν εκτός λειτουργίας Στόχος υνατότητα Κλιµάκωσης: Οι ϱυθµοί εκτέλεσης των διεργασιών διατηρούνται στα ίδια επίπεδα ανεξάρτητα από πιθανές αυξήσεις των απαιτήσεων των χρηστών Ορισµός Προβλήµατος Υποθέτουµε ένα δίκτυο από n διεργασίες, συνδεδεµένες από ένα µη-κατευθυνόµενο γράφηµα, όπου κάθε διεργασία γνωρίζει τη δοµή του γραφήµατος. Κάθε διεργασία u δέχεται ως είσοδο µία τιµή i u απο το σύνολο S, δηλ. i u S Ενας αλγόριθµος λύνει το πρόβληµα συναίνεσης εφόσον πληροί τις παρακάτω προδιαγραφές:. Συµφωνία: Κανένα Ϲεύγος διεργασιών δεν αποφασίζει διαφορετικές τιµές εξόδου, δηλ. u, v : o u o v. Εγκυρότητα: Αν όλες οι διεργασίες αρχίζουν µε την ίδια τιµή i S δηλ. u [, n] : i u = i, τότε η τιµή i είναι η µόνη πιθανή τελική απόφαση, δηλ. u [, n] : o u = i. Τερµατισµός: Ολες οι διαδικασίες τελικά αποφασίζουν Μια απλή λύση Αλγόριθµος Συναίνεσης SimpleConenu Κάθε διεργασία u [, n] διατηρεί µια λίστα l u µε Ϲεύγη από ταυτότητες και τιµές εισόδου, η οποία αρχικά περιέχει ένα µόνο Ϲεύγος, την ταυτότητα της u και την τιµή εισόδου i u S. Σε κάθε γύρο, οι διεργασίες εκπέµπουν την λίστα l σε όλους τους γείτονες. Μόλις λάβουν µία λίστα l v απο κάποιον γείτονα v, την ενοποιούν µε την δικιά τους. Μετά απο δ + γύρους, όλες οι διεργασίες διατηρούν µια λίστα που περιέχει ένα Ϲεύγος (u, i u ) για κάθε διεργασία του συστήµατος. Εφαρµόζουν τους κανόνες συναίνεσης και τερµατίζουν επιστρέφοντας την κοινή τιµή εξόδου o S. Παράδειγµα Εκτέλεσης Αλγόριθµου SimpleConenu Εστω ένα σύγχρονο γενικό δίκτυο όπου n = και δ =. Οι διεργασίες έχουν µια τιµή εισόδου (ϱοζ κουτί) Οι διεργασίες διατηρούν µια λίστα (µπλέ κουτί) Οι διεργασίες έχουν µια τιµή εξόδου (κίτρινο κουτί) Ο κανόνας συναίνεσης ϐασίζεται σε απλή πλειοψηφία Γενικό ίκτυο Κάθε διεργασία γνωρίζει τη δοµή του γραφήµατος G Ο αλγόριθµος λύνει το πρόβληµα της συναίνεσης

Παράδειγµα Εκτέλεσης Αλγόριθµου SimpleConenu Εστω ένα σύγχρονο γενικό δίκτυο όπου n = και δ =. Οι διεργασίες έχουν µια τιµή εισόδου (ϱοζ κουτί) Οι διεργασίες διατηρούν µια λίστα (µπλέ κουτί) Οι διεργασίες έχουν µια τιµή εξόδου (κίτρινο κουτί) Ο κανόνας συναίνεσης ϐασίζεται σε απλή πλειοψηφία ος Γύρος αποστολή µηνυµάτων Παράδειγµα Εκτέλεσης Αλγόριθµου SimpleConenu Εστω ένα σύγχρονο γενικό δίκτυο όπου n = και δ =. Οι διεργασίες έχουν µια τιµή εισόδου (ϱοζ κουτί) Οι διεργασίες διατηρούν µια λίστα (µπλέ κουτί) Οι διεργασίες έχουν µια τιµή εξόδου (κίτρινο κουτί) Ο κανόνας συναίνεσης ϐασίζεται σε απλή πλειοψηφία ος Γύρος επεξεργασία Παράδειγµα Εκτέλεσης Αλγόριθµου SimpleConenu Εστω ένα σύγχρονο γενικό δίκτυο όπου n = και δ =. Οι διεργασίες έχουν µια τιµή εισόδου (ϱοζ κουτί) Οι διεργασίες διατηρούν µια λίστα (µπλέ κουτί) Οι διεργασίες έχουν µια τιµή εξόδου (κίτρινο κουτί) Ο κανόνας συναίνεσης ϐασίζεται σε απλή πλειοψηφία ος Γύρος αποστολή µηνυµάτων Παράδειγµα Εκτέλεσης Αλγόριθµου SimpleConenu Εστω ένα σύγχρονο γενικό δίκτυο όπου n = και δ =. Οι διεργασίες έχουν µια τιµή εισόδου (ϱοζ κουτί) Οι διεργασίες διατηρούν µια λίστα (µπλέ κουτί) Οι διεργασίες έχουν µια τιµή εξόδου (κίτρινο κουτί) Ο κανόνας συναίνεσης ϐασίζεται σε απλή πλειοψηφία ος Γύρος επεξεργασία

Παράδειγµα Εκτέλεσης Αλγόριθµου SimpleConenu Εστω ένα σύγχρονο γενικό δίκτυο όπου n = και δ =. Οι διεργασίες έχουν µια τιµή εισόδου (ϱοζ κουτί) Οι διεργασίες διατηρούν µια λίστα (µπλέ κουτί) Οι διεργασίες έχουν µια τιµή εξόδου (κίτρινο κουτί) Ο κανόνας συναίνεσης ϐασίζεται σε απλή πλειοψηφία ος Γύρος αποστολή µηνυµάτων Παράδειγµα Εκτέλεσης Αλγόριθµου SimpleConenu Εστω ένα σύγχρονο γενικό δίκτυο όπου n = και δ =. Οι διεργασίες έχουν µια τιµή εισόδου (ϱοζ κουτί) Οι διεργασίες διατηρούν µια λίστα (µπλέ κουτί) Οι διεργασίες έχουν µια τιµή εξόδου (κίτρινο κουτί) Ο κανόνας συναίνεσης ϐασίζεται σε απλή πλειοψηφία ος Γύρος επεξεργασία Παράδειγµα Εκτέλεσης Αλγόριθµου SimpleConenu Εστω ένα σύγχρονο γενικό δίκτυο όπου n = και δ =. Οι διεργασίες έχουν µια τιµή εισόδου (ϱοζ κουτί) Οι διεργασίες διατηρούν µια λίστα (µπλέ κουτί) Οι διεργασίες έχουν µια τιµή εξόδου (κίτρινο κουτί) Ο κανόνας συναίνεσης ϐασίζεται σε απλή πλειοψηφία ος Γύρος απόφαση Χαρακτηριστικά του Αλγόριθµου SimpleConenu Σε ένα σύγχρονο δίκτυο G µε n διεργασίες και m κανάλια Στο τέλος του γύρου δ κάθε διεργασία u [, n] διατηρεί µια λίστα l u = {(, i ), (, i ),..., (n, i n )} Ολες οι διεργασίες έχουν κοινές λίστες, δηλ. u [, n] : l u = l Η χρονική πολυπλοκότητα είναι O (diam(g)) Η πολυπλοκότητα επικοινωνίας είναι O (diam(g) m) Η πολυπλοκότητα επικοινωνίας σε bit είναι O (diam(g) n m)

Παρουσία σφαλµάτων Τι συµβαίνει όταν κατά την εκτέλεση ενός κατανεµηµένου αλγορίθµου. παρουσιάζονται σφάλµατα κατά την αποστολή µηνυµάτων. σφάλµατα που παρουσιάζονται στις υπολογιστικές µονάδες (στους επεξεργαστές) Υπό την παρουσία σφαλµάτων µπορούµε να εγγυηθούµε την ορθότητα του αλγορίθµου SimpleConenu ; να εντοπίσουµε µια αποτυχία; να αντιµετωπίσουµε µια αποτυχία; Μοντέλο Σφαλµάτων Επικοινωνίας Εξετάζουµε την περίπτωση όπου κατά την εκτέλεση ενός κατανεµηµένου αλγορίθµου παρουσιάζονται σφάλµατα κατά την αποστολή µηνυµάτων Σφάλµα Επικοινωνίας Το δίκτυο επικοινωνίας που συνδέει τις µονάδες ενός κατανεµηµένου συστήµατος µπορεί να αποτύχει κατά την αποστολή ενός µηνύµατος µέσω ενός (ελαττωµατικού) καναλιού. Η παράδοση των µηνυµάτων που έχουν σταλεί δεν είναι εγγυηµένη. Υποθέτουµε ότι ένας αριθµός µηνυµάτων που ϑα αποσταλούν κατά την εκτέλεση ενός κατανεµηµένου αλγορίθµου, δεν ϑα παραδοθούν µε επιτυχία. Παράδειγµα Συντονισµένη Επίθεση ύο στρατηγοί διοικούν τον κόκκινο στρατό και τον πράσινο στρατό. Θέλουν να συντονίσουν την επίθεση κατά του µπλε στρατού. Εάν επιτεθούν µόνοι τους, ο µπλε στρατός ϑα τους νικήσει. Οι στρατηγοί πρέπει να συµφωνήσουν αν ϑα κάνουν µαζί επίθεση, ϐασισµένοι στις τοπικές τους εκτιµήσεις για την άποψη του άλλου στρατηγού Πρόβληµα συναίνεσης σε ένα σύστηµα µε n = διεργασίες Οι πιθανές τιµές εισόδου/εξόδου µπορεί να είναι ναι και όχι δηλ. S = { ναι, όχι } Συντονισµένη Επίθεση () Θεωρούµε ότι οι δύο στρατηγοί συντονίζουν την επίθεση όταν ικανοποιούνται οι τρεις συνθήκες:. Συµφωνία: Οι στρατηγοί u, v παίρνουν την ίδια απόφαση, δηλ. o u = o v. Εγκυρότητα: Αν η αρχική άποψη κάθε στρατηγού είναι όχι, τότε η µοναδική αποδεκτή απόφαση είναι το όχι Αν η αρχική άποψη κάθε στρατηγού είναι ναι, και δεν χαθεί κανένα µήνυµα, τότε η µοναδική αποδεκτή απόφαση είναι το ναι. Τερµατισµός: Οι δύο στρατηγοί τελικά αποφασίζουν

Συντονισµένη Επίθεση () Συνθήκη Εγκυρότητας Αν η αρχική άποψη όλων των στρατηγων είναι όχι, τότε η µόνη δυνατή απόφαση είναι το όχι Αν η αρχική άποψη όλων των στρατηγων είναι ναι, και δεν χαθεί κανένα µήνυµα, τότε η µόνη δυνατή απόφαση είναι το ναι Η συνθήκη της εγκυρότητας είναι εύκολη Οι διεργασίες µπορούν να αποφασίσουν ναι ακόµα και αν µόνο µια διεργασία ξεκινήσει µε ναι Οι διεργασίες µπορούν να αποφασίσουν όχι ακόµα και αν όλες οι διεργασίες ξεκινήσουν µε ναι αλλά χαθεί ένα µήνυµα Αλγόριθµος A για Συντονισµένη Επίθεση Εστω ότι υπάρχει ένας αλγόριθµος A λύνει το πρόβληµα της Συντονισµένης Επίθεσης υπό την παρουσία σφαλµάτων επικοινωνίας έχει αρχικές καταστάσεις για κάθε τιµή εισόδου, δηλ. u [, n], tart u = για µια συγκεκριµένη ανάθεση αρχικών καταστάσεων και επιτυχής ανταλλαγή συγκεκριµένων µηνυµάτων, υπάρχει µόνο µια δυνατή εκτέλεση σε κάθε γύρο, όλες οι διεργασίες στέλνουν ένα µήνυµα µπορούν να στείλουν null Εξέταση αλγόριθµου A () Εστω µια εκτέλεση ɛ του A οι δύο διεργασίες ξεκινάνε µε αρχική τιµή ναι, δηλ. i = i = ναι όλα τα µηνύµατα παραδίδονται Σύµφωνα µε την συνθήκη τερµατισµού υπάρχει κάποιος γύρος γ όπου και οι δύο διεργασίες ϑα έχουν αποφασίσει Σύµφωνα µε την συνθήκη εγκυρότητας οι δύο διεργασίες αποφασίζουν ναι, δηλ. o = o = ναι Εξέταση αλγόριθµου A () Εστω η εκτέλεση ɛ, που προκύπτει από την ɛ του A, όπου µετά τον γύρο γ όλα τα µηνύµατα χάνονται Εκτέλεση ɛ i = ναι i = ναι oς γύρος oς γύρος... γύρος γ Σε ένα διάγραµµα µηνυµάτων o = ναι o = ναι τα τόξα αντιπροσωπεύουν αποστολές µηνυµάτων που ολοκληρώνονται επιτυχώς οι αποστολές που αντιµετώπισαν σφάλµα επικοινωνίας δεν εµφανίζονται

Εξέταση αλγόριθµου A () Εστω η εκτέλεση ɛ που προκύπτει από την ɛ, όπου τον γύρο γ το µήνυµα του κόκκινου στρατηγού χάνεται Εκτέλεση ɛ i = ναι oς γύρος oς γύρος... γύρος γ o = ναι Εξέταση αλγόριθµου A () Εστω η εκτέλεση ɛ που προκύπτει από την ɛ, όπου τον γύρο γ το µήνυµα του πράσινου στρατηγού χάνεται Εκτέλεση ɛ i = ναι oς γύρος oς γύρος... γύρος γ o = ναι i = ναι o = ναι i = ναι o = ναι Η απόφαση του πράσινου στρατηγού στο τέλος του γύρου γ µπορεί να είναι διαφορετική στην ɛ από την ɛ Οµως ο κόκκινος στρατηγός δεν το γνωρίζει η κατάσταση της στην ɛ είναι η ίδια µε στην ɛ Λόγω της συνθήκης συµφωνίας: η αποφασίζει το ίδιο µε την Η απόφαση του κόκκινου στρατηγού στο τέλος του γύρου γ µπορεί να είναι διαφορετική στην ɛ από την ɛ Οµως ο πράσινος στρατηγός δεν το γνωρίζει η κατάσταση της στην ɛ είναι η ίδια µε στην ɛ Λόγω της συνθήκης συµφωνίας: η αποφασίζει το ίδιο µε την Εξέταση αλγόριθµου A () Συνεχίζοντας µε τον ίδιο τρόπο, καταλήγουµε στην εκτέλεση ɛ, όπου τελικά δεν παραδίδεται κανένα µήνυµα Εκτέλεση ɛ i = ναι oς γύρος oς γύρος... γύρος γ o = ναι Εξέταση αλγόριθµου A () Συνεχίζοντας µε τον ίδιο τρόπο, καταλήγουµε στην εκτέλεση ɛ, όπου τελικά δεν παραδίδεται κανένα µήνυµα Εκτέλεση ɛ i = ναι oς γύρος oς γύρος... γύρος γ o = ναι i = ναι o = ναι i = ναι o = ναι Αφού ο γύρος γ είναι ένας πεπερασµένος αριθµός, σε πεπερασµένο αριθµό ϐηµάτων ϑα έχουµε την εκτέλεση ɛ Οι δύο στρατηγοί ξεκινούν µε αρχικές απόψεις ναι Αποφασίζουν και οι δύο ναι χωρίς να ανταλλάξουν κανένα µήνυµα Αφού ο γύρος γ είναι ένας πεπερασµένος αριθµός, σε πεπερασµένο αριθµό ϐηµάτων ϑα έχουµε την εκτέλεση ɛ Οι δύο στρατηγοί ξεκινούν µε αρχικές απόψεις ναι Αποφασίζουν και οι δύο ναι χωρίς να ανταλλάξουν κανένα µήνυµα

Εξέταση αλγόριθµου A () Συνεχίζοντας µε τον ίδιο τρόπο, καταλήγουµε στην εκτέλεση ɛ, όπου τελικά δεν παραδίδεται κανένα µήνυµα Εκτέλεση ɛ i = ναι oς γύρος oς γύρος... γύρος γ o = ναι Εξέταση αλγόριθµου A () Συνεχίζοντας µε τον ίδιο τρόπο, καταλήγουµε στην εκτέλεση ɛ, όπου τελικά δεν παραδίδεται κανένα µήνυµα Εκτέλεση ɛ i = ναι oς γύρος oς γύρος... γύρος γ o = ναι i = ναι o = ναι i = ναι o = ναι Αφού ο γύρος γ είναι ένας πεπερασµένος αριθµός, σε πεπερασµένο αριθµό ϐηµάτων ϑα έχουµε την εκτέλεση ɛ Οι δύο στρατηγοί ξεκινούν µε αρχικές απόψεις ναι Αποφασίζουν και οι δύο ναι χωρίς να ανταλλάξουν κανένα µήνυµα Αφού ο γύρος γ είναι ένας πεπερασµένος αριθµός, σε πεπερασµένο αριθµό ϐηµάτων ϑα έχουµε την εκτέλεση ɛ Οι δύο στρατηγοί ξεκινούν µε αρχικές απόψεις ναι Αποφασίζουν και οι δύο ναι χωρίς να ανταλλάξουν κανένα µήνυµα Εξέταση αλγόριθµου A () Συνεχίζοντας µε τον ίδιο τρόπο, καταλήγουµε στην εκτέλεση ɛ, όπου τελικά δεν παραδίδεται κανένα µήνυµα Εκτέλεση ɛ i = ναι oς γύρος oς γύρος... γύρος γ o = ναι Εξέταση αλγόριθµου A () Συνεχίζοντας µε τον ίδιο τρόπο, καταλήγουµε στην εκτέλεση ɛ, όπου τελικά δεν παραδίδεται κανένα µήνυµα Εκτέλεση ɛ i = ναι oς γύρος oς γύρος... γύρος γ o = ναι i = ναι o = ναι i = ναι o = ναι Αφού ο γύρος γ είναι ένας πεπερασµένος αριθµός, σε πεπερασµένο αριθµό ϐηµάτων ϑα έχουµε την εκτέλεση ɛ Οι δύο στρατηγοί ξεκινούν µε αρχικές απόψεις ναι Αποφασίζουν και οι δύο ναι χωρίς να ανταλλάξουν κανένα µήνυµα Αφού ο γύρος γ είναι ένας πεπερασµένος αριθµός, σε πεπερασµένο αριθµό ϐηµάτων ϑα έχουµε την εκτέλεση ɛ Οι δύο στρατηγοί ξεκινούν µε αρχικές απόψεις ναι Αποφασίζουν και οι δύο ναι χωρίς να ανταλλάξουν κανένα µήνυµα

Εξέταση αλγόριθµου A () Συνεχίζοντας µε τον ίδιο τρόπο, καταλήγουµε στην εκτέλεση ɛ, όπου τελικά δεν παραδίδεται κανένα µήνυµα Εκτέλεση ɛ i = ναι oς γύρος oς γύρος... γύρος γ o = ναι Εξέταση αλγόριθµου A () Εστω η εκτέλεση ɛ που προκύπτει από την ɛ, όταν ο πράσινος στρατηγός έχει αρχική άποψη όχι Εκτέλεση ɛ i = ναι oς γύρος oς γύρος... γύρος γ o = ναι i = ναι o = ναι i = όχι o = ναι Αφού ο γύρος γ είναι ένας πεπερασµένος αριθµός, σε πεπερασµένο αριθµό ϐηµάτων ϑα έχουµε την εκτέλεση ɛ Οι δύο στρατηγοί ξεκινούν µε αρχικές απόψεις ναι Αποφασίζουν και οι δύο ναι χωρίς να ανταλλάξουν κανένα µήνυµα Η απόφαση του πράσινου στρατηγού στο τέλος του γύρου γ µπορεί να είναι διαφορετική στην ɛ από την ɛ Οµως ο κόκκινος στρατηγός δεν το γνωρίζει η κατάσταση της είναι η ίδια στην ɛ από την ɛ Λόγω της συνθήκης συµφωνίας: η αποφασίζει το ίδιο µε την Εξέταση αλγόριθµου A () Εστω η εκτέλεση ɛ που προκύπτει από την ɛ, όταν ο κόκκινος στρατηγός έχει αρχική άποψη όχι Εκτέλεση ɛ i = όχι i = όχι oς γύρος oς γύρος... γύρος γ o = ναι o = ναι Η απόφαση του κόκκινου στρατηγού στο τέλος του γύρου γ µπορεί να είναι διαφορετική στην ɛ από την ɛ Οµως ο πράσινος στρατηγός δεν το γνωρίζει η κατάσταση της είναι η ίδια στην ɛ από την ɛ Λόγω της συνθήκης συµφωνίας: η αποφασίζει το ίδιο µε την Εξέταση αλγόριθµου A () Ατοπο οι δύο στρατηγοί έχουν την ίδια αρχική άποψη ( όχι ) σύµφωνα µε την συνθήκης εγκυρότητας η µοναδική αποδεκτή απόφαση είναι το όχι Εκτέλεση ɛ i = όχι i = όχι oς γύρος oς γύρος... γύρος γ o = ναι o = ναι Αρα ο αλγόριθµος A δεν λύνει το πρόβληµα της Συντονισµένης Επίθεσης

Αδυναµία Εύρεσης Λύσης Θεώρηµα Εστω σύγχρονο δίκτυο G που αποτελείτε απο δύο διεργασίες V = {u, v} συνδεδεµένες απο µια µη-κατευθυνόµενη ακµή uv. εν υπάρχει αλγόριθµος που να λύνει το πρόβληµα της συντονισµένης επίθεσης υπό την παρουσία σφαλµάτων επικοινωνίας. Βασικός περιορισµός στις δυνατότητες των κατανεµηµένων δικτύων Για να ξεπεραστεί πρέπει να κάνουµε πιο ισχυρό το µοντέλο Υποθέτουµε ότι ενας ϕραγµένος αριθµός µηνύµατα χάνονται Υποθέτουµε ότι τα µηνύµατα χάνονται µε πιθανότητα p Για να ξεπεραστεί πρέπει να κάνουµε πιο ασθενές το πρόβληµα Επιτρέπουµε την παραβίαση της συνθήκης της συµφωνίας υπό ορισµένες συνθήκες Επιτρέπουµε την παραβίαση της συνθήκης της εγκυρότητας υπό ορισµένες συνθήκες Σύνοψη ης ιάλεξης Κατανεµηµένες οµές Μοντέλο Σύγχρονου ικτύου Προηγούµενο Μάθηµα Πρόβληµα Συναίνεσης Ορισµός Προβλήµατος Σφάλµατα Επικοινωνίας Σύνοψη Μαθήµατος Σύνοψη Μαθήµατος Επόµενο Μάθηµα Σύνοψη Μαθήµατος Βιβλιογραφία () Βιβλίο Ditributed Algorithm" (N.Lynch). Κεφάλαιο : Ditributed Conenu with Link Failure. Κεφάλαιο : Ditributed Conenu with Proce Failure. Κεφάλαιο.: The Commit Problem Σύγχρονα Κατανεµηµένα Συστήµατα Συναίνεση Σφάλµατα Επικοινωνίας Βιβλίο Ditributed Computing Fundamental, Simulation, and Advanced Topic" (H.Attiya, J.Welch). Κεφάλαιο : Fault-Tolerant Conenu -- µόνο. Βιβλίο Introduction to Ditributed Algorithm" (G.Tel). Κεφάλαιο : Fault Tolerance in Ditributed Sytem Βιβλίο Ditributed Sytem, Concept and Deign" (G.Coulouri, J.Dollimore, T.Kindberg). Κεφάλαιο : Ditributed Tranaction Βιβλίο Ditributed Sytem: Principle and Paradigm" (A.Tanenbaum, M.Steen). Κεφάλαιο : Fault Tolerance -- Μόνο.,.,.

Επόµενο Μάθηµα Σφάλµατα Τερµατισµού Βυζαντινά Σφάλµατα σε Σύγχρονα Συστήµατα