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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3 Αναδροµή και Επαγωγή

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΑΠΟΙΚΙΑΣ ΜΥΡΜΗΓΚΙΩΝ ANT COLONY OPTIMIZATION METHODS

Ποιές οι θεµελιώδεις δυνατότητες και ποιοί οι εγγενείς περιορισµοί των υπολογιστών ; Τί µπορούµε και τί δε µπορούµε να υπολογίσουµε (και γιατί);

Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές

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

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

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

Κεφάλαιο 11 Ένωση Ξένων Συνόλων

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

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

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

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

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

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

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

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).


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

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

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

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοηµοσύνη Ι» 7ο Φροντιστήριο 15/1/2008

Ελάχιστα Γεννητορικά ένδρα

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

Πρακτική µε στοιχεία στατιστικής ανάλυσης

Κεφάλαιο 5ο: Εντολές Επανάληψης

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

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

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

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

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

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ

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

Transcript:

Σκοπός του µαθήµατος Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Ιωάννης Χατζηγιαννάκης ευτέρα, 7 Ιανουαρίου, 2008 Αίθουσα Β3 Μελέτη ϐασικών ϑεωρητικών µοντέλων αναπαράστασης του κατανεµηµένου υπολογισµού Κατανόηση των ϐασικών προβληµάτων που αντιµετωπίζουν τα κατανεµηµένα σύστηµα υπολογιστών Μελέτη ορισµένων χαρακτηριστικών µηχανισµών για την επίλυση τους Σχεδιασµός κατανεµηµένων αλγορίθµων Χρήση αλγοριθµικών τεχνικών για την ανάλυση της λειτουργίας τους Υλοποίηση κατανεµηµένων αλγορίθµων Πειραµατική αξιολόγηση κατανεµηµένων αλγορίθµων Κατανεµηµένα συστήµατα Μοντελοποίηση του Κατανεµηµένου Υπολογισµού Ενα κατανεµηµένο σύστηµα: Αποτελείται από ένα πλήθος αυτόνοµων κόµβων που επικοινωνούν µεταξύ τους µε κάποιο τρόπο για την επίτευξη ενός συγκεκριµένου κοινού στόχου Μπορεί να χαρακτηρίζεται από πλήθος παραµέτρων Πλήθος περιπτώσεων που µπορεί να χρησιµοποιηθεί ένα τέτοιο σύστηµα Πλήθος απαιτήσεων λειτουργικότητας ανάλογα µε την εφαρµογή Η µελέτη των κατανεµηµένων συστηµάτων είναι ιδιαίτερα περίπλοκη διαδικασία. Η µελέτη ενός κατανεµηµένου συστήµατος σε ϑεωρητικό επίπεδο προϋποθέτει την µοντελοποίηση του συστήµατος Αφαίρεση των τεχνικών λεπτοµερειών Αυτό προϋποθέτει ότι µπορούµε να αναγνωρίσουµε τα τεχνικά χαρακτηριστικά που έχουν κεντρική σηµασία Οσο ποιο αφαιρετικό είναι το µοντέλο, τόσο γενικότερη είναι η µελέτη µας Ο κατανεµηµένος υπολογισµός µπορεί να διαφοροποιηθεί αν αλλάξει το µοντέλο να γίνει ποιο αποδοτικός να δώσει λάθος / µη-επιθυµητό αποτέλεσµα

