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

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

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

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

ΕΚΔΟΣΗ 1.0 ΟΚΤΩΒΡΙΟΣ, 2017 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΡΟΛΟΓΙΑ ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ

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

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

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

Αλγόριθμοι Κατανεμημένων Συστημάτων

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

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

Παράλληλη Επεξεργασία Κεφάλαιο 6 ο Σύγχρονος Παραλληλισμός

Διδάσκων: Κωνσταντίνος Αντωνής Δρ. Μηχανικός Η/Υ & Πληροφορικής Πανεπιστημίου Πατρών

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

Σύστημα Διαχείρισης Σκεπτόμενων Συσκευών CASE STUDY

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

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

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ:

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

Minimum Spanning Tree: Prim's Algorithm

Ακολουθιακές εντολές. (Peter Ashenden, The Students Guide to VHDL)

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

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

A2. Να γράψετε για κάθε περίπτωση τον αριθμό της πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

8.3.4 Τεχνικές Ασφάλειας Συμμετρική Κρυπτογράφηση Ασυμμετρική Κρυπτογράφηση Ψηφιακές Υπογραφές

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

ΚΕΦΑΛΑΙΟ 10 ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ (ή εντολές Ελέγχου και Επιλογής ή εντολές Επιλογής και Απόφασης)

ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΗΝ ΕΝΟΤΗΤΑ

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

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

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Ακολουθιακός Κώδικας

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

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

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο

El Gamal Αλγόριθμος. Κώστας Λιμνιώτης Κρυπτογραφία - Εργαστηριακό μάθημα 7 2

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

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

Σχεδίαση Ψηφιακών Συστημάτων

Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.

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

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

Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE

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

Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου

Εφαρμοσμένη Κρυπτογραφία Ι

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

Τεχνική Ανάλυση των η-υπογραφών & των η-πιστοποιητικών

Διαχείριση Ασφάλειας και Εμπιστοσύνης σε Πολιτισμικά Περιβάλλοντα

(C) 2010 Pearson Education, Inc. All rights reserved.

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC

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

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ-ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΚΑΔΗΜΑΪΚΟ ΕΠΑΛ- ΚΑΝΙΓΓΟΣ 13- ΤΗΛ

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

ΜΕΡΙΚΑ ΣΤΟΙΧΕΙΑ ΓΙΑ ΤΙΣ ΓΛΩΣΣEΣ ΠPOΓPAMMATIΣMOY

Scratch Διδακτική του Προγραμματισμού. Παλαιγεωργίου Γιώργος

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

Κρυπτογραφία. Κεφάλαιο 4 Αλγόριθμοι Δημοσίου Κλειδιού (ή ασύμμετροι αλγόριθμοι)

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων

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

ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α A1. 2-Λάθος 3-Λάθος 4-Σωστό 5-Λάθος A2. integer. real. Boolean. char. string A3.

Ρολόγια και Συγχρονισμός

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

Παράλληλη Επεξεργασία Κεφάλαιο 8 ο Προγράμματα Περάσματος Μηνυμάτων

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

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

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) a= b= c= 3 read(d,e)

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. β. Οι πληροφορίες είναι δεδομένα τα οποία δεν έχουν υποστεί επεξεργασία.

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

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

Εισαγωγή στην Κρυπτολογία 3. Ασφάλεια Τηλεπικοινωνιακών Συστημάτων Κωδικός DIΤ114 Σταύρος ΝΙΚΟΛΟΠΟΥΛΟΣ

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

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

ΕΚΔΟΣΗ 1.1 ΑΠΡΙΛΙΟΣ, 2018 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΤΟ ΠΡΩΤΟΚΟΛΛΟ ECHO ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ

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

ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-1

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. Συναρτήσεις Κατακερματισμού

CSMA/CA στο Κατανεμημένα Ενσωματωμένα Συστήματα Πραγματικού Χρόνου

ΕΠΛ 231 Δομές Δεδομένων και Αλγόριθμοι 4-1

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

Ψηφιακά Πιστοποιητικά Ψηφιακές Υπογραφές

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

Αρχιτεκτονική Υπολογιστών

Εισαγωγή στην επιστήμη της Πληροφορικής και των. Aσφάλεια

Σύστημα Διαμοιρασμού Βιβλιογραφικών Αναφορών. Κοντοτάσιου Ιωάννα ΑΜ 3125 Μπέσσας Απόστολος ΑΜ 3171

