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

Σχετικά έγγραφα
Διάλεξη 13: Κατανεμημένη Κοινόχρηστη Μνήμη. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

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

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

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

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

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

Διάλεξη 11: Αιτιότητα Διάταξη Γεγονότων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

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

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

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

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

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

Κατανεμημένα Συστήματα Ασκήσεις.

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

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

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

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

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

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

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

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

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

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

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

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

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

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

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

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

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Γιατί υϖάρχει τέτοια καθολική κατάσταση;

HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο

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

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

Αιτιώδεις Σχέσεις και Χρονισµός. Παναγιώτα Φατούρου Αρχές Κατανεµηµένου Υπολογισµού

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

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1

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

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

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

ΨΗΦΙΑΚΑ ΠΙΣΤΟΠΟΙΗΤΙΚΑ ΓΙΑ ΑΣΦΑΛΗ ΚΑΙ ΠΙΣΤΟΠΟΙΗΜΕΝΗ ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΗΝ ΤΡΑΠΕΖΑ ΤΗΣ ΕΛΛΑΔΟΣ. Οδηγίες προς τις Συνεργαζόμενες Τράπεζες

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

Συνεπής παρατήρηση εκτέλεσης & συνεπείς καθολικές καταστάσεις. Κατανεμημένα Συστήματα 1

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

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

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

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

Συνεπείς καθολικές καταστάσεις & επιβεβαίωση ιδιοτήτων. Κατανεμημένα Συστήματα 1

Αμοιβαίος αποκλεισμός με ασύγχρονη επικοινωνία (ανταλλαγή μηνυμάτων) Ταυτόχρονος Προγραμματισμός 1

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1

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

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

«Συγχρονισμός ρολογιών υπό την παρουσία σφαλμάτων»

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη

ΗΥ486 - Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο Δεύτερη Προγραμματιστική Εργασία

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας


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

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

ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ: Πρότυπο FDDI

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Ασύγχρονο Σύστηµα ιαµοιραζόµενης Μνήµης Το σύστηµα περιέχει n διεργασίες p 0,, p n-1 και m καταχωρητές R 0,, R m-1. Κάθε διεργασία µοντελοποιείται ως

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

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

ρ. Κ. Σ. Χειλάς, ίκτυα Η/Υ ΙΙΙ, Τ.Ε.Ι. Σερρών, 2007

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

Υ- 07 Παράλληλα Συστήματα Συνοχή κρυφής μνήμης με σύστημα καταλόγων

Network Algorithms and Complexity Παραλληλοποίηση του αλγορίθμου του Prim. Αικατερίνη Κούκιου

1. Τι είναι ακεραιότητα δεδομένων, με ποιους μηχανισμούς επιτυγχάνετε κ πότε θα χρησιμοποιούσατε τον καθένα εξ αυτών;

( )( ) ( ) ( )( ) ( )( ) β = Chapter 5 Exercise Problems EX α So 49 β 199 EX EX EX5.4 EX5.5. (a)

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Κατανεμημένος και Παράλληλος Προγραμματισμός MPI. Γρήγορος οδηγός αναφοράς 1/4/2017

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο. Ψηφιακή Υπογραφή και Αυθεντικοποίηση Μηνύματος

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

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

Λύσεις Σειράς Ασκήσεων 4

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

Minimum Spanning Tree: Prim's Algorithm

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

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

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η

Προχωρημένα Θέματα Βάσεων Δεδομένων

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

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

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

Συνάφεια Κρυφής Μνήµης σε Επεκτάσιµα Μηχανήµατα

Επίπεδο Μεταφοράς. (ανεβαίνουμε προς τα πάνω) Εργαστήριο Δικτύων Υπολογιστών Τμήμα Μηχανικών Η/Υ και Πληροφορικής

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

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Συντονισμός και συμφωνία

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

Επαλήθευση Πρωτοκόλλων

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

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

ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο Φροντιστήριο Ασκήσεις στο TCP