Βασικά Μοντέλα Αναπαράστασης Μοντελοποίηση του Κατανεµηµένου Υπολογισµού Επικοινωνίας Σύγχρονη Εκτέλεση Ασύγχρονη Εκτέλεση Αυτόµατα Εισόδου / Εξόδου Τοπολογίας ικτύου ίκτυα ακτυλίου Κατευθηνόµενα / µή-κατευθηνόµενα Γενικά ίκτυα Ισχυρά Συνεκτικά ίκτυα Κλίκες Παρουσίας Σφαλµάτων Σφάλµατα Επικοινωνίας Σφάλµατα Τερµατισµού Βυζαντινά Σφάλµατα Η επιλογή ενός συγκεκριµένου µοντέλου εξαρτάται από το πρόβληµα που εξετάζουµε τον τύπο του αλγορίθµου που µελετάµε Ο στόχος είναι να µας επιτρέπει να αναλύσουµε το σύστηµα Σε ένα µοντέλο µπορουµε να ϐεβαιωθούµε ότι ένας καταναµηµένος αλγόριθµος λειτουργεί σωστά (λύνει το πρόβληµα) µετρήσουµε τον χρόνο εκτέλεσης το πλήθος των δεδοµένων που ανταλλάσονται Αναζητούµε το ελάχιστο µοντέλο ποιο αφαιρετικό µοντέλο Το µοντέλο πρέπει να είναι ιδιαίτερα ακριβές δίκαια σύγκρηση απόδοσης διαφορετικών συστηµάτων Μοντέλο ιεργασιών Αποτελείται από µία συλλογή υπολογιστικών µονάδων ή επεξεργαστές Οι επεξεργαστές εκτελούν µία συλλογή απο διεργασίες Μια διεργασία εκτελείτε µόνο απο ένα επεξεργαστή Κάθε επεξεργαστής εκτελεί µόνο µία διεργασία Οι µονάδες του συστήµατος είναι συνδεδεµένες µε ένα συνεκτικό δίκτυο (υπάρχει 1 µονοπάτι που µεταξύ οποιουδήποτε Ϲευγαριού διεργασιών) Ορίζουµε το δίκτυο ως ένα γράφηµα G = (V, E) αποτελείτε απο ένα πεπερασµένο σύνολο V απο σηµεία οι κορυφές απεικονίζουν τις υπολογιστικές µονάδες του συστήµατος -- n = V µια συλλογή E από διατεταγµένα Ϲεύγη στοιχείων του V (E [V] 2 ) -- οι ακµές απεικονίζουν τα κανάλια επικοινωνίας του δικτύου -- m = E Κανάλια Επικοινωνίας Τα κανάλια είναι οι ακµές του γραφήµατος Οι ακµές του γραφήµατος µπορεί να είναι κατευθυνόµενες δεν υπάρχει αµφίδροµη επικοινωνία Οι διεργασίες µπορούν να διαχωρίσουν τα κανάλια επικοινωνίας και να επιλέξουν κάποιο συγκεκριµένο b b 3 2 Η επικοινωνία µέσω των καναλίων γίνεται µε την ανταλλαγή µηνυµάτων Υποθέτουµε ότι κάθε κανάλι επικοινωνίας µπορεί να δεχτεί µόνο ένα µήνυµα τη ϕορά Θεωρούµε ότι υπάρχει ένα δεδοµένο αλφάβητο M µηνυµάτων παραµένει σταθερό το σύµβολο null δηλώνει την απουσία µηνύµατος a b 1 a a

Οι Καταστάσεις των ιεργασιών Εκτέλεση αλγόριθµου, Βήµατα και Γύροι Κάθε διεργασία u V χαρακτηρίζεται απο ένα σύνολο καταστάσεων statesu Ορισµένες τις ονοµάζουµε αρχικές καταστάσεις startu Ορισµένες τις ονοµάζουµε καταστάσεις τερµατισµού haltu ιαθέτει µια γεννήτρια εξερχόµενων µηνυµάτων msgsu : statesu nbrsu out M {null} δεδοµένης της τρέχουσας κατάστασης δηµιουργεί κάποια µηνύµατα για τις γειτονικές διεργασίες ιαθέτει µία συνάρτηση αλλαγής κατάστασης transu : statesu (M {null}) nbrsin u statesu δεδοµένης της τρέχουσας κατάστασης τα µηνύµατα που παραλήφθηκαν υπολογίζει την επόµενη κατάσταση της διεργασίας Ολες οι διεργασίες, επαναλαµβάνουν συντονισµένα τα ακόλουθα δύο ϐήµατα: 1 o Βήµα 1. Εφαρµογή της γεννήτριας µηνυµάτων 2. Παραγωγή µηνυµάτων για τους εξερχόµενους γείτονες 3. Αποστολή µηνυµάτων µέσω των αντίστοιχων καναλιών 2 o Βήµα 1. Εφαρµογή της συνάρτησης αλλαγής κατάστασης 2. ιαγραφή όλων των µηνυµάτων από τα κανάλια. Ο συνδυασµός των δύο ϐηµάτων ονοµάζεται γύρος Σφάλµατα Βυζαντινά Σφάλµατα Ορίζουµε δύο τύπους σφαλµάτων 1. σφάλµατα που εµφανίζονται κατά την αποστολή µηνυµάτων 2. σφάλµατα που παρουσιάζονται στις υπολογιστικές µονάδες (στους επεξεργαστές) Σφάλµα Επικοινωνίας: αποτυχία κατά την αποστολή ενός µηνύµατος σε ένα κανάλι του δικτύου Τερµατικό σφάλµα: Η διεργασία σταµατάει είτε πριν, είτε µετά, είτε κατά την εκτέλεση κάποιου τµήµατος του 1 oυ ή του 2 oυ ϐήµατος ενός γύρου Εποµένως, µπορεί να συµβεί ένα σφάλµα κατά την παραγωγή των µηνυµάτων, οπότε να σταλεί ένα µέρος των εξερχόµενων µηνυµάτων Το δίκτυο περιέχει ελαττωµατικές διεργασίες που δεν σταµατούν αλλά συναιχίζουν να συµµετέχουν στην εκτέλεση του αλγορίθµου. Η συµπεριφορά των διεργασιών µπορεί να είναι τελείως ανεξέλεγκτη. Η εσωτερική κατάσταση µια ελαττωµατικής διεργασίες µπορεί να αλλάξει κατα την διάρκεια ενός γύρου χωρίς να υπάρχει κάποιο µήνυµα. Μια ελαττωµατική διεργασία µπορεί να στείλει µηνύµατα µε οποιοδήποτε περιεχόµενο, ανεξάρτητα από τις οδηγίες του κατανεµηµένου αλγορίθµου που ϑα έπρεπε να τρέχει. Ονοµάζουµε τέτοιου είδους σφάλµατα ως Βυζαντινά σφάλµατα. Μπορούµε να µοντελοποιήσουµε εχθρική συµπεριφορά (π.χ. ϑέµατα ασφάλειας).

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

