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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Περίληψη Φροντιστηρίου. Κατανεμημένα Συστήματα Ι. Το περιβάλλον DAP - Χαρακτηριστικά. Το περιβάλλον DAP Τι είναι.

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

Consensus and related problems

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

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

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

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

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

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

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

Εισαγωγή στην Τοπολογία

for for for for( . */

ΑΛΓΟΡΙΘΜΙΚΗ ΘΕΩΡΙΑ ΠΑΙΓΝΙΩΝ Πανεπιστήµιο Αθηνών Εαρινό Εξάµηνο 2007 ιδάσκων : Ηλίας Κουτσουπιάς

q={(1+2)/2}=1 A(1,2)= MERGE( 4, 6 ) = 4 6 q=[(3+4)/2]=3 A(1,4)= MERGE( 4 6, 5 8 ) = q=[(5+6)/2]=5 A(5,6)= MERGE( 2, 9 ) = 2 9

Λύσεις Παλιών Θεµάτων. Συστήµατα Παράλληλης Επεξεργασίας, 9ο εξάµηνο Υπεύθ. Καθ. Νεκτάριος Κοζύρης

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

Γνωριµία. ιακριτά Μαθηµατικά. Βιβλία Μαθήµατος. Επικοινωνία. ιδάσκων: Ορέστης Τελέλης. Ωρες γραφείου (502, Γρ.

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

ιακριτά Μαθηµατικά Ορέστης Τελέλης Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Σύνολα 1 / 36

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

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

Αριθµητική Ανάλυση 1 εκεµβρίου / 43

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

ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ Επιστήμη των Αποφάσεων, Διοικητική Επιστήμη

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

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

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

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο

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

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

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ

Κατανεμημένα Συστήματα. Javascript LCR example

(365)(364)(363)...(365 n + 1) (365) k

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

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

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

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

ΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων

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

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

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

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

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

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι έχουµε δει µέχρι τώρα. Υπογράφηµα Γράφοι

Παράδειγµα (4) Στοιχεία Θεωρίας Γραφηµάτων (2) Ορέστης Τελέλης. Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς. v 2. u 3.

ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ20 Ε ρ γ α σ ί α 4η Θεωρία Γραφηµάτων

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

Transcript:

Προηγούµενο Μάθηµα Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Ιωάννης Χατζηγιαννάκης ευτέρα, 24 Οκτωβρίου, 2011 Αίθουσα Β3 Υλικό µαθήµατος Σηµειώσεις, Βιβλιογραφία, ιαδίκτυο ιαδικασία Τυπικά Θέµατα, Υλη, Ασκήσεις, Φροντιστήρια, Εργαστήρια Εισαγωγή στα Κατανεµηµένα Συστήµατα Ορισµός Βασικά προβλήµατα Απαιτήσεις Λειτουργικότητας Σχεδιαστικές Προκλήσεις Τυπικά Θέµατα Υποστήριξη Φοιτητών Θεωρία Πρακτική ιαλέξεις Ασκήσεις Βαθµολογία Παρακολούθηση 60% 2 Ασκήσεις 40% Εξέταση -- 0% -- το µάθηµα δεν έχει γραπτή εξέταση Οµάδα διόρθωσης ασκήσεων 10 ϕοιτητές διόρθωση των ασκήσεων Bonus: +0... +1 ϐαθµό (εξαρτάτε από την ποιότητα) Οποιος ενδιαφέρεται να επικοινωνήσει άµεσα µαζί µου

Απορίες Συναντήσεις Σύνοψη 2 ης ιάλεξης Για οτιδήποτε χρειαστείτε ϑα µε ϐρείτε στο Ι.Τ.Υ.Ε.: Γραφείο 0.Ι.3 Ολες τις µέρεσ/ώρες κατόπιν συνεννοήσεως -- 2610 960333 Μέσω e-mail: ichatz@ceid.upatras.gr Μέσω forum του µαθήµατος στο my.ceid.upatras.gr Σύγχρονα Κατανεµηµένα Συστήµατα Μοντελοποίηση Συστήµατος Σφάλµατα Μέτρηση πολυπλοκότητας Πρόβληµα Εκλογής Αρχηγού Ορισµός Προβλήµατος Κατανεµηµένοι Αλγόριθµοι σε ίκτυα ακτυλίου Κατανεµηµένοι Αλγόριθµοι σε Γενικά ίκτυα Σύνοψη Μαθήµατος Σύνοψη Μαθήµατος Βιβλιογραφία Επόµενο Μάθηµα Μοντέλο ιεργασιών Αποτελείται από µία συλλογή υπολογιστικών µονάδων ή επεξεργαστές Οι επεξεργαστές εκτελούν µία συλλογή απο διεργασίες Μια διεργασία εκτελείτε µόνο απο ένα επεξεργαστή Κάθε επεξεργαστής εκτελεί µόνο µία διεργασία Οι µονάδες του συστήµατος είναι συνδεδεµένες µε ένα συνεκτικό δίκτυο (υπάρχει 1 µονοπάτι που µεταξύ οποιουδήποτε Ϲευγαριού διεργασιών) Ορίζουµε το δίκτυο ως ένα γράφηµα G = (V, E) αποτελείτε απο ένα πεπερασµένο σύνολο V απο σηµεία οι κορυφές απεικονίζουν τις υπολογιστικές µονάδες του συστήµατος -- n = V µια συλλογή E από διατεταγµένα Ϲεύγη στοιχείων του V (E [V] 2 ) -- οι ακµές απεικονίζουν τα κανάλια επικοινωνίας του δικτύου -- m = E Κανάλια Επικοινωνίας Τα κανάλια είναι οι ακµές του γραφήµατος Οι ακµές του γραφήµατος µπορεί να είναι κατευθυνόµενες δεν υπάρχει αµφίδροµη επικοινωνία Οι διεργασίες µπορούν να διαχωρίσουν τα κανάλια επικοινωνίας και να επιλέξουν κάποιο συγκεκριµένο 3 2 Η επικοινωνία µέσω των καναλίων γίνεται µε την ανταλλαγή µηνυµάτων Υποθέτουµε ότι κάθε κανάλι επικοινωνίας µπορεί να δεχτεί µόνο ένα µήνυµα τη ϕορά Θεωρούµε ότι υπάρχει ένα δεδοµένο αλφάβητο µηνυµάτων παραµένει σταθερό το σύµβολο null δηλώνει την απουσία µηνύµατος a b b 1 a b a

Γειτονικές ιεργασίες Τοπολογία ικτύου και Αρχική Γνώση Μία κορυφή v ονοµάζεται εξερχόµενη γειτονική της κορυφής u όταν η uv είναι µια ακµή του G Μία κορυφή u ονοµάζεται εισερχόµενη γειτονική της κορυφής v όταν η uv είναι µια ακµή του G Συµβολίζουµε ως nbrs out u = {v (u, v) E} όλες τις κορυφές που είναι εξερχόµενες γειτονικές της κορυφής u Συµβολίζουµε ως nbrs in u = {v (v, u) E} όλες τις κορυφές που είναι εισερχόµενες γειτονικές της u 5 1 8 Η 5 είναι εξερχόµενη γειτονική της 8 Η 8 είναι εισερχόµενη γειτονική της 5 nbrs9 out = {1, 4} nbrs9 in = {2, 5, 6, 8} 9 2 6 4 Ενας αλγόριθµος µπορεί να σχεδιαστεί για µια συγκεκριµένη τοπολογία δακτύλιο, δέντρο, πλήρη γράφηµα... Μερικές ϕορες µπορεί ένας αλγόριθµος να υποθέσει µια συγκεκριµένη τοπολογία λέµε οτι ο αλγόριθµος έχει αρχική γνώση Ενας αλγόριθµος που απαιτεί πολλές υποθέσεις ως προς το δικτύου όπου εκτελείτε λέγετε ασθενής Αν δεν απαιτεί πολλές υποθέσεις λέµε ότι είναι ισχυρός διότι µπορεί να εκτελεστεί σε µεγαλύτερο εύρος πιθανών δικτύων Οι Καταστάσεις των ιεργασιών Αρχικοποίηση Συστήµατος Κάθε διεργασία u V χαρακτηρίζεται απο ένα σύνολο καταστάσεων states u Ορισµένες τις ονοµάζουµε αρχικές καταστάσεις start u Ορισµένες τις ονοµάζουµε καταστάσεις τερµατισµού halt u ιαθέτει µια γεννήτρια εξερχόµενων µηνυµάτων msgs u : states u nbrsu out {null} δεδοµένης της τρέχουσας κατάστασης δηµιουργεί κάποια µηνύµατα για τις γειτονικές διεργασίες ιαθέτει µία συνάρτηση αλλαγής κατάστασης trans u : states u ( {null}) nbrsin u states u δεδοµένης της τρέχουσας κατάστασης τα µηνύµατα που παραλήφθηκαν υπολογίζει την επόµενη κατάσταση της διεργασίας Αρχικά Σε κάθε αλγόριθµο γίνεται διάκριση των διεργασιών σε 1. Αρχικοποιητές (initiators) Μια διεργασία είναι αρχικοποιητής αν αρχίζει την εκτέλεση του τοπικού της αλγόριθµου τυχαία. 2. Μη-αρχικοποιητές (non-initiators) Ενας µη-αρχικοποιητής εµπλέκεται στον αλγόριθµο µόνο όταν ένα µήνυµα του αλγόριθµου ϕτάνει και προδοτεί την εκτέλεση της τοπικής διεργασίας.

Συγκεντρωτισµός Εκτέλεση αλγόριθµου, Βήµατα και Γύροι Ενας αλγόριθµος καλείται συγκεντρωτικός αν υπάρχει ακριβώς ένας αρχικοποιητής σε κάθε υπολογισµό και αποκεντρωτικός αν ο αλγόριθµος µπορεί να αρχίσει τυχαία από ένα αυθαίρετο υποσύνολο των διεργασιών. Συνήθως οι συγκεντρωτικοί αλγόριθµοι παρουσιάζουν καλύτερη πολυπλοκότητα µηνυµάτων. Συνήθως οι αποκεντρωτικοί αλγόριθµοι παρουσιάζουν καλύτερη συµπεριφορά υπό την παρουσία σφαλµάτων. Ολες οι διεργασίες, επαναλαµβάνουν συντονισµένα τα ακόλουθα δύο ϐήµατα: 1. Εφαρµογή της γεννήτριας µηνυµάτων 2. Παραγωγή µηνυµάτων για τους εξερχόµενους γείτονες 3. Αποστολή µηνυµάτων µέσω των αντίστοιχων καναλιών 1. Εφαρµογή της συνάρτησης αλλαγής κατάστασης 2. ιαγραφή όλων των µηνυµάτων από τα κανάλια. Ο συνδυασµός των δύο ϐηµάτων ονοµάζεται γύρος Παράδειγµα εκτέλεσης ενός Σύγχρονου Συστήµατος Αρχικά οι διεργασίες, εκτελούν συντονισµένα το πρωτόκολλο Παράδειγµα εκτέλεσης ενός Σύγχρονου Συστήµατος Αρχικά οι διεργασίες, εκτελούν συντονισµένα το πρωτόκολλο 1 oς Γύρος 1 oς Γύρος 1 oς Γύρος 1 oς Γύρος

Παράδειγµα εκτέλεσης ενός Σύγχρονου Συστήµατος Αρχικά οι διεργασίες, εκτελούν συντονισµένα το πρωτόκολλο Παράδειγµα εκτέλεσης ενός Σύγχρονου Συστήµατος Αρχικά οι διεργασίες, εκτελούν συντονισµένα το πρωτόκολλο Παράδειγµα εκτέλεσης ενός Σύγχρονου Συστήµατος Αρχικά οι διεργασίες, εκτελούν συντονισµένα το πρωτόκολλο Παράδειγµα εκτέλεσης ενός Σύγχρονου Συστήµατος Αρχικά οι διεργασίες, εκτελούν συντονισµένα το πρωτόκολλο

Παράδειγµα εκτέλεσης ενός Σύγχρονου Συστήµατος Αρχικά οι διεργασίες, εκτελούν συντονισµένα το πρωτόκολλο Παράδειγµα εκτέλεσης ενός Σύγχρονου Συστήµατος Αρχικά οι διεργασίες, εκτελούν συντονισµένα το πρωτόκολλο 2 oς Γύρος 2 oς Γύρος Παράδειγµα εκτέλεσης ενός Σύγχρονου Συστήµατος Αρχικά οι διεργασίες, εκτελούν συντονισµένα το πρωτόκολλο Παράδειγµα εκτέλεσης ενός Σύγχρονου Συστήµατος Αρχικά οι διεργασίες, εκτελούν συντονισµένα το πρωτόκολλο 2 oς Γύρος 2 oς Γύρος 2 oς Γύρος 2 oς Γύρος

Παράδειγµα εκτέλεσης ενός Σύγχρονου Συστήµατος Αρχικά οι διεργασίες, εκτελούν συντονισµένα το πρωτόκολλο Παράδειγµα εκτέλεσης ενός Σύγχρονου Συστήµατος Αρχικά οι διεργασίες, εκτελούν συντονισµένα το πρωτόκολλο Παράδειγµα εκτέλεσης ενός Σύγχρονου Συστήµατος Αρχικά οι διεργασίες, εκτελούν συντονισµένα το πρωτόκολλο Παράδειγµα εκτέλεσης ενός Σύγχρονου Συστήµατος Αρχικά οι διεργασίες, εκτελούν συντονισµένα το πρωτόκολλο

Παράδειγµα εκτέλεσης ενός Σύγχρονου Συστήµατος Αρχικά οι διεργασίες, εκτελούν συντονισµένα το πρωτόκολλο Παράδειγµα εκτέλεσης ενός Σύγχρονου Συστήµατος Αρχικά οι διεργασίες, εκτελούν συντονισµένα το πρωτόκολλο 3 oς Γύρος 3 oς Γύρος Εκτέλεση ενός κατανεµηµένου αλγόριθµου (2) Παράδειγµα εκτέλεσης ενός Σύγχρονου Συστήµατος Αρχικά οι διεργασίες, εκτελούν συντονισµένα το πρωτόκολλο Θέλουµε να περιγράψουµε την εκτέλεση ενός κατανεµηµένου αλγόριθµου ϑεωρούµε µια ακολουθία µεταβάσεων της κατάστασης των διεργασιών του συστήµατος προέρχονται από την αποστολή και παραλαβή µηνυµάτων εσωτερικές αλλαγές Εστω µια δεδοµένη χρονική στιγµή i 3 oς Γύρος 3 oς Γύρος κάθε διεργασία u ϐρίσκεται σε κάποια κατάσταση states u ο χαρακτηρισµός της κατάστασης όλων των διεργασιών καθορίζει την συνολική κατάσταση του συστήµατος C i

Εκτέλεση ενός κατανεµηµένου αλγόριθµου (3) Σφάλµατα Στην συνέχεια, οι διεργασίες εκτελούν έναν γύρο του αλγορίθµου πραγµατοποιούνται ορισµένες αποστολές µηνυµάτων i πραγµατοποιούνται κάποιες παραλαβές µηνυµάτων N i Στην επόµενη χρονική στιγµή i + 1, το σύστηµα λέµε ότι ϐρίσκετε στην κατάσταση C i+1 το σύστηµα ϐρίσκετε στην κατάσταση C i+1 Εποµένως, η εκτέλεση ενός κατανεµηµένου αλγορίθµου µπορεί να οριστεί ως µια άπειρη ακολουθία C 0, 1, N 1, C 1, 2, N 2, C 2,... Ορίζουµε δύο τύπους σφαλµάτων 1. σφάλµατα που εµφανίζονται κατά την αποστολή µηνυµάτων 2. σφάλµατα που παρουσιάζονται στις υπολογιστικές µονάδες (στους επεξεργαστές) Σφάλµα Επικοινωνίας: αποτυχία κατά την αποστολή ενός µηνύµατος σε ένα κανάλι του δικτύου Τερµατικό σφάλµα: Η διεργασία σταµατάει είτε πριν, είτε µετά, είτε κατά την εκτέλεση κάποιου τµήµατος του 1 oυ ή του 2 oυ ϐήµατος ενός γύρου Εποµένως, µπορεί να συµβεί ένα σφάλµα κατά την παραγωγή των µηνυµάτων, οπότε να σταλεί ένα µέρος των εξερχόµενων µηνυµάτων Βυζαντινά Σφάλµατα Μέτρηση πολυπλοκότητας Το δίκτυο περιέχει ελαττωµατικές διεργασίες που δεν σταµατούν αλλά συναιχίζουν να συµµετέχουν στην εκτέλεση του αλγορίθµου. Η συµπεριφορά των διεργασιών µπορεί να είναι τελείως ανεξέλεγκτη. Η εσωτερική κατάσταση µια ελαττωµατικής διεργασίες µπορεί να αλλάξει κατα την διάρκεια ενός γύρου χωρίς να υπάρχει κάποιο µήνυµα. Μια ελαττωµατική διεργασία µπορεί να στείλει µηνύµατα µε οποιοδήποτε περιεχόµενο, ανεξάρτητα από τις οδηγίες του κατανεµηµένου αλγορίθµου που ϑα έπρεπε να τρέχει. Ονοµάζουµε τέτοιου είδους σφάλµατα ως Βυζαντινά σφάλµατα. Μπορούµε να µοντελοποιήσουµε εχθρική συµπεριφορά (π.χ. ϑέµατα ασφάλειας). Μελέτη του Συστήµατος Ορισµός Ελάχιστων Απαιτήσεων Επιλογή κατάλληλου κατανεµηµένου αλγόριθµου Πως µπορούµε να µετρήσουµε την απόδοση; Χρησιµοποιούµε δύο µετρικές για τη µέτρηση της πολυπλοκότητας των κατανεµηµένων αλγόριθµων: 1. Χρονική πολυπλοκότητα 2. Πολυπλοκότητα επικοινωνίας

Χρονική πολυπλοκότητα Πολυπλοκότητα επικοινωνίας (1) Χρονική πολυπλοκότητα Η χρονική πολυπλοκότητα σε ένα σύγχρονο σύστηµα ορίζεται ως το πλήθος των γύρων που απαιτούνται για να παραχθούν όλες οι Ϲητούµενες έξοδοι, ή µέχρι να τερµατιστούν όλες οι διεργασίες (δηλ. να ϐρεθούν σε µια τερµατική κατάσταση). Σχετίζεται άµεσα µε τον χρόνο εκτέλεσης Στην πράξη, ο χρόνος εκτέλεσης ενός κατανεµηµένου αλγόριθµου είναι η πιο σηµαντική µετρική της απόδοσης Πολυπλοκότητα επικοινωνίας Η πολυπλοκότητα επικοινωνίας ενός σύγχρονου συστήµατος ορίζεται ως τον συνολικό αριθµό µη µηδενικών µηνυµάτων τυπικά µετράται στα πλαίσια του συνολικού αριθµού µη µηδενικών µηνυµάτων (δηλ. δεν προσµετρούνται τα null µηνύµατα) που αποστέλλονται. Μερικές ϕορές, υπολογίζεται επίσης και ο αριθµός των bits των µηνυµάτων. Θέµα µελέτης όταν ο όγκος των µηνυµάτων προκαλεί συµφόρηση στο δίκτυο επιβραδύνεται η εκτέλεση του αλγορίθµου Πολυπλοκότητα επικοινωνίας (2) Πλαίσιο Εργασίας Σε πραγµατικές συνθήκες εκτελούνται ταυτόχρονα πολλοί αλγόριθµοι µοιράζονται τα ίδια κανάλια επικοινωνίας πόσο συνεισφέρει κάθε αλγόριθµος στη συνολική συµφόρηση του δικτύου; ύσκολο να ποσοτικοποιήσουµε την επίδραση που έχουν τα µηνύµατα οποιουδήποτε αλγόριθµου στη χρονική απόδοση άλλων αλγορίθµων Γενικότερα, προσπαθούµε να ελαχιστοποιήσουµε τον αριθµό των µηνυµάτων που παράγονται από κάθε αλγόριθµο Στόχος µας είναι ο σχεδιασµός συστηµάτων για την επίτευξη ενός συγκεκριµένου στόχου (π.χ. εκλογή αρχηγού, αµοιβαίος αποκλεισµός) Μοντελοποιούµε τις συνθήκες λειτουργίας του συστήµατος. Σχεδιάζουµε έναν κατανεµηµένο αλγόριθµο. Εξετάζουµε την συµπεριφορά του συστήµατος (π.χ. ορθότητα, πολυπλοκότητα, ανεκτηκότητα σε σφάλµατα) Υπο την παρουσία σφαλµάτων. Οταν οι συνθήκες εκτέλεσης είναι καθορισµένες (συγχρονισµένη εκτέλεση) ή χρονικά ακαθόριστες. Πάντα υποθέτουµε ότι οι υπολογιστικές µονάδες συνεργάζονται για την επίτευξη του κοινού στόχου. Οποιαδήποτε άλλη περίπτωση ϑεωρούµε ότι είναι εκτός του ϕυσιολογικού δηλαδή πρόκειται για ελαττωµατική συµπεριφορά.

Ρεαλιστικό Πλαίσιο Σύνοψη 2 ης ιάλεξης Αν όµως οι διεργασίες δεν συµµερίζονται τον κοινό στόχο ; π.χ. µια διεργασία δεν ϑελει να εκλεχθεί αρχηγος, µια διεργασία δεν ϑέλει να περιµένει την σειρά της για να δεσµεύσει τον πόρο Οταν ϑέλουµε να µελετήσουµε την συµπεριφορά έξυπνων παικτών, τέτοιου είδους καταστάσεις είναι πολύ πιθανό να προκύψουν κατα την εκτέλεση του συστήµατος Πως τις µοντελλοποιούµε ; Πως τις µελετάµε ; Οικονοµική Θεωρία και Αλγόριθµοι : µάθηµα ελεύθερης επιλογής, χειµερινού εξαµήνου, του τοµέα Εφαρµογών και Θεµελιώσεων. ιδάσκεται από τους καθηγητές Ελευθέριο Κυρούση και Παύλο Σπυράκη Τα Nobel 2008 και 2006 για τα Οικονοµικά δώθηκαν στην περιοχή της ϑεωρίας παιγνίων Σύγχρονα Κατανεµηµένα Συστήµατα Μοντελοποίηση Συστήµατος Σφάλµατα Μέτρηση πολυπλοκότητας Πρόβληµα Εκλογής Αρχηγού Ορισµός Προβλήµατος Κατανεµηµένοι Αλγόριθµοι σε ίκτυα ακτυλίου Κατανεµηµένοι Αλγόριθµοι σε Γενικά ίκτυα Σύνοψη Μαθήµατος Σύνοψη Μαθήµατος Βιβλιογραφία Επόµενο Μάθηµα Γενικά Παράδειγµα Πρόβληµα Εκλογής Αρχηγού Η εκλογή αρχηγού σε ένα δίκτυο απαιτεί την επιλογή µιας µοναδικής διεργασίας που ϑα ϐρεθεί στην κατάσταση αρχηγός (ή εκλεγµένη ) ενώ όλες οι άλλες διεργασίες ϐρίσκονται στην κατάσταση µη-αρχηγός (ή µη εκλεγµένη ). Το πρόβληµα της εκλογής αρχηγού παρουσιάστηκε για πρώτη ϕορά από τον LeLann (1977) Το πρόβληµα αποτυπώνει τα ϐασικά χαρακτηριστικά µιας µεγάλης οµάδας προβληµάτων που αντιµετωπίζουν τα πραγµατικά κατανεµηµένα συστήµατα Το πρόβληµα της εκλογής αρχηγού παρουσιάζει πολλές παραλλαγές Εκτυπωτικό Κέντρο Για λόγους ανεκτικότητας σφαλµάτων, το σύστηµα χρησιµοποιεί ένα εκτυπωτικό κέντρο (µε n εκτυπωτές). Προσφέρει υπηρεσίες υψηλής αξιοπιστίας ϑέτοντας µόνο ένα εκτυπωτή ενεργό ανά πάσα στιγµή όταν παρουσιαστεί σφάλµα στον εκτυπωτή, αναλαµβάνει ένας από τους υπόλοιπους. Οι εκτυπωτές έχουν/δεν έχουν ίδια τεχνικά χαρακτηριστικά Οι εκτυπωτές έχουν ξεχωριστή διεύθυνση στο δίκτυο Στόχος Αυξηµένης Αξιοπιστίας: Οι µονάδες που λειτουργούν σωστά αναλάβουν το έργο αυτών που ϐγήκαν εκτός λειτουργίας

Ορισµός Προβλήµατος Ενας αλγόριθµος λύνει το πρόβληµα εκλογής αρχηγού εφόσον πληροί τις παρακάτω προδιαγραφές: Ολες οι καταστάσεις τερµατισµού χωρίζονται σε δύο σύνολα: 1. καταστάσεις που αναδεικνύουν την διεργασία ως εκλεγµένη 2. καταστάσεις που ϑεωρούν την διεργασία ως µη εκλεγµένη Οταν µια διεργασία εισέρθει σε µία κατάσταση τερµατισµού, η συνάρτηση αλλαγής κατάστασης ϑα µεταβεί µόνο σε κάποια κατάσταση του ίδιου συνόλου Σε κάθε εκτέλεση του αλγορίθµου: µία και µόνο µία διεργασία είναι εκλεγµένη οι άλλες διεργασίες ϐρίσκονται σε κατάσταση µη-εκλεγµένη Παραλλαγές Το πρόβληµα της εκλογής αρχηγού παρουσιάζει πολλές παραλλαγές, παρακάτω αναφέρουµε ορισµένες απο τις εκδοχές: Μπορεί να απαιτείται όλες οι διεργασίες που ϐρίσκονται σε κάποια κατάσταση µη-εκλεγµένη να ανακοινώσουν το γεγονός ότι δεν είναι αρχηγοί, π.χ. µεταβάλλοντας µια µεταβλητή στην τιµή µη-αρχηγός. Ο αριθµός n των µονάδων που εκτελούν τον αλγόριθµο µπορεί να είναι γνωστός ή ακόµα και άγνωστος. Εφόσον είναι γνωστός, ο αλγόριθµος µπορεί να εκµεταλλευτεί αυτή την πληροφορία µειώνοντας τον χρόνο εκτέλεσης. Οι διεργασίες µπορούν να διαχωριστούν απο τις υπόλοιπες, π.χ. χρησιµοποιώντας κάποια µοναδική ταυτότητας (UID) -- οι ταυτότητες µπορεί να επιλέγονται απο ένα περιορισµένο σύνολο, ή απο όλο το σύνολο των ϑετικών ακέραιων N +. Αδυναµία αντιµετώπισης του προβλήµατος (1) Αδυναµία αντιµετώπισης του προβλήµατος (2) Παρατηρούµε ότι εάν οι διεργασίες δεν µπορούν να διαχωριστούν µεταξύ τους, τότε δεν µπορεί να ϐρεθεί κάποιος αλγόριθµος που να δίνει λύση στο πρόβληµα Θεώρηµα Εστω ένα σύστηµα A από n διεργασίες συνδεδεµένες µέσω ενός δικτύου δακτυλίου. Αν όλες οι διεργασίες είναι πανοµοιότυπες και δεν µπορούν να ξεχωρίσουν η µία την άλλη, τότε κανένας αλγόριθµος δεν µπορεί να λύσει το πρόβληµα εκλογής αρχηγού για το σύστηµα A. Το ϑεώρηµα ισχύει ακόµα και όταν ο συνολικός αριθµός των διεργασιών n είναι γνωστός σε κάθε διεργασία ή το δίκτυο έχει συγκεκριµένες ιδιότητες, π.χ. τα κανάλια είναι µονής ή διπλής κατεύθυνσης. Απόδειξη: Χρησιµοποιούµε την µέθοδο της εις άτοπον απαγωγής Εστω αλγόριθµος που λύνει το πρόβληµα για το A Εστω ότι κάθε διεργασία έχει µόνο µια αρχική κατάσταση Αρα όλες οι διεργασίες ξεκινούν απο την ίδια κατάσταση Επαγωγικά: τον γύρο r όλες οι διεργασίες ϑα ϐρίσκονται στην ίδια κατάσταση αν κάποια διεργασία ϐρεθεί σε κατάσταση εκλεγµένη τότε όλες οι άλλες διεργασίες ϑα έχουν ϐρεθεί σε µια ίδια κατάσταση δεν υπάρχει µια και µόνο µια αρχηγός

ίκτυα ακτυλίου Ο Αλγόριθµος των LeLann, Chang και Roberts Θεωρούµε ένα σύγχρονο κατανεµηµένο σύστηµα από n διεργασίες. Είναι τοποθετηµένες σε ένα δίκτυο δακτυλίου Οι διεργασίες έχουν µοναδικές ταυτότητες υπόλοιπων διεργασιών Μπορούν να ξεχωρίσουν τον δεξιόστροφο γείτονα τους από τον αριστερόστροφο Θεωρούµε ότι οι διεργασίες είναι αριθµηµένες από το 1 έως το n µε δεξιόστροφη κατεύθυνση οι διεργασίες δεν έχουν γνώση αυτού του τρόπου αρίθµησης. Αλγόριθµος LCR Οι διεργασίες διατηρούν µια µεταβλητή αρχηγός η οποία αρχικά είναι false. Οι διεργασίες εκπέµπουν την ταυτότητα τους στον δεξιόστροφο γείτονα τους. Μόλις λάβουν µία ταυτότητα απο τον αριστερόστροφο γείτονα, την συγκρίνουν µε την δικιά τους. Αν είναι µεγαλύτερη, την προωθούν στον δεξιόστροφο γείτονα. Αν είναι µικρότερη, δεν κάνουν τίποτα. Αν είναι ίδια, µεταβαίνουν στην κατάσταση εκλεγµένη ϑέτοντας την µεταβλητή αρχηγός στην τιµή true. εν γνωρίζει τον συνολικό αριθµό των διεργασιών Υποθέτει ότι οι διεργασίες µπορούν να επικοινωνήσουν µόνο προς µία κατεύθυνση δεξιόστροφα Βασίζεται σε απλές πράξεις σύγκρισης ταυτοτήτων Αποκεντρωτικός αλγόριθµος Παράδειγµα Εκτέλεσης Αλγόριθµου LCR Παράδειγµα Εκτέλεσης Αλγόριθµου LCR Εστω ένα σύγχρονο κατανεµηµένο Εστω ένα σύγχρονο κατανεµηµένο ίκτυο δακτυλίου Οι διεργασίες είναι αριθµηµένες από 1 έως 8 δεξιόστροφα ίκτυο δακτυλίου Οι διεργασίες είναι αριθµηµένες από 1 έως 8 δεξιόστροφα Οι διεργασίες έχουν µοναδικές ταυτότητες

Παράδειγµα Εκτέλεσης Αλγόριθµου LCR Παράδειγµα Εκτέλεσης Αλγόριθµου LCR Εστω ένα σύγχρονο κατανεµηµένο Εστω ένα σύγχρονο κατανεµηµένο ίκτυο δακτυλίου Οι διεργασίες είναι αριθµηµένες από 1 έως 8 δεξιόστροφα ίκτυο δακτυλίου Οι διεργασίες είναι αριθµηµένες από 1 έως 8 δεξιόστροφα Οι διεργασίες έχουν µοναδικές ταυτότητες Οι διεργασίες έχουν µοναδικές ταυτότητες Πρώτος Γύρος αποστολή µηνυµάτων Πρώτος Γύρος αποστολή µηνυµάτων εύτερος Γύρος Παράδειγµα Εκτέλεσης Αλγόριθµου LCR Παράδειγµα Εκτέλεσης Αλγόριθµου LCR Εστω ένα σύγχρονο κατανεµηµένο Εστω ένα σύγχρονο κατανεµηµένο ίκτυο δακτυλίου Οι διεργασίες είναι αριθµηµένες από 1 έως 8 δεξιόστροφα ίκτυο δακτυλίου Οι διεργασίες είναι αριθµηµένες από 1 έως 8 δεξιόστροφα Οι διεργασίες έχουν µοναδικές ταυτότητες Οι διεργασίες έχουν µοναδικές ταυτότητες Πρώτος Γύρος αποστολή µηνυµάτων Πρώτος Γύρος αποστολή µηνυµάτων εύτερος Γύρος εύτερος Γύρος Επόµενοι Γύροι Επόµενοι Γύροι

Παράδειγµα Εκτέλεσης Αλγόριθµου LCR Παράδειγµα Εκτέλεσης Αλγόριθµου LCR Εστω ένα σύγχρονο κατανεµηµένο Εστω ένα σύγχρονο κατανεµηµένο ίκτυο δακτυλίου Οι διεργασίες είναι αριθµηµένες από 1 έως 8 δεξιόστροφα ίκτυο δακτυλίου Οι διεργασίες είναι αριθµηµένες από 1 έως 8 δεξιόστροφα Οι διεργασίες έχουν µοναδικές ταυτότητες Οι διεργασίες έχουν µοναδικές ταυτότητες Πρώτος Γύρος αποστολή µηνυµάτων Πρώτος Γύρος αποστολή µηνυµάτων εύτερος Γύρος εύτερος Γύρος Επόµενοι Γύροι Επόµενοι Γύροι Παράδειγµα Εκτέλεσης Αλγόριθµου LCR Παράδειγµα Εκτέλεσης Αλγόριθµου LCR Εστω ένα σύγχρονο κατανεµηµένο Εστω ένα σύγχρονο κατανεµηµένο ίκτυο δακτυλίου Οι διεργασίες είναι αριθµηµένες από 1 έως 8 δεξιόστροφα ίκτυο δακτυλίου Οι διεργασίες είναι αριθµηµένες από 1 έως 8 δεξιόστροφα Οι διεργασίες έχουν µοναδικές ταυτότητες Οι διεργασίες έχουν µοναδικές ταυτότητες Πρώτος Γύρος αποστολή µηνυµάτων Πρώτος Γύρος αποστολή µηνυµάτων εύτερος Γύρος εύτερος Γύρος Επόµενοι Γύροι Επόµενοι Γύροι Εκλογή αρχηγού διεργασία 2

Χαρακτηριστικά του Αλγόριθµου LCR Απόδειξη Ορθότητας (1) Η αρίθµηση των διεργασιών είναι modulo n Το µήνυµα που στέλνει η διεργασία i αναφέρετε ως send i Εστω n διεργασίες, όπου η διεργασία µε τη µεγαλύτερη ταυτότητα είναι η i max Η διεργασία i max εκλέγεται αρχηγός στο τέλος του γύρου n Καµία διεργασία εκτός της i max δεν είναι σε κατάσταση εκλεγµένη Η χρονική πολυπλοκότητα είναι O(n) Η πολυπλοκότητα επικοινωνίας είναι O(n 2 ) Λήµµα Η διεργασία i max εκλέγεται αρχηγός στο τέλος του γύρου n Απόδειξη: Μετά απο r γύρους, το send imax +r είναι η ταυτότητα του i max. Για r = 0 ισχύει, εφόσον send imax = i max Επαγωγικά, στο τέλος του γύρου r, η διεργασία i max + r λαµβάνει την ταυτότητα του i max και στέλνει send imax +r = i max Αρα στο γύρο n η διεργασία i max 1 ϑα στείλει στην i max την ταυτότητα της i max οπότε η i max ϑα ϑέσει την µεταβλητή αρχηγός στην τιµή true Απόδειξη Ορθότητας (2) Γενικά Σύγχρονα ίκτυα Λήµµα Καµία διεργασία πλην της i max δεν εκλέγεται αρχηγός Απόδειξη: Για κάθε διεργασία i σε οποιοδήποτε γύρο r οι διεργασίες i max, i max+1,..., i 1, i δεν ϑα στείλουν την ταυτότητα της i. Αρα η i δεν ϑα λάβει ποτέ την ταυτότητα της εποµένως δεν ϑα ϑέσει ποτέ την µεταβλητή αρχηγός στην τιµή true. Θεώρηµα Ο αλγόριθµος LCR λύνει το πρόβληµα της εκλογής αρχηγού σε σύγχρονα δίκτυα δακτυλίου Θεωρούµε ένα σύγχρονο κατανεµηµένο σύστηµα από n διεργασίες. Είναι τοποθετηµένες σε ένα γενικό δίκτυο Το γράφηµα είναι ισχυρά συνεκτικό Οι διεργασίες έχουν µοναδικές ταυτότητες υπόλοιπων διεργασιών Γενικό ίκτυο

Ο Αλγόριθµος Floodax Παράδειγµα Εκτέλεσης Αλγόριθµου Floodax Αλγόριθµος Floodax Οι διεργασίες διατηρούν µια µεταβλητή αρχηγός η οποία αρχικά είναι false και µια µεταβλητή µέγιστη_ταυτότητα µε αρχική τιµή την ταυτότητα της διεργασίας. Σε κάθε γύρο, οι διεργασίες εκπέµπουν την µέγιστη_ταυτότητα σε όλους τους γείτονες. Μόλις λάβουν µία ταυτότητα απο κάποιον γείτονα, την συγκρίνουν µε την µέγιστη_ταυτότητα. Αν είναι µεγαλύτερη, ϑέτουν την µεταβλητή στην νέα τιµή. Μετά απο δ γύρους, αν η µεταβλητή ισούται µε την ταυτότητα της διεργασίας, η διεργασία µεταβαίνει στην κατάσταση εκλεγµένη ϑέτοντας την µεταβλητή αρχηγός στην τιµή true. εν γνωρίζουν το πλήθος των διεργασιών (n) Γνωρίζουν την διάµετρο του γραφήµατος δ = diam(g) Βασίζεται σε απλές πράξεις σύγκρισης ταυτοτήτων Εστω ένα σύγχρονο κατανεµηµένο Γενικό δίκτυο δ = 3 Οι διεργασίες είναι αριθµηµένες από 1 έως 8 Παράδειγµα Εκτέλεσης Αλγόριθµου Floodax Παράδειγµα Εκτέλεσης Αλγόριθµου Floodax Εστω ένα σύγχρονο κατανεµηµένο Εστω ένα σύγχρονο κατανεµηµένο Γενικό δίκτυο δ = 3 Οι διεργασίες είναι αριθµηµένες από 1 έως 8 Γενικό δίκτυο δ = 3 Οι διεργασίες είναι αριθµηµένες από 1 έως 8 Οι διεργασίες έχουν µοναδικές ταυτότητες Οι διεργασίες έχουν µοναδικές ταυτότητες Πρώτος Γύρος αποστολή µηνυµάτων

Παράδειγµα Εκτέλεσης Αλγόριθµου Floodax Παράδειγµα Εκτέλεσης Αλγόριθµου Floodax Εστω ένα σύγχρονο κατανεµηµένο Εστω ένα σύγχρονο κατανεµηµένο Γενικό δίκτυο δ = 3 Οι διεργασίες είναι αριθµηµένες από 1 έως 8 Γενικό δίκτυο δ = 3 Οι διεργασίες είναι αριθµηµένες από 1 έως 8 Οι διεργασίες έχουν µοναδικές ταυτότητες Οι διεργασίες έχουν µοναδικές ταυτότητες Πρώτος Γύρος αποστολή µηνυµάτων Πρώτος Γύρος αποστολή µηνυµάτων εύτερος Γύρος εύτερος Γύρος Εκλογή αρχηγού διεργασία 2 Χαρακτηριστικά του Αλγόριθµου Floodax Απόδειξη Ορθότητας Εστω n διεργασίες και m κανάλια, όπου η διεργασία µε τη µεγαλύτερη ταυτότητα είναι η i max Η διεργασία i max εκλέγεται αρχηγός στο τέλος του γύρου δ Καµία διεργασία εκτός της i max δεν είναι σε κατάσταση εκλεγµένη Η χρονική πολυπλοκότητα είναι O (diam(g)) Η πολυπλοκότητα επικοινωνίας είναι O (diam(g) m) Θεώρηµα Στον αλγόριθµο Floodax η διεργασία i max εκλέγεται αρχηγός στο τέλος του γύρου δ Απόδειξη: Αρκεί να δείξουµε ότι µετά απο δ γύρους, η µεταβλιτή αρχηγός imax = true. Παρατηρούµε ότι µετά από r γύρους, η ταυτότητα της i max έχει φτάσει όλες τις διεργασίες που ϐρίσκονται σε απόσταση r από την i max. Εποµένως, στο τέλος του γύρου δ κάθε διεργασία ϑα έχει λάβει την ταυτότητα της i max.

Σύνοψη 2 ης ιάλεξης Σύνοψη Μαθήµατος Σύγχρονα Κατανεµηµένα Συστήµατα Μοντελοποίηση Συστήµατος Σφάλµατα Μέτρηση πολυπλοκότητας Πρόβληµα Εκλογής Αρχηγού Ορισµός Προβλήµατος Κατανεµηµένοι Αλγόριθµοι σε ίκτυα ακτυλίου Κατανεµηµένοι Αλγόριθµοι σε Γενικά ίκτυα Σύνοψη Μαθήµατος Σύνοψη Μαθήµατος Βιβλιογραφία Επόµενο Μάθηµα Σύγχρονα Κατανεµηµένα Συστήµατα Μοντελοποίηση Συστήµατος Πρόβληµα Εκλογής Αρχηγού ίκτυα ακτυλίου Αλγόριθµος των LeLann, Chang και Roberts Γενικά ίκτυα Αλγόριθµος Floodax Βιβλιογραφία (1) Βιβλιογραφία (2) Βιβλίο Distributed Algorithms" (N.Lynch) Σηµειώσεις του µαθήµατος Βιβλίο Κατανεµηµένα Συστήµατα µε Java (Ι.Κ.Κάβουρας, Ι.Ζ.Μήλης, Γ.Β.Ξυλωµένος, Α.Α.Ρουκουνάκη) 1. Κεφάλαιο 6: Εκλογή Αρχηγού Βιβλίο Distributed Computing Fundamentals, Simulations, and Advanced Topics" (H.Attiya, J.Welch) 1. Κεφάλαιο 2: Basic Algorithms in essage Passing Systems -- Μόνο 2.1 2. Κεφάλαιο 3: Leader Election in Rings -- Μόνο 3.1, 3.4 1. Κεφάλαιο 2: odelling I: Synchronous Network odel 2. Κεφάλαιο 3: Leader Election in a Synchronous Ring 3. Κεφάλαιο 4: Algorithms in General Synchronous Networks -- Μόνο 4.1, 3.4 Βιβλίο Introduction to Distributed Algorithms" (G.Tel) 1. Κεφάλαιο 2: The odel -- Μόνο 2.1 (2.1.1, 2.1.3), 2.4 2. Κεφάλαιο 7: Election Algorithms Βιβλίο Distributed Systems, Concepts and Design" (G.Coulouris, J.Dollimore, T.Kindberg) 1. Κεφάλαιο 2: System odels 2. Κεφάλαιο 11: Coordination and Agreement -- Μόνο 11.3 Βιβλίο Distributed Systems: Principles and Paradigms" (A.Tanenbaum,.Steen) 1. Κεφάλαιο 5: Synchronization -- Μόνο 5.4

Επόµενο Μάθηµα Σύγχρονα Κατανεµηµένα Συστήµατα Γενικά ίκτυα Αναζήτηση Κατά Εύρος Συντοµότερα Μονοπάτια