Οδηγίες Εγκατάστασης και Χρήσης Ψηφιακών Πιστοποιητικών

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

Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί

Transcript:

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

Ορισμός Προσομοίωσης Τι θα δούμε σήμερα Προσομοίωση Υπηρεσίας Διάχυσης Μηνυμάτων Ιδιότητες Διάταξης Μηνυμάτων ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 1

Είδη Επικοινωνιακών Συστημάτων Ανταλλαγή Μηνυμάτων vs Κοινόχρηστη Μνήμη Διαφορά στην διεπαφή αποστολή/παραλαβή vs πρόσβαση/απάντηση Στην ανταλλαγή μηνυμάτων μας ενδιαφέρει Αξιοπιστία παράδοσης μηνυμάτων Διάταξη μηνυμάτων Εγγυήσεις στην διατήρηση του περιεχομένου του μηνύματος Στην κοινόχρηστη μνήμη μας ενδιαφέρει Σημασιολογία των κοινόχρηστων μεταβλητών Ανάγνωση/εγγραφή, ανάγνωση- μετατροπή- εγγραφή, κτλ. ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 2

Προσομοίωση Ορισμός: Κάποιο επικοινωνιακό σύστημα C1 προσομοιώνει ένα άλλο επικοινωνιακό σύστημα C2 αν κάθε κόμβος του συστήματος τρέχει μια διεργασία προσομοίωσης, Sim τ.ω. Η άνω διεπαφή του Sim είναι η ίδια με την διεπαφή του C2 Η κάτω διεπαφή του Sim είναι η ίδια με την διεπαφή του C1 Για κάθε νόμιμη εκτέλεση α του Sim, υπάρχει μια ακολουθία γεγονότων του C2 που αντιστοιχούν στα γεγονότα του α στην άνω διεπαφή Με άλλα λόγια η προσομοίωση παρουσιάζει την ίδια εξωτερική διεπαφή με το C2. Άρα η προσομοίωση είναι διαφανής στον χρήστη ο οποίος νομίζει ότι αλληλεπιδρά με το σύστημα C2. ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 3

Προσομοίωση C 2 inputs C 2 outputs C 2 inputs C 2 outputs C 1 inputs Sim 0 C 1 outputs Sim C 2 C 1 inputs Sim n-1 C 1 outputs C 1 Αν το σύστηµα και η χρήση του είναι σωστή, τότε η Προσοµοίωση Sim εγγυάται ότι ο χρήστης του C 2 νοµίζει ότι χρησιµοποιεί το C 2 (και όχι το C 1 µε το επίπεδο προσοµοίωσης) Set 14: Simulations 4

Παράδειγμα Κοινόχρηστη μνήμη read return write ack send Sim 0 receive Sim Ανταλλαγή μηνυμάτων send Sim n-1 receive Προσοµοιώνει read return write ack Κοινόχρηστη μνήμη ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 5

Διεργασίες Ένα επικοινωνιακό σύστημα προσομοιώνεται από μια διεργασία σε κάθε επεξεργαστή Για μια προσομοίωση μπορεί να τρέχουν πολλοί αλγόριθμοι (διεργασίες) σε ένα επεξεργαστή. Για παράδειγμα: Μια διεργασία (αλγόριθμος) χρησιμοποιεί την υπηρεσία C2 Μια άλλη διεργασία (αλγόριθμος) υλοποιεί την προσομοίωση πάνω από την υπηρεσία C1 Άρα δεν θα μιλούμε για επεξεργαστές που υλοποιούν ένα αλγόριθμο αλλά για διεργασίες ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 6