Χαρακτηρισµός Αλγόριθµου Βασικές αλγοριθµικές λύσεις Σε κάθε αλγόριθµο γίνεται διάκριση των διεργασιών σε 1. Αρχικοποιητές (initiators) Μια διεργασία είναι αρχικοποιητής αν αρχίζει την εκτέλεση του τοπικού της αλγόριθµου τυχαία. 2. Μη-αρχικοποιητές (non-initiators) Ενας µη-αρχικοποιητής εµπλέκεται στον αλγόριθµο µόνο όταν ένα µήνυµα του αλγόριθµου ϕτάνει και προδοτεί την εκτέλεση της τοπικής διεργασίας. Ενας αλγόριθµος καλείται συγκεντρωτικός αν υπάρχει ακριβώς ένας αρχικοποιητής σε κάθε υπολογισµό και αποκεντρωτικός αν ο αλγόριθµος µπορεί να αρχίσει τυχαία από ένα αυθαίρετο υποσύνολο των διεργασιών. Περιφορά Σκυτάλης / Κουπονιού LCR (ο αλγόριθµος των LeLann, Chang και Roberts) LeLannME (ο αλγόριθµος του LeLann) Πλυµµήρα FloodMax, OptFloodMax FloodSet Ενδιάµεσο Επίπεδο Συγχρονισµός Σταθεροποίηση Τυχαιοκρατικοί IR (ο αλγόριθµος των Itai και Rodeh) Πολυπλοκότητα Επικοινωνίας LCR (1) Πολυπλοκότητα Επικοινωνίας LCR (2) Πολυπλοκότητα επικοινωνίας Η πολυπλοκότητα επικοινωνίας ενός σύγχρονου συστήµατος ορίζεται ως τον συνολικό αριθµό µη µηδενικών µηνυµάτων τυπικά µετράται στα πλαίσια του συνολικού αριθµού µη µηδενικών µηνυµάτων (δηλ. δεν προσµετρούνται τα null µηνύµατα) που αποστέλλονται. Η χειρότερη περίπτωση Οι επεξεργαστές είναι τοποθετηµένοι σε ϕθίνουσα σειρά 1 + 2 + 3 +... + n = n 1 i = n(n+1) 2 Αρα της τάξης O(n 2 ) Η καλύτερη περίπτωση Οι επεξεργαστές είναι τοποθετηµένοι σε αύξουσα σειρά (n 1) + n = 2n 1 Αρα της τάξης O(n) Στη µέση περίπτωση εξετάζουµε το Ϲήτηµα πιθανοτικά Εστω ότι οι ταυτότητες έχουν τιµές από 1 έως n Γνωρίζουµε ότι Η πιθανότητα η διεργασία u να ϐρίσκεται στη ϑέση i είναι ίδια για όλες τις διεργασίες και ϑέσεις Για µια διεργασία u υπάρχουν u 1 διεργασίες µε µικρότερη ταυτότητα και n u διεργασίες µε µεγαλύτερη ταυτότητα Παρατηρούµε ότι Το µήνυµα της διεργασίας u µε ταυτότητα 1 διανύει απόσταση 1 Το µήνυµα της διεργασίας u µε ταυτότητα n διανύει απόσταση n