ΔΗΜΟΤΙΚΕΣ ΕΚΛΟΓΕΣ 18/5/2014 ΑΚΥΡΑ

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

κρυπτογραϕία Ψηφιακή ασφάλεια και ιδιωτικότητα Γεώργιος Σπαθούλας Msc Πληροφορική και υπολογιστική βιοιατρική Πανεπιστήμιο Θεσσαλίας

Υ- 01 Αρχιτεκτονική Υπολογιστών Back- end: χρονοπρογραμματισμός, εντολές προσπέλασης μνήμης

Δημιουργία Δυαδικών Δέντρων Αναζήτησης

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης)

Ασύρµατα ίκτυα Αισθητήρων. Σαράντης Πασκαλής Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών

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

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

Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός;

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

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

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

Transcript:

ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ II «υπό την παρουσία σφαλμάτων» Αντωνέλλης Δημήτριος Α.Μ. 2812 antonel@ceid.upatras.gr ΠΑΤΡΑ ΙΟΥΛΙΟΣ 2007

Outline Μέρος Α Αυτό-σταθεροποιούμενος αλγόριθμος για συγχρονισμό υπό την παρουσία Βυζαντινών σφαλμάτων Μέρος Β Αλγόριθμος για συγχρονισμό ανεκτικός σε σφάλματα που απευθύνεται σε ασύρματα δίκτυα αισθητήρων οργανωμένα σε clusters

Το πρόβλημα Υπάρχουν αποδοτικοί αυτόσταθεροποιούμενοι αλγόριθμοι για συγχρονισμό Υπάρχουν επίσης αποδοτικοί αλγόριθμοι που είναι ανεκτικοί σε Βυζαντινά σφάλματα Δεν υπάρχει όμως αποδοτικός αλγόριθμος για συγχρονισμό που να είναι αυτόσταθεροποιούμενος και παράλληλα ανεκτικός σε Βυζαντινά σφάλματα.

Αυτό-σταθεροποίηση Ένας αλγόριθμος ονομάζεται αυτόσταθεροποιούμενος (self-stabilizing algorithm) εάν ξεκινώντας από μία αυθαίρετη κατάσταση, είναι εγγυημένο ότι θα συγκλίνει σε μία έγκυρη κατάσταση και στην συνέχεια θα παραμείνει σε ένα σύνολο έγκυρων καταστάσεων.

Οαλγόριθμος Algorithm PBSS-Clock-Synch at "pulse" event begin 1. Clock := ET; 2. Revoke possible other instances of PBSS-Clock-Synch and clear all data structures besides ET and Clock; 3. Wait until σ(1+p) time units have elapsed since pulse; 4. Νext_ET := BYZ_CONSENSUS((ET+Cycle) mod M, σ); 5. Clock := (Clock+Next_ET - (ET+Cycle)) mod M; 6. ET := Next_ET; end

παλμών Κόμβος 1 παλμών Κόμβος 2 παλμών Κόμβος 3 παλμών Κόμβος 4 Εκτελείται ένας άλλος αυτό-σταθεροποιούμενος αλγόριθμος για τον συγχρονισμό των παλμών υπό την παρουσία το πολύ f Βυζαντινών κόμβων (n>=3f+1)

παλμών Κόμβος 2 παλμών Κόμβος 3 παλμών Κόμβος 4 Περιστασιακά δημιουργούνται συγχρονισμένοι παλμοί σε κάθε κόμβο (ιδανικά κάθε Cycle)

Clock2 :=ET Clock1 :=ET Clock3 :=ET Clock4 :=ET Όταν λαμβάνεται ο παλμός, ο κόμβος εκτελεί τα εξής: 1. Clock := ET; // ΕΤ= συμφωνημένη χρον. στιγμή για τον επόμενο παλμό

Όταν λαμβάνεται ο παλμός, ο κόμβος εκτελεί τα εξής: 2. Revoke possible other instances of PBSS-Clock-Synch and clear all data structures besides ET and Clock;

Όταν λαμβάνεται ο παλμός, ο κόμβος εκτελεί τα εξής: 3. Wait until σ(1+p) time units have elapsed since pulse; // σ = άνω όριο στον πραγματικό χρόνο μεταξύ των στιγμών που γίνονται οι παλμοί στους κόμβους

Next_ET Next_ET Next_ET Next_ET Όταν λαμβάνεται ο παλμός, ο κόμβος εκτελεί τα εξής: 4. Νext_ET := BYZ_CONSENSUS((ET+Cycle) mod M, σ);

