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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Consensus and related problems

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

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

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

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

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

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

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

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

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

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

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

ΙΑΛΕΞΗ 6 Η. ίκτυα Υπολογιστών & Επικοινωνία. ιδάσκουσα: : ρ. Παντάνο Ρόκου Φράνκα. ίκτυα Υπολογιστών και Επικοινωνία. ιάλεξη 6: H Πολύπλεξη

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

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

Προβλήµατα. 1st International Olympiad in Informatics Held in Pravetz, Bulgaria May 16-19, 1989.

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

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή

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

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

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

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

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

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

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

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

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


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

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

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

Άπληστοι Αλγόριθµοι (CLR, κεφάλαιο 17)

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

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

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

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

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

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

for for for for( . */

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

Πανεπιστήµιο Θεσσαλίας

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

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

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

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

ΕΕ728 Προχωρηµένα Θέµατα Θεωρίας Πληροφορίας 11η διάλεξη

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

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

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

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

Transcript:

Προηγούµενο Μάθηµα Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Ιωάννης Χατζηγιαννάκης ευτέρα, 22 Οκτωβρίου, 2007 Αίθουσα Β3 Υλικό µαθήµατος Σηµειώσεις, Βιβλιογραφία, ιαδίκτυο ιαδικασία Τυπικά Θέµατα, Υλη, Ασκήσεις, Φροντιστήρια, Εργαστήρια Εισαγωγή στα Κατανεµηµένα Συστήµατα Ορισµός Βασικά προβλήµατα Απαιτήσεις Λειτουργικότητας Σχεδιαστικές Προκλήσεις Τυπικά Θέµατα Ερώτηση Προηγούµενης ιάλεξης Θεωρία 2 ϑεµατικές ενότητες 1. Σύγχρονα Κατανεµηµένα Συστήµατα 2. Ασύγχρονα Κατανεµηµένα Συστήµατα Ασκήσεις (2) Ερωτήσεις ιαλέξεων (6+) Πρακτική Υλοποίηση κατανεµηµένων αλγορίθµων Εργαστήρια (4) Βαθµολογία Ασκήσεις 30% και οι δυο ασκήσεις Εξέταση -- 70% Εργαστήρια +0.75 για κάθε επιτυχηµένη παρακολούθηση (bonus) Ερωτήσεις ιαλέξεων +0.2 για κάθε σωστή απάντηση (bonus) Ερώτηση 1 ης ιάλεξης Πως µπορούµε να συγχρονίσουµε τα ϱολόγια δύο υπολογιστών που συνδέονται από ένα τοπικό δίκτυο χωρίς την χρήση εξωτερικής πηγής; Πως µπορούµε να συγχρονίσουµε τα ϱολόγια δύο υπολογιστών διαφορετικών δυνατοτήτων (π.χ. ο ένας έχει ϱολόι µεγαλύτερης ακριβείας); Τι περιορισµοί υπάρχουν στην ακρίβεια συγχρονισµού; Παράδοση σήµερα Σύντοµες απαντήσεις

Γενικά Φυσικά Ρολόγια Η παρουσία ενός ϱολογιού µπορεί να χρησιµοποιηθεί για την αντιµετώπιση πολλών προβληµάτων Πρόβληµα συγχρονισµού Πρόβληµα επικύρωσης δοσοληψιών Πρόβληµα πιστοποίησης... [B.Liskov, PODC 91] Οι κόµβοι/διεργασίες διαθέτουν ένα τοπικό ϱολόι Αντίθετα απο τα κεντρικοποιηµένα συστήµατα, δεν υπάρχει ένα κοινό κεντρικό ϱολόι Οταν δύο διεργασίες ελέγξουν το ϱολόι την στιγµή t ϑέλουµε να διαβάσουν και οι δύο την τιµή t Ιδανικά t = t -- χωρίς αυτό να είναι απόλυτο Σε επίπεδο λογισµικού, η ώρα την στιγµή t είναι C(t) = H(t) α + β, όπου H(t) -- η τιµή του ϕυσικού ϱολογιού α -- η µονάδα µέτρησης του ϕυσικού ϱολογιού β -- η τιµή της ώρας 0 (διόρθωση) Τα ϱολόγια δεν είναι τέλεια, δηλ. C(t) t Ακρίβεια Η ακρίβεια του ϕυσικού ϱολογιού (επίπεδο υλικό) χαρακτηρίζεται ως προς: Ρυθµός απόκλισης (drift) -- ο ϱυθµός µε τον οποίο το ϱολόι επιβραδύνει ή επιταχύνει κατά την µέτρηση του χρόνου ιαφορά (skew) -- Η απόλυτη διαφορά C1(t) C2(t) µεταξύ των µετρήσεων δύο ϱολογιών την χρονική στιγµή t Συγχρονισµός Ρολογιών 2 ιεργασιών Συγχρονισµός Ρολογιών Πολλών Υπολογιστών Εστω 2 διεργασίες Pu, Pv tu, tv οι τιµές των τοπικών ϱολογιών Η Pu στέλνει περιοδικά την τιµή tu στην Pv Η Pv ϑέτει το τοπικό ϱολόι στην τιµή t = tu + Troundtrip 2 Η µέτρηση της Troundtrip, σε πραγµατικές συνθήκες, είναι αρκετά ακριβής, δηλ. µικρός ϱυθµός απόκλισης ρ Λόγω του ϱυθµού απόκλισης, µια επόµενη χρονική στιγµή t > t, τα δυο ϱολόγια µπορεί να παρουσιάζουν διαφορά Η Pu µπορεί να υπολογίσει τα άνω και κάτω όρια για την µετάδοση ενός µηνύµατος (tmax, tmin) Η Pu επιλέγει ϱυθµό συγχρονισµού td = tmax+tmin, όπου η µέγιστη 2 tmax+tmin διαφορά είναι 2 Με τη µέθοδο Cristian µπορεί να υπολογιστεί td = troundtrip 2 tmin Χαρακτηριστικά µεθόδου Cristian Η ανάλυση της απόδοσης µπορεί να γίνει µε την χρήση πιθανοτικών τεχνικών οι tmin, tmax, Troundtrip είναι τυχαίες µεταβλητές Η µέθοδος προσαρµόζεται στις τοπικές συνθήκες του δικτύου αναλόγως µε τις µέτρησης των tmin, tmax, Troundtrip από την Pu Τι γίνεται µε την διεργασία Pu ; Το σύστηµα µπορεί να παρουσιάσει περιορισµένη κλιµάκωση Τα κανάλια επικοινωνίας της Pu λαµβάνουν µεγάλο όγκο µηνυµάτων Η Pu µπορεί να παρουσιάσει καθυστερήσεις σε περιπτώσεις ταυτόχρονων αιτήσεων

RFC 958: Network Time Protocol (NTP) Requests For Comments Μία σειρά εγγράφων που γράφονται από τους σχεδιαστές των πρωτοκόλλων του ιαδικτύου. Κάθε ένα από τα οποία είναι γνωστό µε έναν αριθµό. Οι λεπτοµέρειες των πρωτοκόλλων επικοινωνίας του ιαδικτύου εκδόθηκαν σε αυτή τη σειρά. http://www.faqs.org/rfcs/rfc958.html Συγχρονίζει τα τοπικά ϱολόγια διεργασιών που συνδέονται µέσω του διαδικτύου µε τις ακόλουθες προδιαγραφές Παρέχει ανοχή σε σφάλµατα επικοινωνίας ακόµα και για µεγάλα χρονικά διαστήµατα Επιτρέπει κλιµάκωση για πολύ µεγάλο αριθµό κόµβων Επιτυγχάνει ακρίβεια συγχρονισµού σε µερικές δεκάδες ms σε κανάλια του διαδικτύου και λίγα ms σε τοπικά δίκτυα Σύνοψη 2 ης ιάλεξης Προηγούµενο Μάθηµα Προηγούµενο Μάθηµα Ερώτηση Προηγούµενης ιάλεξης Σύγχρονα Κατανεµηµένα Συστήµατα Μοντελοποίηση Συστήµατος Σφάλµατα Μέτρηση πολυπλοκότητας Πρόβληµα Εκλογής Αρχηγού Ορισµός Προβλήµατος Κατανεµηµένοι Αλγόριθµοι σε ίκτυα ακτυλίου Κατανεµηµένοι Αλγόριθµοι σε Γενικά ίκτυα Σύνοψη Μαθήµατος Σύνοψη Μαθήµατος Ερώτηση ιάλεξης Επόµενο Μάθηµα Μοντέλο ιεργασιών Αποτελείται από µία συλλογή υπολογιστικών µονάδων ή επεξεργαστές Οι επεξεργαστές εκτελούν µία συλλογή απο διεργασίες Μια διεργασία εκτελείτε µόνο απο ένα επεξεργαστή Κάθε επεξεργαστής εκτελεί µόνο µία διεργασία Οι µονάδες του συστήµατος είναι συνδεδεµένες µε ένα συνεκτικό δίκτυο (υπάρχει 1 µονοπάτι που µεταξύ οποιουδήποτε Ϲευγαριού διεργασιών) Ορίζουµε το δίκτυο ως ένα γράφηµα G = (V, E) αποτελείτε απο ένα πεπερασµένο σύνολο V απο σηµεία οι κορυφές απεικονίζουν τις υπολογιστικές µονάδες του συστήµατος -- n = V µια συλλογή E από διατεταγµένα Ϲεύγη στοιχείων του V (E [V] 2 ) -- οι ακµές απεικονίζουν τα κανάλια επικοινωνίας του δικτύου -- m = E Κανάλια Επικοινωνίας Τα κανάλια είναι οι ακµές του γραφήµατος Οι ακµές του γραφήµατος µπορεί να είναι κατευθυνόµενες δεν υπάρχει αµφίδροµη επικοινωνία Οι διεργασίες µπορούν να διαχωρίσουν τα κανάλια επικοινωνίας και να επιλέξουν κάποιο συγκεκριµένο b b 3 2 Η επικοινωνία µέσω των καναλίων γίνεται µε την ανταλλαγή µηνυµάτων Υποθέτουµε ότι κάθε κανάλι επικοινωνίας µπορεί να δεχτεί µόνο ένα µήνυµα τη ϕορά Θεωρούµε ότι υπάρχει ένα δεδοµένο αλφάβητο µηνυµάτων παραµένει σταθερό το σύµβολο null δηλώνει την απουσία µηνύµατος a b 1 a 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 χαρακτηρίζεται απο ένα σύνολο καταστάσεων statesu Ορισµένες τις ονοµάζουµε αρχικές καταστάσεις startu Ορισµένες τις ονοµάζουµε καταστάσεις τερµατισµού haltu ιαθέτει µια γεννήτρια εξερχόµενων µηνυµάτων msgsu : statesu nbrsu out {null} δεδοµένης της τρέχουσας κατάστασης δηµιουργεί κάποια µηνύµατα για τις γειτονικές διεργασίες ιαθέτει µία συνάρτηση αλλαγής κατάστασης transu : statesu ( {null}) nbrsin u statesu δεδοµένης της τρέχουσας κατάστασης τα µηνύµατα που παραλήφθηκαν υπολογίζει την επόµενη κατάσταση της διεργασίας Σε κάθε αλγόριθµο γίνεται διάκριση των διεργασιών σε 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 ϐρίσκεται σε κάποια κατάσταση statesu ο χαρακτηρισµός της κατάστασης όλων των διεργασιών καθορίζει την συνολική κατάσταση του συστήµατος Ci

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

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

Ρεαλιστικό Πλαίσιο Αν όµως οι διεργασίες δεν συµµερίζονται τον κοινό στόχο ; π.χ. µια διεργασία δεν ϑελει να εκλεχθεί αρχηγος, µια διεργασία δεν ϑέλει να περιµένει την σειρά της για να δεσµεύσει τον πόρο Οταν ϑέλουµε να µελετήσουµε την συµπεριφορά έξυπνων παικτών, τέτοιου είδους καταστάσεις είναι πολύ πιθανό να προκύψουν κατα την εκτέλεση του συστήµατος Πως τις µοντελλοποιούµε ; Πως τις µελετάµε ; Οικονοµική Θεωρία και Αλγόριθµοι : µάθηµα ελεύθερης επιλογής, χειµερινού εξαµήνου, του τοµέα Εφαρµογών και Θεµελιώσεων. ιδάσκεται από τους καθηγητές Ελευθέριο Κυρούση και Παύλο Σπυράκη Φέτος το Nobel για τα Οικονοµικά δώθηκε στην περιοχή της ϑεωρίας παιγνίων (πάλι) Σύνοψη 2 ης ιάλεξης Προηγούµενο Μάθηµα Προηγούµενο Μάθηµα Ερώτηση Προηγούµενης ιάλεξης Σύγχρονα Κατανεµηµένα Συστήµατα Μοντελοποίηση Συστήµατος Σφάλµατα Μέτρηση πολυπλοκότητας Πρόβληµα Εκλογής Αρχηγού Ορισµός Προβλήµατος Κατανεµηµένοι Αλγόριθµοι σε ίκτυα ακτυλίου Κατανεµηµένοι Αλγόριθµοι σε Γενικά ίκτυα Σύνοψη Μαθήµατος Σύνοψη Μαθήµατος Ερώτηση ιάλεξης Επόµενο Μάθηµα Γενικά Παράδειγµα Πρόβληµα Εκλογής Αρχηγού Η εκλογή αρχηγού σε ένα δίκτυο απαιτεί την επιλογή µιας µοναδικής διεργασίας που ϑα ϐρεθεί στην κατάσταση αρχηγός (ή εκλεγµένη ) ενώ όλες οι άλλες διεργασίες ϐρίσκονται στην κατάσταση µη-αρχηγός (ή µη εκλεγµένη ). Το πρόβληµα της εκλογής αρχηγού παρουσιάστηκε για πρώτη ϕορά από τον 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 ίκτυο δακτυλίου έως 8 δεξιόστροφα ίκτυο δακτυλίου έως 8 δεξιόστροφα

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

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

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

Ο Αλγόριθµος των Hirschberg και Sinclair Πολυπλοκότητα Επικοινωνίας (1) Αλγόριθµος HS Οι διεργασίες διατηρούν µια µεταβλητή αρχηγός η οποία αρχικά είναι false, και ένα µετρητή ϕάσης l, αρχικά 0. Κάθε διεργασία u λειτουργεί σε ϕάσεις (0, 1, 2,...). Στην αρχή κάθε ϕάσης l, η διεργασία u στέλνει µηνύµατα που περιέχουν την ταυτότητα της και ένα µετρητή προς τους δύο γείτονές της. Ο µετρητής στα µηνύµατα τίθεται στην τιµή 2 l. Αν επιστρέψουν και τα δύο αντίγραφα τότε η u συνεχίζει µε τη ϕάση l + 1. Οταν µια διεργασία λάβει ένα µήνυµα, συγκρίνει την ταυτότητα του µηνύµατος µε την δικιά τους. Αν είναι µεγαλύτερη, την προωθεί στον επόµενο γείτονα. Αν είναι µικρότερη, δεν κάνει τίποτα. Αν είναι ίδια και ο µετριτής είναι ϑετικός, µεταβαίνει στην κατάσταση εκλεγµένη ϑέτοντας την µεταβλητή αρχηγός στην τιµή true. Θεώρηµα Ο αλγόριθµος HS ανταλλάσει O(n log n) µηνύµατα. Απόδειξη: Στη ϕάση 0 κάθε διεργασία στέλνει την ταυτότητα της προς τις δύο κατευθύνσεις σε απόσταση 1. Εφόσον τα µηνύµατα δεν καταστραφούν, επιστρέφουν πίσω στην διεργασία. Αρα στη ϕάση 0 ανταλλάσονται το πολύ 4n µηνύµατα. Σε κάποια ϕάση l > 0 µια διεργασία στέλνει την ταυτότητα της αν και τα δύο µηνύµατα επέστρεψαν στη ϕάση l 1, δηλαδή καµία άλλη διεργασία σε απόσταση το πολύ 2 l 1 δεν είχε µεγαλύτερη ταυτότητα. Αυτό συνεπάγεται ότι σε οποιαδήποτε οµάδα από 2 l 1 + 1 συνεχόµενες διεργασίες το πολύ µία ϑα στείλει την ταυτότητα της στη ϕάση l. Πολυπλοκότητα Επικοινωνίας (2) Χρονική Πολυπλοκότητα Συνεπώς το πολύ n 2 l 1 + 1 διεργασίες ϑα στείλουν την ταυτότητα τους στη ϕάση l. Αρα στη ϕάση l ανταλλάσονται το πολύ ( ) n 4 2 l l 8n + 1 µηνύµατα. Ο συνολικός αριθµός των ϕάσεων είναι 1 + log n, οπότε ο συνολικός αριθµός µηνυµάτων είναι µικρότερος από 8n (1 + logn ). Θεώρηµα Ο αλγόριθµος HS απαιτεί O(n) γύρους. Απόδειξη: Για κάθε ϕάση l απαιτούνται 2 l+1 γύροι για τις ταυτότητες να διασχύσουν όλο το δακτύλιο και να επιστρέψουν. Εξαιρείται η τελευταία ϕάση που χρειάζεται ακριβώς n γύρους µέχρι την ανακήρυξη του αρχηγού. Αρα ο συνολικός αριθµός γύρων που απαιτούνται για τον HS είναι log n 1 2 l+1 + n = 2 log n +1 2 + n < 5n l=0

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

Παράδειγµα Εκτέλεσης Αλγόριθµου Floodax Παράδειγµα Εκτέλεσης Αλγόριθµου Floodax Γενικό δίκτυο δ = 3 Γενικό δίκτυο δ = 3 έως 8 έως 8 Πρώτος Γύρος αποστολή µηνυµάτων Πρώτος Γύρος αποστολή µηνυµάτων εύτερος Γύρος Παράδειγµα Εκτέλεσης Αλγόριθµου Floodax Χαρακτηριστικά του Αλγόριθµου Floodax Γενικό δίκτυο δ = 3 έως 8 Πρώτος Γύρος αποστολή µηνυµάτων εύτερος Γύρος Εκλογή αρχηγού διεργασία 2 Εστω n διεργασίες και m κανάλια, όπου η διεργασία µε τη µεγαλύτερη ταυτότητα είναι η imax Η διεργασία imax εκλέγεται αρχηγός στο τέλος του γύρου δ Καµία διεργασία εκτός της imax δεν είναι σε κατάσταση εκλεγµένη Η χρονική πολυπλοκότητα είναι O (diam(g)) Η πολυπλοκότητα επικοινωνίας είναι O (diam(g) m)

Απόδειξη Ορθότητας Θεώρηµα Στον αλγόριθµο Floodax η διεργασία imax εκλέγεται αρχηγός στο τέλος του γύρου δ Απόδειξη: Αρκεί να δείξουµε ότι µετά απο δ γύρους, η µεταβλιτή αρχηγόςimax = true. Παρατηρούµε ότι µετά από r γύρους, η ταυτότητα της imax έχει φτάσει όλες τις διεργασίες που ϐρίσκονται σε απόσταση r από την imax. Εποµένως, στο τέλος του γύρου δ κάθε διεργασία ϑα έχει λάβει την ταυτότητα της imax. Σύνοψη 2 ης ιάλεξης Προηγούµενο Μάθηµα Προηγούµενο Μάθηµα Ερώτηση Προηγούµενης ιάλεξης Σύγχρονα Κατανεµηµένα Συστήµατα Μοντελοποίηση Συστήµατος Σφάλµατα Μέτρηση πολυπλοκότητας Πρόβληµα Εκλογής Αρχηγού Ορισµός Προβλήµατος Κατανεµηµένοι Αλγόριθµοι σε ίκτυα ακτυλίου Κατανεµηµένοι Αλγόριθµοι σε Γενικά ίκτυα Σύνοψη Μαθήµατος Σύνοψη Μαθήµατος Ερώτηση ιάλεξης Επόµενο Μάθηµα Σύνοψη Μαθήµατος Βιβλιογραφία (1) Σύγχρονα Κατανεµηµένα Συστήµατα Μοντελοποίηση Συστήµατος Πρόβληµα Εκλογής Αρχηγού ίκτυα ακτυλίου Αλγόριθµος των LeLann, Chang και Roberts Αλγόριθµος των Hirschberg και Sinclair Γενικά ίκτυα Αλγόριθµος Floodax εύτερο κεφάλαιο από τις σηµειώσεις του µαθήµατος Τόµος Ι από τις Πανεπιστηµιακές Σηµειώσεις Θεµελιώδη Ζητήµατα Κατανεµηµένων Συστηµάτων (Π.Σπυράκης, Β.Ταµπακάς): 1. Κεφάλαιο 3: Βασικά πρωτόκολλα Εκλογής Αρχηγού Μόνο 3.1, 3.4 Βιβλίο Κατανεµηµένα Συστήµατα µε 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

Βιβλιογραφία (2) Ερώτηση ιάλεξης Βιβλίο Distributed Algorithms" (N.Lynch) 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 Ερώτηση 2 ης ιάλεξης Θεωρείστε ένα σύγχρονο κατανεµηµένο σύστηµα µε n διεργασίες συνδεδεµένες µέσω ενός δικτύου δακτυλίου. Κάθε διεργασία έχει µια µοναδική ταυτότητα, γνωρίζει το σύνολο των διεργασιών και την τοπολογία του δικτύου. Σχεδιάστε έναν αλγόριθµο για το πρόβληµα της εκλογής αρχηγού που να επιτυγχάνει πολυπλοκότητα επικοινωνίας O(n). Συζητήστε την χρονική πολυπλοκότητα του αλγόριθµου σας. Παράδοση στην επόµενη διάλεξη Σύντοµες απαντήσεις Επόµενο Μάθηµα Σύγχρονα Κατανεµηµένα Συστήµατα Γενικά ίκτυα Αναζήτηση Κατά Εύρος Συντοµότερα Μονοπάτια