Ασύγχρονη Ανταλλαγή Μηνυμάτων Σημείου- Προς- Σημείο Διεπαφή Επικοινωνιακού Συστήματος: inputs: send i (M) Μοντελοποιεί την αποστολή συνόλου μηνυμάτων Μ από τον p i Κάθε μήνυμα προσδιορίζει τον αποστολέα και τον παραλήπτη outputs: recv i (M) Μοντελοποιεί την παραλαβή συνόλου μηνυμάτων Μ από τον p i Κάθε μήνυμα στο M πρέπει να έχει το p i ως τον παραλήπτη send receive send receive Ανταλλαγή μηνυμάτων Σημείου- Προς- Σημείο Set 14: Simulations 7

Νόμιμη Ακολουθία Γεγονότων Μια ακολουθία send, recv γεγονότων είναι νόμιμη εαν υπάρχει μια αντιστοιχία κ από τα μηνύματα που στάλθηκαν στα μηνύματα που παραλήφθηκαν τ.ω.: κ είναι καλά- ορισμένο: κάθε μήνυμα που παραλαμβάνεται είχε προηγουμένως σταλεί Δεν δημιουργούνται μηνύματα τυχαία και ούτε χάνονται μηνύματα κ είναι ένα- προς- ένα: δεν έχουμε πολλαπλασιασμό μηνυμάτων κ είναι επί- τα- αυτά: κάθε μήνυμα που αποστέλλεται τελικά παραλαμβάνεται ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 8

Προδιαγραφές Διάχυσης Μηνυμάτων inputs: bc_send i (m) διάχυση του μηνύματος m από τον p i προς όλους τουσ επεξεργαστές outputs: bc_recv i (m, j) Η υπηρεσία διάχυσης παραδίδει το μήνυμα m, που στάλθηκε από τον p j, στον p i ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 9

Νόμιμη Ακολουθία Γεγονότων Μια ακολουθία bc_send και bc_recv γεγονότων είναι νόμιμη εαν και μόνο εαν υπάρχει μια αντιστοιχία κ από τα μηνύματα που στάλθηκαν στα μηνύματα που παραλήφθηκαν τ.ω.: κ είναι καλά- ορισμένο: κάθε μήνυμα που παραλαμβάνεται είχε προηγουμένως σταλεί (Ακεραιότητα μηνυμάτων) κ περιορισμένο στα bc_rcv i γεγονότα είναι ένα- προς- ένα: κανένα μήνυμα δεν παραλαμβάνεται περισσότερες από μια φορές σε κάθε επεξεργαστή. (Όχι Πολλαπλασιασμό μηνυμάτων) κ περιορισμένο στα bc_rcv i γεγονότα είναι επί- τα- αυτά: κάθε μήνυμα που αποστέλλεται τελικά παραλαμβάνεται σε κάθε επεξεργαστή. (Ζωτικότητα μηνυμάτων) ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 10

Διάταξη Μηνυμάτων Μερικές φορές θα θέλαμε η υπηρεσία διάχυσης να μασ παρέχει κάποιες εγγυήσεις για την διάταξη με την οποία τα μηνύματα θα παραληφθούν Πρέπει να προσθέσουμε επιπρόσθετουσ περιορισμούς στην αντιστοιχία κ για να επιτύχουμε: FIFO μιας- πηγής (single- source FIFO), ή ολική διάταξη (totally- ordered), ή αιτιοκρατική διάταξη (causally ordered) ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 11

FIFO Μιας- Πηγής Για όλα τα μηνύματα m 1 και m 2 και όλα τα p i και p j Αν ο p i στείλει m 1 πριν στείλει το m 2, και Αν ο p j λάβει τα m 1 και m 2, τότε ο p j λαμβάνει το m 1 πριν λάβει το m 2 p i m 1 m 2 p j m 1 m 2 Προσοχή: Δεν εγγυάται ότι και τα δυο μηνύματα θα ληφθούν Αυτό πρέπει να το εγγυηθεί η ιδιότητα ζωτικότητας ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 12