Πολυπλοκότητα Επικοινωνίας LCR (3) Εστω IP i u = u i η πιθανότητα η διεργασία σε απόσταση i από την n 1 διεργασία u να έχει µικρότερη ταυτότητα Εστω IP i u = n u η πιθανότητα η διεργασία σε απόσταση i από την n i διεργασία u να έχει µεγαλύτερη ταυτότητα Εστω IPu,l η πιθανότητα το µήνυµα της διεργασίας u να διανύσει διαδροµή µήκους l ηλαδή όλες οι διεργασίες σε απόσταση l 1 έχουν µικρότερη ταυτότητα απο την διεργασία u και η διεργασία σε απόσταση l έχει µεγαλύτερη ταυτότητα Αρα η IPu,l είναι η πιθανότητα η διεργασία u να έχει την µεγαλύτερη ταυτότητα από όλες τις διεργασίες σε απόσταση l 1 (προς την ϕορά κίνησης των µηνυµάτων) και να έχει µικρότερη ταυτότητα από την διεργασία σε απόσταση l Πολυπλοκότητα Επικοινωνίας LCR (4) Εποµένως IPu,l = IP 1 u IP 2 u... IP l 1 u IP l u = u 1 n 1 u 2 n 2... u 1 + 1 n 1 + 1 n u n l = = (u 1)! (l 1)!(u l)! (n 1)! (l 1)!(n l)! ( u 1 ) l 1 ( n 1 ) n u n l l 1 n u n l Αρα η µέση διαδροµή για τα µηνύµατα της u ϑα είναι n 1 IEu = l IPu,l για u = 1, 2,..., n 1 l=1 Πολυπλοκότητα Επικοινωνίας LCR (5) Το πλήθος των µηνυµάτων που ανταλλάσονται κατα την εκτέλεση του αλγορίθµου, στη µέση διαδροµή είναι n 1 n 1 IE = n + l IPu,l u=1 l=1 =... = n 1 n n + l + 1 l=1 ( ) = n 1 + 1 2 + 1 3 +... + 1 n = n (C + ln n) O (n log n) Υλοποίηση κατανεµηµένων αλγόριθµων Επιλογή τεχνολογικής πλατφόρµας Επιλογή τεχνολογίας υλοποίησης Αποτύπωση αρχικής γνώσης παραµέτρων εισόδου ορισµός εξωτερικών ενεργειών µε interfaces Ορισµός δοµών µηνυµάτων Υλοποίηση διεργασιών Προσθέτουµε κώδικα για την αποσφαλµάτωση και µέτριση απόδοσης Εκτέλεση της υλοποίησης σε πειραµατικό πλαίσιο προσοµοιωτής, εργαστηριακές εγκαταστάσεις µελέτη της συµπεριφοράς του συστήµατος σύµφωνα µε ελεγχόµενα σενάρια µέτρηση της πραγµατικής απόδοσης του συστήµατος αµεση επιβεβαίωση για την εφαρµοσιµότητα µιας λύσης στις πραγµατικές υφιστάµενες τεχνολογίες

Υλοποίηση Αλγόριθµων Εκλογής Αρχηγού ιττή Προσέγγιση Πλατφόρµα TinyOS γλώσσα προγραµµατισµού nesc ύο τύποι δικτύων: ίκτυα ακτυλίου, Γενικά ίκτυα Τρείς αλγόριθµοι: LCR, FloodMax, OptFloodMax Ταυτόχρονη εκκίνηση διεργασιών. Ασύγχρονη εκτέλεση ϐηµάτων. εν είναι σαφές τι είναι ενα ϐήµα. Τα ϱολόγια των διεργασιών δεν ειναι συγχρονισµένα. ιαχείρηση συµβάντων λειτουργικού συστήµατος. Χρήση timer. Εκτέλεση γενικού αλγόριθµου σε ειδική τοπολογία. Απώλια µηνυµάτων. Απόκληση από τις ϑεωρητικές πολυπλοκότητες. Η κάθε προσέγγιση έχει ϑετικά και αρνητικά σηµεία: Η Θεωρητική µελέτη προσφέρει λύσεις που είναι αποδείξιµα σωστές, αποδοτικές... που µπορεί να µην είναι εφαρµόσιµες ή πολύ δύσκολο να προγραµµατιστούν Η πρακτική µελέτη αντιµετωπίζει άµεσα τα τεχνολογικά ϑέµατα... που µπορεί να µην είναι καινοτόµες και αποδοτικές σε µεγάλα συστήµατα Για να είµαστε αποτελεσµατικοί πρέπει να ακολουθήσουµε διττή προσέγγιση. Κύκλος Θεωρητικής και Πειραµατικής Προσέγγισης Καταγραφή Υποθέσεων / Μοντέλου Εντοπισµός αρχικών υποθέσεων Μοντέλο Επικοινωνίας Τοπολογία ικτύου Σφάλµατα Γνώσεις διεργασιών Κατανόηση Προβλήµατος Χαρακτηρισµός Προβλήµατος