Clock1 Clock2 Clock3 Clock4 Όταν λαμβάνεται ο παλμός, ο κόμβος εκτελεί τα εξής: 5. Clock := (Clock+Next_ET - (ET+Cycle)) mod M;

ΕΤ ΕΤ ΕΤ ΕΤ Όταν λαμβάνεται ο παλμός, ο κόμβος εκτελεί τα εξής: 6. ET := Next_ET;

Outline Μέρος Α Αυτό-σταθεροποιούμενος αλγόριθμος για συγχρονισμό υπό την παρουσία Βυζαντινών σφαλμάτων Μέρος Β Αλγόριθμος για συγχρονισμό ανεκτικός σε σφάλματα που απευθύνεται σε ασύρματα δίκτυα αισθητήρων οργανωμένα σε clusters

Δίκτυα αισθητήρων οργανωμένα σε clusters Σταθμός βάσης Αρχηγός του cluster

Το πρόβλημα (1/2) Ο συγχρονισμός των στους αισθητήρες είναι μία απαραίτητη προϋπόθεση για πολλές εφαρμογές καθώς και για την σωστή λειτουργία του δικτύου π.χ. μπορεί περιστασιακά να θέλουμε κάποιοι αισθητήρες να μπαίνουν σε λειτουργία sleep έτσι ώστε να μην καταναλώνεται άσκοπα ενέργεια

Το πρόβλημα (2/2) Υπάρχουσες προσεγγίσεις για συγχρονισμό ανεκτικό σε σφάλματα για κατανεμημένα συστήματα δεν είναι αποδοτικές σε δίκτυα αισθητήρων εξαιτίας της μεγάλης κατανάλωσης ενέργειας

Υποθέσεις Κάθε κόμβος έχει μία μοναδική ταυτότητα και κάθε ζευγάρι κόμβων στο cluster μοιράζεται ένα μοναδικό κλειδί ζευγαριού Ένας κόμβος μπορεί να αναγνωρίσει κάποιον άλλο κόμβο χρησιμοποιώντας το μοναδικό κλειδί ζευγαριού που μοιράζεται μαζί του Οι κόμβοι αρχικά έχουν συγχρονισμένα τα ρολόγια τους Οι κόμβοι στο cluster συμφωνούν από την αρχή στη σειρά που θα γίνονται συγχρονιστές (synchronizer order)

Πιστοποίηση Μηνυμάτων Συγχρονισμού Δεναπαιτείταινααποστέλλεταιητιμήτου ρολογιού μαζί με κάθε μήνυμα συγχρονισμού, αφού ο δέκτης ξέρει πώς να προσαρμόσει το ρολόι του Το μόνο που πρέπει να γίνει μετά την λήψη ενός μηνύματος συγχρονισμού είναι να εξετάσει ο δέκτης εάν ο αποστολέας είναι ο αναμενόμενος συγχρονιστής

Οαλγόριθμος(1/2) Εκτελείται μία φορά κάθε R χρονικές μονάδες (ένας γύρος) Σε κάθε γύρο, ένας κόμβος στο κάθε cluster λειτουργεί σαν τον συγχρονιστή (synchronizer) ο οποίος στέλνει (broadcast) ένα μήνυμα συγχρονισμού σε όλους τους άλλους κόμβους. Στην συνέχεια, οι κόμβοι που λαμβάνουν το μήνυμα αυτό συγχρονίζουν τα ρολόγια τους αντίστοιχα αφού πιστοποιήσουν ότι ο αποστολέας είναι ο αναμενόμενος και είναι έγκυρος

Οαλγόριθμος(2/2) Initialization f:=1; k:=(n-mε/(δ+ε))/(n- 3m) Δ:=δ+ε(1+4p); x:=(2km+1)δ+mδ; Task 1: Send if (C = f*r) and (Order(Ni)=f mod n) then Broadcast a message "Ni Ki([f/n])"; end if Task 2: Receive if (Receive a message "Ni Ki([f/n])" at T) then if(f*r - x <= T <= f*r + x) and (F(Ki([f/n]))=Ki([f/n]- 1)) and (Order(Ni)=f mod n) then Δ := f*r - T; if (kδ<= Δ' <= x) then Δ' := kδ; else if (-x <= Δ' <= -kδ) then Δ' := -kδ; end if C:=C + Δ'; f:= f+1; else Drop the message; end if end if if (Has not received a correct synch msg by f*r + x) then f := f+1; end if