Ολική Διάταξη Για όλα τα μηνύματα m 1 και m 2 και όλα τα p i και p j Αν και οι δυο p i και p j λάβουν τα m 1 και m 2, τότε λαμβάνουν με την ίδια σειρά p κ m 1 m 2 p i m 1 m 2 p j m 1 m 2 Προσοχή: Δεν εγγυάται ότι και τα δυο μηνύματα θα ληφθούν από τους δυο επεξεργαστές Αυτό πρέπει να το εγγυηθεί η ιδιότητα ζωτικότητας ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 13

Σχέση «πριν- από» για μηνύματα Ας υποθέσουμε ότι όλη η επικοινωνία γίνεται με διάχυση μηνυμάτων Λέμε ότι ένα μήνυμα m 1 συμβαίνει πριν- από το μήνυμα m 2 αν: Το γεγονός bc_recv(m 1, j) συμβαίνει πριν- από το γεγονός bc_send(m 2 ) (σύμφωνα με τον ορισμό του «πριν- από» για γεγονότα) m 1 και m 2 στέλνονται από τον ίδιο επεξεργαστή και m 1 στέλνεται πριν το m 2 ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 14

Παράδειγμα m 1 m 3 m 2 m 4 m 1 συμβαίνει πριν- από τα m 3 και m 4 m 2 συμβαίνει πριν- από το m 4 m 3 συμβαίνει πριν- από το m 4 ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 15

Αιτιοκρατική Διάταξη Για όλα τα μηνύματα m 1 και m 2 και όλα τα p i Αν το m 1 συμβαίνει πριν- από το m 2 και ο p i λάβει και το m 1 και το m 2, τότε ο p i λαμβάνει το m 1 πριν λάβει το m 2 p κ m 1 m 2 p j m 1 m 2 p i m 1 m 2 Προσοχή: Δεν εγγυάται ότι και τα δυο μηνύματα θα ληφθούν Αυτό πρέπει να το εγγυηθεί η ιδιότητα ζωτικότητας ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 16

Παράδειγμα a b FIFO µιας-πηγής? Ολικά διατεταγµένο? Αιτιοκρατικά διατεταγµένο? þ ý þ ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 17

Παράδειγμα a b FIFO µιας-πηγής? Ολικά διατεταγµένο? Αιτιοκρατικά διατεταγµένο? ý þ ý ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 18

Παράδειγμα a b FIFO µιας-πηγής? Ολικά διατεταγµένο? Αιτιοκρατικά διατεταγµένο? þ ý ý ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 19

Βασικός Αλγόριθμος Διάχυσης Αλγόριθμος BB: Βασικός αλγόριθμος διάχυσης μηνυμάτων πάνω από επικοινωνιακό σύστημα ΣπΣ Όταν συμβεί το bc_send i (m): p i στέλνει ένα ξεχωριστό αντίγραφό του m σε κάθε επεξεργαστή (συμπ. και του ιδίου) χρησιμοποιώντας το επικοινωνιακό σύστημα ΣπΣ ανταλλαγής μηνυμάτων Ο p i εκτελεί το γεγονός bc_recv i (m): Όταν παραλάβει το m από το ΣπΣ επικοινωνιακό σύστημα του χαμηλότερου επιπέδου ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 20

Προσομοίωση ΒΒ bc-send i bc-recv i bc-send j bc-recv j BB 0 Alg BB BB n-1 send i recv i basic broadcast send j asynch pt-to-pt message passing recv j ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 21

Ορθότητα ΒΒ Δεδομένου ότι το επικοινωνιακό σύστημα ΣπΣ ανταλλαγής μηνυμάτων είναι σωστό ο αλγόριθμος ΒΒ εγγυάται Ακεραιότητα μηνυμάτων Όχι πολλαπλασιασμό Ζωτικότητα μηνυμάτων ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 22