Αρχικές Υποθέσεις Μοντέλο Επικοινωνίας Οι ερωτήσεις αντιστοιχούν σε προβλήµατα των ΚΣΙ Προσπαθούµε να περιγράψουµε το ΚΣ (όπου εµφανίζεται το πρόβληµα) Η περιγραφή γίνεται µε αφαιρετικό τρόπο οι αρχικές υποθέσεις Ενα πρόβληµα µπορεί να διαφοροποιηθεί αν αλλάξουν οι αρχικές υποθέσεις είτε να γίνει ποιο εύκολο, είτε ποιο δύσκολο ακόµα και τελείως διαφορετικό Προτού αρχίσουµε να εξετάζουµε το πρόβληµα πρέπει να καταγράψουµε όλες τις αρχικές υποθέσεις που γίνονται Πρέπει να κατανοήσουµε ακριβώς γιατί δίνεται µια αρχική υπόθεση Σύγχρονο δίκτυο επικοινωνίας ή Ασύγχρονο δίκτυο επικοινωνίας ; Η πρώτη άσκηση αφορούσε το σύγχρονο µοντέλο Η δεύτερη άσκηση αφορούσε το ασύγχρονο µοντέλο Η πρώτη διαφορά είναι το ϑέµα συγχρονισµού στην εκτέλεση των ϐηµάτων Η ουσιαστική διαφορά είναι η χρονική απροσδιοριστία ως προς τους χρόνους εκτέλεσης των ϐηµάτων ως προς τους χρόνους ανταλλαγής µηνυµάτων Για την µελέτη της απόδοσης στα ασύγχρονα δίκτυα πρέπει να υποθέσουµε κάποια άνω όρια Η πολυπλοκότητα (χρονική ή µηνυµάτων) εκφράζεται πάντα µε ϐάση αυτών των ορίων Τοπολογία ικτύου Μοντέλο Σφαλµάτων Το δίκτυο µοντελοποιείται σύµφωνα µε ένα γράφηµα επικοινωνίας Κορυφές αντιστοιχούν στις διεργασίες Ακµές αντιστοιχούν στα κανάλια επικοινωνίας Ποιες είναι οι υποθέσεις για το γράφηµα επικοινωνίας ; Είναι ιδιαίτερης κατηγορίας (π.χ. δακτύλιος) ή είναι γενικό ; Κατευθυνόµενο ή µη-κατευθυνόµενο ; Είναι πλήρως συνδεδεµένο ; Γνωρίζουµε το πλήθος των κορυφών και των ακµών ; Πρέπει να κατανοήσουµε ακριβώς το δίκτυο η λύση µας µπορεί να είναι εντελώς λάθος Συνήθως τα προβλήµατα υποθέτουν ένα γενικό, µη-κατευθυνόµενο δίκτυο επικοινωνίας µε n διεργασίες και m κανάλια επικοινωνίας Υπάρχουν σφάλµατα στο σύστηµα ; Σφάλµατα στις διεργασίες Σφάλµατα στα κανάλια επικοινωνίας Τα σφάλµατα είναι παροδικά ; Γνωρίζουµε το πλήθος των σφαλµάτων που µπορούν να συµβούν κατά την εκτέλεση του αλγορίθµου ; Πρέπει να κατανοήσουµε ακριβώς το µοντέλο σφαλµάτων η λύση µας µπορεί να είναι εντελώς λάθος Η µελέτη της απόδοσης ίσως να πρέπει να γίνει σε σχέση µε το πλήθος σφαλµάτων Συνήθως τα προβλήµατα δεν κάνουν υποθέσεις σφαλµάτων τα µελετήσαµε στην 4η διάλεξη