Αλγόριθμος Μιας- Πηγής FIFO Υποθέτουμε ότι κάτω επικοινωνιακό σύστημα υλοποιεί βασική διάχυση Όταν συμβεί το ssf_bc_send i (m): p i αυξάνει ένα τοπικό αριθμό κατα 1 και τον διανέμει μαζί με το μήνυμα m χρησιμοποιώντας την βασική διάχυση Ο p i εκτελεί το γεγονός ssf_bc_recv i (m): Όταν ο p i παραλάβει το m και ένα αριθμό Τ μέσα σε ένα μήνυμα της βασικής διάχυσης από τον p j και όλα τα άλλα μηνύματα που έλαβε από τον p j είχαν μικρότερο αριθμό. ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 23

Αλγόριθμος Μιας- Πηγής FIFO user of SSF bcast ssf-bc-send ssf-bc-recv SSF alg (timestamps) ssf bcast bc-send bc-recv send basic bcast alg (n copies) recv basic bcast point-to-point message passing ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 24

Συμμετρικός Αλγόριθμος Ολικής Διάταξης Υποθέτουμε ότι το κάτω επικοινωνιακό επίπεδο υλοποιεί διάχυση FIFO μιας- πηγής. Κάθε επεξεργαστής Στέλνει μαζί με το μήνυμά του και μια χρονοσφραγίδα Για αποφυγή ισοτήτων χρησιμοποιούμε τις ταυτότητες Κρατά ένα διάνυσμα με εκτιμήσεις των χρονοσφραγίδων των άλλων επεξεργαστών Οι εκτιμήσεις ανανεώνονται βάση των μηνυμάτων που λαμβάνονται και βάση των μηνυμάτων «ενημέρωσης χρονοσφραγίδων» Προωθεί ένα μήνυμα στο ανώτερο επίπεδο εαν όλες οι χρονοσφραγίδες στο διάνυσμα είναι μικρότερες από τη δική του ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 25

Συμμετρικός Αλγόριθμος Ολικής Διάταξης when to-bc-send i (m) occurs: ts[i]++ add (m,ts[i],i) to pending invoke ssf-bc-send i ((m,ts[i])) when ssf-bc-recv i ((m,t)) from p j occurs: ts[j] := T add (m,t,j) to pending if T > ts[i] then ts[i] := T invoke ssf-bc-send i ("ts-up",t) invoke to-bc-recv i (m,j) when: (m,t,j) is entry in pending with smallest (T,j) T ts[k] for all k result: remove (m,t,j) from pending when ssf-bc-recv i ("ts-up",t) from p j occurs: ts[j] := T ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 26

Συμμετρικός Αλγόριθμος Ολικής Διάταξης user of TO bcast to-bc-send to-bc-recv ssf-bc-send symmetric TO alg ssf-bc-recv TO bcast bc-send SSF alg (timestamps) bc-recv ssf bcast send basic bcast alg (n copies) recv basic bcast point-to-point message passing ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 27

Αλγόριθμος Αιτιοκρατικής Διάταξης Ο αλγόριθμος βασίζεται στα διανυσματικά ρολόγια Code for p i : when co-bc-send i (m) occurs: vt[i]++ invoke co-bc-recv i (m) invoke bc-send i ((m,vt)) when bc-recv i ((m,w)) from p j occurs: add (m,w,j) to pending invoke co-bc-recv i (m,j) when: (m,w,j) is in pending w[j] = vt[j] + 1 w[k] vt[k] for all k j result: remove (m,w,j) from pending vt[j]++ Note: vt[j] καταγράφει πόσα µηνύµατα του p j έχουν co-bc-recv'ed από τον p i ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 28

Παράδειγμα Αλγορίθμου Ο αλγόριθμος καθυστερεί την παράδοση των Α.Δ. Μηνυμάτων ώσπου να μπορούμε να διασφαλίσουμε την μη παραβίαση της αιτιοκρατικής διάταξης! (1,3,0) (0,1,0) (0,2,0) (0,3,0) ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 29

Ερωτήσεις; ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 30