Αρχικές Γνώσεις ιεργασιών Ζητούµενο Πρόβληµα Τι γνωρίζουν οι διεργασίες για το σύστηµα ; Την τοπολογία Την διάµετρο Το πλήθος των διεργασιών Οι διεργασίες έχουν (ή δεν έχουν) µοναδικές ταυτότητες Υπάρχει µια διεργασία που την γνωρίζουν όλες οι άλλες (π.χ., u0) ίνεται είσοδος κάποια τιµή ακέραιος αριθµός iu σύµφωνα κάποιο σύνολο S Πρέπει να κατανοήσουµε ακριβώς γιατί δίνεται (ή δεν δίνεται) ένα κοµµάτι γνώσης Ποιο είναι το Ϲητούµενο ; Ποιο πρόβληµα ϑέλουµε να λύσουµε ; Τι ϑέλουµε να µάθουν οι διεργασίες ; Ταιριάζει σε κάποιο από τα προβλήµατα που έχουµε µελετήσει ; Πως διαφοροποιούνται οι αρχικές υποθέσεις ; Μήπως στις σηµειώσεις υποθέτουµε περισσότερη αρχική γνώση ; Απαιτείται ιδιαίτερη τοπολογία που στην συγκεκριµένη ερώτηση δεν δίνεται ; Πρέπει ο αλγόριθµος να τερµατίζει ; Αρχική Προσέγγιση Σχεδιασµός Λύσης Εχουµε κάποια διαίσθηση για την λύση ; Εχουµε πάρει κάποια πρώτη απόφαση για την λύση που ϑα δώσουµε ; σκεφτείτε το ξανά! µήπως µας έχει ξεφύγει κάτι ; Σκιαγραφήστε την λύση ελέγχουµε αν συµφωνεί µε τις αρχικές υποθέσεις έχουµε χρησιµοποιήσει όλες τις πληροφορίες Είναι η λύση σωστή ; µπορούµε να επιχειρηµατολογήσουµε ; Ποια είναι η πολυπλοκότητα (χρονική, επικοινωνίας) ; Ποια είναι η ανεκτικότητα σε σφάλµατα ; Μήπως υπάρχει καλύτερη λύση ; Χρειάζεται να τρέξουµε κάποιο αλγόριθµο για να αποκτήσουµε κάποια πληροφορία ; εκλογή αρχηγού για να προκύψει µια µοναδική διεργασία (π.χ., u0) καταµέτρηση για να ϐρεθεί το πλήθος των διεργασιών (n) υπολογισµός διαµέτρου Αν το δίκτυο είναι γενικό απαιτείτε κάποια συγκεκριµένη τοπολογία ; χρειαζόµαστε ένα δένδρο / δακτύλιο ; συνήθως κάνει το πρόβληµα πιο εύκολο ή την λύση πιο αποδοτική Αποτύπωση γενικής ιδέας 1 παράγραφος ποια είναι η ϐασική ιδέα ; τι κάνει ο αλγόριθµος ; γιατί είναι σωστός ;

Αποτύπωση Λύσης Αναλυτική καταγραφή µεταβλητών σκοπός χρήση τύπος µεταβλητής αρχική τιµή Αναλυτική καταγραφή µηνυµάτων σκοπός χρήση περιεχόµενα µηνυµάτων Αρχικοποίηση συστήµατος δηµιουργία κάποιας συγκεκριµένης εικονικής τοπολογίας εκτέλεση αλγόριθµου (απόκτηση γνώσης) αρχικοποίηση µεταβλητών Βασικός γύρος εκτέλεσης Ειδικές περιπτώσεις Τερµατισµός Αλλες πληροφορίες Σχεδιασµός Κατανεµηµένου Αλγόριθµου 1. Σύντοµη Περιγραφή 2. Περιγραφή ιεργασιών µεταβλητές τύποι µηνυµάτων αρχικοποίηση 3. Βοηθητικοί Αλγόριθµοι 4. Βασικός Αλγόριθµος περιγραφή εκτέλεσης απλός / τυπικός γύρος εκτέλεσης ειδικές περιπτώσεις 5. Ψευδοκώδικα (αν υπάρχει χρόνος) 6. Ορθότητα Συζήτηση... Απόδειξη 7. Χρονική Πολυπλοκότητα Συζήτηση... Απόδειξη 8. Πολυπλοκότητα Μηνυµάτων Συζήτηση... Απόδειξη Ολοκληρωµένη Σχεδίαση 1η Ασκηση 1ο Πρόβληµα Requests For Comments Μία σειρά εγγράφων που γράφονται από τους σχεδιαστές των πρωτοκόλλων του ιαδικτύου. Κάθε ένα από τα οποία είναι γνωστό µε έναν αριθµό. Οι λεπτοµέρειες των πρωτοκόλλων επικοινωνίας του ιαδικτύου εκδόθηκαν σε αυτή τη σειρά. Η τακτική αποτελεί τη ϐάση της τεχνικής κατοχύρωσης µέσω εγγράφων του ιαδικτύου Περιλαµβάνει συζητήσεις και λεπτοµέρειες πρωτοκόλλων NTP Protocol: http://www.faqs.org/rfcs/rfc958.html Αντίγραφα µπορούν να αναζητηθούν στο www.ietf.org 1 o Πρόβληµα Ο αλγόριθµος FloodMax είναι σχεδιασµένος για γενικά δίκτυα, εποµένως µπορεί να εφαρµοστεί και σε δίκτυα δακτυλίου. (α) Συγκρίνετε την συµπεριφορά του αλγόριθµου FloodMax µε αυτή του αλγόριθµου LCR. Ποιά είναι η ϐασική διαφορά; (ϐ) Θεωρείστε τον αλγόριθµο OptFloodMax όπου οι διεργασίες εκπέµπουν την µέγιστη_ταυτότητα µόνο αν έχει αλλάξει κατά τον προηγούµενο γύρο (δηλ. δεν στέλνουν τον ίδιο κωδικό δύο ϕορές). Τι επίπτωση έχει αυτό στην συµπεριφορά του αλγόριθµου σε δίκτυα δακτυλίου;

Σύγκρηση ιαφορετικών Αλγορίθµων 1η Ασκηση 2ο Πρόβληµα Η σύγκριση διαφορετικών αλγορίθµων ϐασίζεται σε κοινό µοντέλο Μοντέλο επικοινωνίας Τοπολογία δικτύου Αρχική γνώση διεργασιών Παρουσία σφαλµάτων Ποσοτική σύγκριση (ϑεωρητική, πειραµατική) Ορθότητα στο κοινό µοντέλο Χρονική πολυπλοκότητα στο κοινό µοντέλο Πολυπλοκότητα επικοινωνίας στο κοινό µοντέλο Βιωσιµότητα στο κοινό µοντέλο Ποιοτική σύγκριση Παράδειγµα εκτέλεσης Περιγραφή συµπεριφοράς Αξιοποίηση αρχικής γνώσης 2 o Πρόβληµα Θεωρείστε ένα σύγχρονο κατανεµηµένο σύστηµα µε n διεργασίες συνδεδεµένες µέσω ενός γενικού, µη-κατευθυνόµενου δικτύου µε m κανάλια επικοινωνίας, όπου κάθε διεργασία έχει µια µοναδική ταυτότητα αλλά δεν γνωρίζει το σύνολο των διεργασιών, ούτε την τοπολογία του δικτύου. Κάθε διεργασία u δέχεται ως είσοδο έναν ακέραιο αριθµό iu. Σχεδιάστε έναν κατανεµηµένο αλγόριθµο που επιτρέπει σε όλες τις διεργασίες να υπολογίσουν την διάµεση τιµή όλων των αριθµών από αυτούς που έχουν δοθεί. Αναλύστε την χρονική πολυπλοκότητα και πολυπλοκότητα µηνυµάτων. Αποδείξτε τους ισχυρισµούς σας. 1η Λύση Σχεδιασµός 1η Λύση Ανάλυση Συνδιασµός Βασικών Πρωτοκόλλων Εκλογή Αρχηγού Επιλογή µιας συγκεκριµένης διεργασίας Κατασκευή Κατανεµηµένης οµής π.χ. Επικαλυπτικό έντρο Συλλογή αριθµών εισόδου στην συγκεκριµένη διεργασία (ϱύζα) Εντοπισµός διάµεσης τιµής Μετάδοση Αποτελέσµατος Ενηµέρωση των υπόλοιπων διεργασιών χρήση κατανεµηµένης δοµής Η ορθότητα της λύσης ϐασίζεται στην ορθότητα των επιµέρους αλγορίθµων Σωστή επιλογή µιας συγκεκριµένης διεργασίας ορθότητα αλγόριθµου εκλογής αρχηγού Σωστή κατασκευή κατανεµηµένης δοµής Καταληλότητα κατανεµηµένης δοµής Σωστή µετάδοση αποτελέσµατος Η πολυπλοκότητα ϐασίζεται στην πολυπλοκότητα των επιµέρους αλγορίθµων ιατύπωση πολυπλοκότητας επιµέρους αλγορίθµων Συζήτηση για πολυπλοκότητα τελικής λύσης

2η Λύση Σχεδιασµός 1η Ασκηση 3ο Πρόβληµα Χρήση Βασικών Αλγοριθµικών Τεχνικών Σχεδιασµός Νέου Αλγόριθµου π.χ. παράλληλη κατασκευή επικαλυπτικών δέντρων Μετάδοση αριθµών εισόδου προς όλες τις διεργασίες Κάθε διεργασία υπολογίζει την ενδιάµεση τιµή Συζήτηση/Απόδειξη Ορθότητας Βασίζεται στην ορθότητα των αλγοριθµικών τεχνικών και στην ορθότητα των νέων τµηµάτων Ανάλυση Απόδοσης Βασίζεται στην απόδοση των αλγοριθµικών τεχνικών και στην απόδοση των νέων τµηµάτων 3 o Πρόβληµα Θεωρείστε ένα σύγχρονο κατανεµηµένο σύστηµα µε n διεργασίες συνδεδεµένες µέσω ενός γενικού, µη-κατευθυνόµενου δικτύου µε m κανάλια επικοινωνίας, όπου κάθε διεργασία έχει µια µοναδική ταυτότητα αλλά δεν γνωρίζει το σύνολο των διεργασιών, ούτε την τοπολογία του δικτύου. Κάθε διεργασία u δέχεται ως είσοδο έναν ακέραιο αριθµό iu. Σχεδιάστε έναν κατανεµηµένο αλγόριθµο που επιτρέπει στη διεργασία u0 να εντοπίσει όλα τα Ϲεύγη γειτονικών διεργασίων uk, ul όπου ik + il = X (X είναι µια τιµή που έχει δοθεί κατα την εκκίνηση του συστήµατος). Αναλύστε την χρονική πολυπλοκότητα και πολυπλοκότητα µηνυµάτων. Αποδείξτε τους ισχυρισµούς σας. Συµπληρωµατική Ασκηση Α Συµπληρωµατική Ασκηση Β Θεωρείστε ένα σύγχρονο κατανεµηµένο σύστηµα µε n διεργασίες συνδεδεµένες µέσω ενός γενικού, µη-κατευθυνόµενου δικτύου µε m κανάλια επικοινωνίας, όπου κάθε διεργασία δεν γνωρίζει το σύνολο των διεργασιών, ούτε την τοπολογία του δικτύου. Κάθε διεργασία u δέχεται ως είσοδο έναν ακέραιο αριθµό iu. Σχεδιάστε έναν κατανεµηµένο αλγόριθµο που επιτρέπει στη διεργασία u0 να υπολογίσει τον µέγιστο αριθµό από αυτούς που έχουν δοθεί στις διεργασίες. Αναλύστε την χρονική πολυπλοκότητα και πολυπλοκότητα µηνυµάτων. Σχεδιάστε έναν αλγόριθµο για το πρόβληµα της αναζήτησης κατά ϐάθος σε σύγχρονα κατανεµηµένα συστήµατα, όπου το δίκτυο επικοινωνίας µπορεί να αναπαρασταθεί από ένα γενικό γράφηµα (µη-κατευθηνόµενο). Υποθέτουµε µια διεργασία u0 η οποία ξεκινάει την εκτέλεση του αλγορίθµου. Στο τέλος της εκτέλεσης του αλγορίθµου όλες οι διεργασίες γνωρίζουν τον γονέα τους στο δέντρο αναζήτησης κατά ϐάθος. Περιγράψτε τον αλγόριθµό σας, δώστε ψευδο-κώδικα και αναλύστε την χρονική πολυπλοκότητα και πολυπλοκότητα µηνυµάτων.

Συµπληρωµατική Ασκηση Γ Συµπληρωµατική Ασκηση Θεωρείστε ένα ασύγχρονο κατανεµηµένο σύστηµα µε n διεργασίες συνδεδεµένες µέσω ενός γενικού, µη-κατευθυνόµενου δικτύου µε m κανάλια επικοινωνίας, όπου κάθε διεργασία γνωρίζει τη διάµετρο του δικτύου. Για την εκποµπή ενός µηνύµατος M από µια διεργασία-ποµπό σε όλες τις άλλες διεργασίες του δικτύου, εκτελείται ο ακόλουθος αλγόριθµος: Η διεργασία-ποµπός επιλέγει µια τιµή T µεγαλύτερη ή ίση µε τη διάµετρο του δικτύου και στέλνει < M, T > σε όλους τους γείτονες της. Οταν µια διεργασία λάβει ένα µήνυµα < M, t >, αν t > 0, στέλνει το µήνυµα < M, t 1 > σε όλους τους γείτονες της. Εστω ασύγχρονο δίκτυο G που αποτελείτε απο δύο διεργασίες V = {u, v} συνδεδεµένες απο µια µη-κατευθυνόµενη ακµή uv. Σχεδιάστε έναν κατανεµηµένο αλγόριθµο που να λύνει το πρόβληµα της συντονισµένης επίθεσης υπό την παρουσία σ σφαλµάτων επικοινωνίας. Αποδείξτε την ορθότητα του αλγορίθµου σας. ώστε την χρονική πολυπλοκότητα και την πολυπλοκότητα µηνυµάτων του αλγόριθµου σας. Συµπληρωµατική Ασκηση Ε Θεωρείστε ένα σύγχρονο κατανεµηµένο σύστηµα µε n διεργασίες συνδεδεµένες µέσω ενός γενικού, µη-κατευθυνόµενου δικτύου µε m κανάλια επικοινωνίας, όπου κάθε διεργασία γνωρίζει τη δοµή του δικτύου. Κάθε διεργασία u δέχεται ως είσοδο µία τιµή iu από το σύνολο S, δηλ. iu S. Οι διεργασίες πρέπει να συµφωνήσουν σε µια κοινή τιµή εκτελώντας τον αλγόριθµο συναίνεσης FloodSet. Εστω ότι κατά την εκτέλεση του αλγόριθµου προκύπτουν σ σφάλµατα τερµατισµού. Επιτρέπουµε στον αλγόριθµο να εκτελεστεί για σ γύρους αντί για σ + 1 γύρους. 1. Περιγράψτε ένα σενάριο όπου παραβιάζονται τα κριτήρια που διατυπώθηκαν για το πρόβληµα της συναίνεσης. 2. Ποιος είναι ο µεγαλύτερος αριθµός από διαφορετικές αποφάσεις που µπορεί να πάρουν οι διεργασίες που δεν παρουσιάζουν σφάλµα;