Κατανεμημένη συμφωνία (distributed consensus) Κατανεμημένα Συστήματα 1

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Κατανεμημένη συμφωνία (distributed consensus) Κατανεμημένα Συστήματα 1"

Transcript

1 Κατανεμημένη συμφωνία (distributed consensus) Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr

2 Το πρόβλημα της συμφωνίας Σε ένα κατανεμημένο σύστημα, οι διεργασίες μπορεί ανά πάσα στιγμή να έχουν διαφορετική πληροφορία Αυτό δημιουργεί πρόβλημα οποτεδήποτε πρέπει να ληφθεί μια κοινή απόφαση από όλες τις διεργασίες κάθε διεργασία πρέπει να έχει στην διάθεση της ακριβώς την ίδια πληροφορία, αλλιώς ίσως λάβει διαφορετική απόφαση από τις υπόλοιπες Έχουμε ήδη δει μια «έκδοση» του προβλήματος, στο πλαίσιο της αξιόπιστης μετάδοσης δεδομένων πάνω από αναξιόπιστο δίκτυο: αφού πάντα μπορεί να χαθεί το τελευταίο μήνυμα, χρειάζεται πάντα ένα ακόμα μήνυμα για να το επιβεβαιώσει Κατανεμημένα Συστήματα 2 lalis@inf.uth.gr

3 Το πρόβλημα της συντονισμένης επίθεσης (με χαμένα μηνύματα) Attack? Attack? Δύο στρατηγοί έχουν στήσει ενέδρα, αλλά πρέπει να συμφωνήσουν για την ώρα της επίθεσης Επικοινωνούν μέσω αγγελιοφόρων, που μπορεί να «χαθούν» (να πιαστούν αιχμάλωτοι από τον εχθρό) Πως μπορεί να επιτευχθεί συμφωνία; ΑΔΥΝΑΤΟ! Κατανεμημένα Συστήματα 3 lalis@inf.uth.gr

4 Μια διαφορετική έκδοση του προβλήματος Το δίκτυο δεν(!) χάνει μηνύματα Υπάρχουν όμως βλάβες διεργασιών Πάλι προκύπτει πρόβλημα συμφωνίας Μπορεί να αποδειχθεί ότι στην γενικότερη περίπτωση δεν υπάρχει αλγόριθμος που λύνει το πρόβλημα με προκαθορισμένο αριθμό μηνυμάτων Κατανεμημένα Συστήματα 4 lalis@inf.uth.gr

5 Το πρόβλημα της συντονισμένης επίθεσης (με βλάβες silent crash διεργασιών) Attack? Attack? Attack? Πολλοί στρατηγοί, ο καθένας σε διαφορετική θέση, πρέπει να αποφασίσουν αν θα επιτεθούν μαζί Κάποιοι στρατηγοί μπορεί να λιποτακτήσουν Όλοι οι υπόλοιποι πρέπει να αποφασίσουν το ίδιο Κατανεμημένα Συστήματα 5 lalis@inf.uth.gr

6 Κατανεμημένη συμφωνία (distributed consensus) Κάθε διεργασία P i προτείνει (ανεξάρτητα) μια τιμή v i Οι διεργασίες επικοινωνούν μεταξύ τους για να πάρουν μια κοινή απόφαση Τερματισμός: κάθε «ορθή» διεργασία P i (που δεν παρουσιάζει βλάβη) αποφασίζει μια τελική τιμή d i Συνέπεια: μετά τον τερματισμό, όλες οι διεργασίες (που δεν έχουν βλάβη) θα έχουν αποφασίσει το ίδιο i,j: failed(p i ) failed(p j ) d i = d j Αν όλες οι διεργασίες προτείνουν την ίδια τιμή, τότε αυτή θα είναι η τιμή που θα αποφασισθεί ( i: v i = v) failed(p j ) d j = v Κατανεμημένα Συστήματα 6 lalis@inf.uth.gr

7 Κατανεμημένη συμφωνία με συντονιστή (coordinated consensus) Ο συντονιστής P c στέλνει d c σε όλες τις διεργασίες Οι διεργασίες επικοινωνούν μεταξύ τους για να πάρουν μια κοινή απόφαση Τερματισμός: κάθε «ορθή» διεργασία P i (που δεν παρουσιάζει βλάβη) αποφασίζει μια τελική τιμή d i Συνέπεια: μετά τον τερματισμό, όλες οι διεργασίες (που δεν έχουν βλάβη) θα έχουν αποφασίσει το ίδιο i,j: failed(p i ) failed(p j ) d i = d j Αν ο συντονιστής δεν παρουσιάσει βλάβη, τότε θα αποφασισθεί η τιμή που αυτός πρότεινε failed(p c ) failed(p i ) d i = d c Κατανεμημένα Συστήματα 7 lalis@inf.uth.gr

8 Πρωτόκολλο για συμφωνία χωρίς βλάβες Κάθε P i στέλνει την πρόταση της v i σε όλες τις διεργασίες, και περιμένει τις δικές τους προτάσεις Αφού λάβει τις προτάσεις από όλες τις διεργασίες, υπολογίζει την τελική απόφαση της d i μέσω μιας συνάρτησης decide(v 1, v 2,, v Ν ) Η decide είναι κοινή και ντετερμινιστική Τερματισμός: αφού δεν υπάρχουν βλάβες, κάθε διεργασία θα λάβει τιμές από όλες τις υπόλοιπες Συνέπεια: αφού όλες οι διεργασίες θα λάβουν όλες τις τιμές, και αφού οι τιμές θα είναι ακριβώς οι ίδιες σε όλες τις διεργασίες, θα αποφασίσουν την ίδια τιμή Κατανεμημένα Συστήματα 8 lalis@inf.uth.gr

9 d(v1,v2,v3) v1 P1 d(v1,v2,v3) v1 v2 v1 v3 d(v1,v2,v3) P2 v2 P3 v2 v3 v3 Κατανεμημένα Συστήματα 9 lalis@inf.uth.gr

10 Τερματισμός Ασύγχρονο σύστημα: Oι διεργασίες θα αποφασίσουν κάποια στιγμή H απρόβλεπτη καθυστέρηση μετάδοσης μηνυμάτων δεν επηρεάζει την ορθότητα ως προς τον τερματισμό Αφού τα μηνύματα δεν χάνονται (και δεν υπάρχουν βλάβες), κάθε διεργασία θα λάβει μια πρόταση από κάθε άλλη διεργασία, και άρα τελικά θα αποφασίσει Σύγχρονο σύστημα: Oι διεργασίες θα αποφασίσουν το αργότερο σε Τmax Κατανεμημένα Συστήματα 10 lalis@inf.uth.gr

11 Init: vals[n] = {?,...,?}; v = pickvalue(); d =?; Communication round: for-each p { send(p,<val,myid,v>); } On deliver(<val,p,pv>): vals[p] = pv; if (for-all p: vals[p]!=?) { d = decide(vals); } Κατανεμημένα Συστήματα 11 lalis@inf.uth.gr

12 Init: vals[n] = {?,...,?}; v = pickvalue(); d =?; Communication round: for-each p { send(p,<val,myid,v>); } sleep(tmax); di = decide(vals); On deliver(<val,p,pv>): vals[p] = pv; Κατανεμημένα Συστήματα 12 lalis@inf.uth.gr

13 Συμφωνία με 1 βλάβη crash σε σύγχρονο σύστημα Η διεργασία P k μπορεί να παρουσιάσει βλάβη, ενώ επιχειρεί να στείλει την πρόταση της v k Η v k μπορεί να μην φτάσει σε όλες τις διεργασίες, π.χ., ίσως φτάσει στην διεργασία P i, όχι όμως στην P j Η απόφαση της P i ίσως διαφέρει από αυτήν της P j Λύση: οι διεργασίες (που δεν παρουσιάζουν βλάβη) πρέπει να ανταλλάξουν τις τιμές που έχουν λάβει, ώστε να είναι σίγουρο πως όλες οι διεργασίες θα λάβουν την v k αν την έχει λάβει έστω και μια διεργασία Σημείωση: βεβαίως, η v k μπορεί προηγουμένως να μην έφτασε σε καμία διεργασία, οπότε ο επιπλέον γύρος επικοινωνίας θα γίνει «άδικα» Κατανεμημένα Συστήματα 13 lalis@inf.uth.gr

14 1ος γύρος P1 P1=v1, P2=v2, P3=? v2 v1 v3 P1=v1, P2=v2, P3=v3 P2 v2 v3 P3 2ος γύρος P1 P1=v1, P2=v2, P3=v3 v1,v2,v3 v1,v2,? P1=v1, P2=v2, P3=v3 P2 v1,v2,v3 P3 Κατανεμημένα Συστήματα 14

15 1ος γύρος P1 P1=v1, P2=v2, P3=? v2 v1 v3 P1=v1, P2=v2, P3=? P2 v2 v3 P3 2ος γύρος P1 P1=v1, P2=v2, P3=? v1,v2,? v1,v2,? P1=v1, P2=v2, P3=? P2 v1,v2,? P3 Κατανεμημένα Συστήματα 15

16 Init: vals[n] = {?,...,?}; v = pickvalue(); d =?; Communication rounds: vals[myid] = v; for-each p { send(p,<val,myid,vals>); } sleep(tmax); for-each p { send(p,<val,myid,vals>); } sleep(tmax); di = decide(vals); On deliver(<val,p,pvals>): for-each k { if (vals[k] ==?) { vals[k] = pvals[k]; } } Κατανεμημένα Συστήματα 16 lalis@inf.uth.gr

17 Λύση για (το πολύ) f βλάβες Στην χειρότερη περίπτωση, μπορεί να συμβαίνει μια νέα βλάβη σε κάθε «επόμενο» γύρο επικοινωνίας Κάθε φορά χρειάζεται ακόμα ένας γύρος επικοινωνίας Για f βλάβες: χρειάζονται f+1 γύροι επικοινωνίας, για την ανταλλαγή των τιμών ανάμεσα στις διεργασίες Σε κάθε γύρο, κάθε διεργασία στέλνει τις τιμές που έλαβε μέχρι τον προηγούμενο γύρο για λογαριασμό κάθε διεργασίας (και την δική της), και ανανεώνει τις τοπικές τιμές με βάση τις τιμές που λαμβάνει από τις υπόλοιπες διεργασίες Όταν ολοκληρωθεί ο τελευταίος γύρος επικοινωνίας, κάθε διεργασία αποφασίζει με βάση τις τιμές που έχει Κατανεμημένα Συστήματα 17 lalis@inf.uth.gr

18 Init: vals[n] = {?,...,?}; v = pickvalue(); d =?; Communication rounds: vals[myid] = v; for (r=1; r <= f+1; r++) { for-each p { send(p,<val,myid,vals>); } sleep(tmax); } d = decide(vals); On deliver(<val,p,pvals>): for-each k { if (vals[k] ==?) { vals[k] = pvals[k]; } } Κατανεμημένα Συστήματα 18 lalis@inf.uth.gr

19 0: P1=1, P2=?, P3=?, P4=? P1 P2 P4 0: P1=?, P2=2, P3=?, P4=? 0: P1=?, P2=?, P3=?, P4=4 P3 0: P1=?, P2=?, P3=3, P4=? Κατανεμημένα Συστήματα 19

20 1ος γύρος P1 0: P1=1, P2=?, P3=?, P4=? {1,?,?,?} {?,2,?,?} P2 {?,?,?,4} P4 0: P1=?, P2=2, P3=?, P4=? 0: P1=?, P2=?, P3=?, P4=4 P3 {?,?,3.?} 0: P1=?, P2=?, P3=3, P4=? Κατανεμημένα Συστήματα 20

21 1: P1=1, P2=2, P3=3, P4=? P1 P2 1: P1=1, P2=2, P3=3, P4=4 P3 1: P1=1, P2=2, P3=3, P4=? Κατανεμημένα Συστήματα 21

22 2ος γύρος P1 1: P1=1, P2=2, P3=3, P4=? {1,2,3,?} {1,2,3,4} P2 1: P1=1, P2=2, P3=3, P4=4 P3 {1,2,3.?} 1: P1=1, P2=2, P3=3, P4=? Κατανεμημένα Συστήματα 22

23 2: P1=1, P2=2, P3=3, P4=4 P1 P3 2: P1=1, P2=2, P3=3, P4=? Κατανεμημένα Συστήματα 23

24 3ος γύρος P1 2: P1=1, P2=2, P3=3, P4=4 {1,2,3,4} P3 {1,2,3.?} 2: P1=1, P2=2, P3=3, P4=? Κατανεμημένα Συστήματα 24

25 3: P1=1, P2=2, P3=3, P4=4 P1 P3 3: P1=1, P2=2, P3=3, P4=4 Κατανεμημένα Συστήματα 25

26 Ορθότητα Τερματισμός Κάθε γύρος διαρκεί Tmax Απαιτούνται f+1 γύροι επικοινωνίας Συνέπεια Έστω ότι μετά από f βλάβες και f+1 γύρους επικοινωνίας, η διεργασία P i έχει λάβει v k για την P k, ενώ η P j όχι Για να φτάσουμε σε αυτό το αποτέλεσμα, σε κάθε γύρο, όλες οι διεργασίες που ήδη είχαν την v k πρέπει να παρουσίασαν βλάβη, και η τιμή v k πρέπει να έφτασε σε τουλάχιστον 1 νέα διεργασία που δεν την είχε ήδη Αυτό συνεπάγεται πως υπήρξαν τουλάχιστον f+1 βλάβες Άτοπο! Κατανεμημένα Συστήματα 26 lalis@inf.uth.gr

27 Παρατήρηση Μπορεί να μην συμβεί καμία βλάβη ή κάποιες βλάβες μπορεί να συμβούν μαζικά στον ίδιο γύρο Η απόφαση μπορεί να ληφθεί νωρίτερα Αν μια διεργασία λάβει τιμές για όλες τις διεργασίες (κανένα στοιχείο του πίνακα δεν είναι κενό), μπορεί να αποφασίσει, και να στείλει την απόφαση στις υπόλοιπες Αν μια διεργασία σε δύο διαδοχικούς γύρους λάβει μηνύματα μόνο από τις ίδιες διεργασίες, μπορεί να αποφασίσει, και να στείλει την απόφαση στις υπόλοιπες Κατανεμημένα Συστήματα 27

28 Λύση κατανεμημένης συμφωνίας σε ασύγχρονο σύστημα Κατανεμημένα Συστήματα 28

29 Συμφωνία σε ασύγχρονο σύστημα Το πρόβλημα της κατανεμημένης συμφωνίας με έστω 1 βλάβη crash δεν λύνεται σε ασύγχρονο σύστημα Μια διεργασία P i δεν γνωρίζει κατά πόσο υπάρχει ένα μήνυμα που βρίσκεται καθοδόν από την διεργασία P j δεν υπάρχει άνω όριο καθυστέρησης μετάδοσης μηνυμάτων Όσο η P i δεν έχει λάβει ένα μήνυμα που περιμένει από την P j, δεν μπορεί να προχωρήσει σε απόφαση Αν η P i αποφασίσει χωρίς να περιμένει το μήνυμα, μπορεί να αποφασίσει με βάση διαφορετικές τιμές από τις άλλες διεργασίες Αν η P i περιμένει για το μήνυμα που λείπει, τότε, αν η P j παρουσίασε βλάβη προτού στείλει αυτό το μήνυμα, τότε η P i θα περιμένει για πάντα Κατανεμημένα Συστήματα 29 lalis@inf.uth.gr

30 ? Σενάριο Α v2 P1 v1 v3 το μήνυμα που έστειλε η P3 στην P1 απλά καθυστερεί P2 v2 v3 P3? Σενάριο Β v2 P1 v1 v3 η P3 παρουσίασε βλάβη προτού στείλει το μήνυμα στην P1 P2 v2 v3 P3 Κατανεμημένα Συστήματα 30

31 Άτυπη απόδειξη Έστω πως το πρόβλημα της συμφωνίας λύνεται με ακριβώς Μ μηνύματα ανάμεσα στις Ν διεργασίες Έστω πως το τελευταίο μήνυμα του πρωτοκόλλου είναι ένα μήνυμα m που στέλνεται από την P j προς στην P i Έστω πως η P j παρουσιάζει βλάβη προτού στείλει το m Αφού υποθέσαμε πως το πρόβλημα έχει λύση, η P i μπορεί να πάρει πάντα σωστή απόφαση χωρίς το m Τότε το πρόβλημα λύνεται με Μ-1 μηνύματα άτοπο! Κατανεμημένα Συστήματα 31 lalis@inf.uth.gr

32 Γενικότερα... Για 1 βλάβη crash δεν υπάρχουν «συμβατικές» λύσεις (με προκαθορισμένο αριθμό μηνυμάτων) για τα προβλήματα συμφωνίας σε ασύγχρονο σύστημα Μια «λύση» είτε δεν θα είναι ορθή σε όλες τις περιπτώσεις, είτε υπάρχει περίπτωση να οδηγήσει σε ατέρμονη αναμονή κάποιας διεργασίας Δεν υπάρχει λύση για το consensus Δεν υπάρχει λύση για το coordinated consensus Δεν υπάρχει λύση για το reliable & total multicast Κατανεμημένα Συστήματα 32 lalis@inf.uth.gr

33 Παράκαμψη / λύση προβλήματος Fail-stop (ειδοποίηση για βλάβη διεργασίας) τίθεται θέμα του κατά πόσο η ειδοποίηση είναι FIFO σε σχέση με τα μηνύματα που έχει στείλει η διεργασία Eventually-reliable fault detectors Απόκρυψη βλαβών (με restart & persistence) πρακτικά δεν υφίστανται βλάβες, μόνο αργές διεργασίες Probabilistic/randomized algorithms Κατανεμημένα Συστήματα 33 lalis@inf.uth.gr

34 Πρωτόκολλα ατομικής δέσμευσης Απόφαση GO / ABORT Αν έστω και μια διεργασία ψηφίσει ABORT, όλες οι διεργασίες πρέπει να αποφασίσουν ABORT Κλασικό πρόβλημα για κατανεμημένες δοσοληψίες σε κατανεμημένα συστήματα βάσεων δεδομένων Η «συνολική δοσοληψία» μπορεί να οριστικοποιήσει τα αποτελέσματα της μόνο αν όλες οι «υπο-δοσοληψίες» δεσμευτούν να οριστικοποιήσουν τα επιμέρους αποτελέσματα τους Κατανεμημένα Συστήματα 34 lalis@inf.uth.gr

35 2 Phase Commit (2PC) Συντονιστής: (1) ζητά από τις διεργασίες να στείλουν την ψήφο τους, (2) αποφασίζει με βάση τις απαντήσεις που λαμβάνει, (3) στέλνει την απόφαση του, που είναι δεσμευτική για όλους αν δεν λάβει απάντηση από κάποια διεργασία μέσα σε εύλογο χρονικό διάστημα αποφασίζει («συντηρητικά») ABORT Υπόλοιπες διεργασίες: (1) περιμένουν να λάβουν την ερώτηση του συντονιστή, (2) στέλνουν την απάντηση τους, (3) περιμένουν να λάβουν την απόφαση αν μια διεργασία απαντήσει ABORT, γνωρίζει ότι η τελική απόφαση θα είναι αρνητική (δεν χρειάζεται να περιμένει) αν μια διεργασία απαντήσει GO, είναι υποχρεωμένη να περιμένει την τελική απόφαση του συντονιστή Κατανεμημένα Συστήματα 35

36 (1) (2) (3) p1 p1 p1 vote GO GO GO p2 p3 p2 p3 p2 p3 όλες οι διεργασίες στέλνουν GO ο συντονιστής αποφασίσει GO Κατανεμημένα Συστήματα 36

37 (1) (2) (3) p1 p1 p1 vote GO αργεί GO ABORT p2 p3 p2 p3 p2 p3 όλες οι διεργασίες στέλνουν GO ο συντονιστής αποφασίζει ABORT Κατανεμημένα Συστήματα 37

38 (1) (2) (3) p1 p1 p1 vote ABORT GO ABORT p2 p3 p2 p3 p2 p3 μια διεργασία στέλνει ABORT ο συντονιστής αποφασίσει (υποχρεωτικά) ABORT Κατανεμημένα Συστήματα 38

39 Pc: int d; // coord decision int pv; // process vote for-each p: send(p,<vote>); d = GO; // be optimistic for-each p { if!recv(<vote,pv>,timeout) { d = ABORT; break; } else if (pv == ABORT) { d = ABORT; break; } } for-each p: send(p,<decide,d>); Pi: int d; // decision int v; // my vote // wait for coord to ask me if!recv(pc,<vote>,timeout) { send(pc,<vote,abort>); d = ABORT; return; } v = pickvote(go,abort); send(pc,<vote,v>); if (v == ABORT) { d = ABORT; return; } // wait for coord decision recv(pc,<decide,d>); Κατανεμημένα Συστήματα 39 lalis@inf.uth.gr

40 Παρατηρήσεις Το 2PC λύνει το πρόβλημα της κατανεμημένης συμφωνίας, εφόσον ο συντονιστής δεν παρουσιάζει βλάβες (ή αυτές αποκρύπτονται με restart-persistence) και σε ασύγχρονο σύστημα για απεριόριστο αριθμό βλαβών των υπολοίπων διεργασιών Ο συντονιστής δεν μπλοκάρει ποτέ Μια διεργασία μπλοκάρει μόνο αν ψηφίσει θετικά, αλλά όχι για πάντα αφού, τελικά, σίγουρα θα λάβει την τελική απόφαση του συντονιστή εναλλακτικά μπορεί να επικοινωνήσει με τις υπόλοιπες μήπως κάποια ψήφισε αρνητικά ή έλαβε την απόφαση του συντονιστή Κατανεμημένα Συστήματα 40

41 Πιθανοτικοί αλγόριθμοι Σε ασύγχρονο σύστημα με βλάβες crash δεν υπάρχει λύση με προκαθορισμένο αριθμό μηνυμάτων Υπάρχουν όμως «μη-ντετερμινιστικές» λύσεις! Βασική ιδέα: η απόφαση λαμβάνεται μέσα από ένα ισχυρό σχήμα πλειοψηφίας το οποίο, εφόσον σχηματιστεί, είναι εγγυημένα μη αναστρέψιμο Με αυτή την προσέγγιση το πρόβλημα του distributed consensus μπορεί να λυθεί και σε ασύγχρονο σύστημα Οι λύσεις έχουν πεπερασμένο αναμενόμενο χρόνο τερματισμού, και τελικά τερματίζουν με πιθανότητα 1 Κατανεμημένα Συστήματα 41 lalis@inf.uth.gr

42 Αλγόριθμος για f βλάβες και N>=2f+1 Έστω ότι η απόφαση είναι δυαδικού χαρακτήρα Συνεχόμενοι γύροι επικοινωνίας Κάθε διεργασία P i στέλνει πρόταση v i (αρχικά 0 ή 1) με βάρος w i (αρχικά 1), και περιμένει να λάβει Ν-f προτάσεις από άλλες διεργασίες Θέτει v i := v, αν έλαβε πρόταση v με βάρος >Ν/2, ή αν η τιμή v συγκέντρωσε την πλειοψηφία των N-f προτάσεων (σε περίπτωση ισοπαλίας, επιλέγεται μια συγκεκριμένη τιμή π.χ. 0), και θέτει w i ίσο με τον αριθμό των προτάσεων για v Αποφασίζει v αν έλαβε >f προτάσεις v με βάρος >Ν/2, οπότε στέλνει πρόταση v με βάρος Ν-f για τους δύο επόμενους γύρους επικοινωνίας Κατανεμημένα Συστήματα 42 lalis@inf.uth.gr

43 v=pick(0,1); w=1, d; /* my vote, vote weight & decision */ nv[2]; nw[2]; /* # 0/1 votes, # 0/1 votes with weight >N/2 */ r=0; /* current round nr */ do { nv[0]=0; nv[1]=0; nw[0]=0; nw[1]=0; /* reset counters */ for-each p: {send(p,<r,v,w>);} /* send vote & weight for round r */ while (nv[0]+nv[1]<n-f) { /* wait for N-f votes */ recv(<r,v,w >); if (r >r) { /* this is for a future round */ send(myid,<r,v,w >); /* resend message to self */ } else if (r ==r) { nv[v ]++; /* inc # votes for this value */ if (w >N/2) {nw[v ]++;} /* inc # weighted votes */ } } if (nw[1]>0) {v=1;} else if (nw[0]>0 {v=0;} /* pick nxt vote */ else if (nv[1]>nv[0]) {v=1;} else {v=0;} w=nv[v]; /* set weight */ r++; } while (nw[v]<=f); /* v received f+1 votes with >N/2 weight */ d = v; /* decide for this value */ for-each p: {send(p,<r,d,n-f>); send(p,<r+1,d,n-f>);} /* enforce d */ Κατανεμημένα Συστήματα 43 lalis@inf.uth.gr

44 Ορθότητα Κάθε γύρος επικοινωνίας τερματίζει υπάρχουν τουλάχιστον N-f διεργασίες, που δεν έχουν παρουσιάσει βλάβη και συνεπώς θα στείλουν πρόταση Αν μια διεργασία αποφασίσει στον γύρο k, τότε όλες οι διεργασίες θα έχουν αποφασίσει στον γύρο k+2 Αν όλες οι διεργασίες προτείνουν την ίδια τιμή, αυτή η τιμή θα αποφασισθεί σε 2 γύρους Αν τουλάχιστον 1+(N+f)/2 διεργασίες προτείνουν την ίδια τιμή, αυτή θα αποφασισθεί σε 3 γύρους Διαφορετικά, η απόφαση και ο αριθμός γύρων που θα χρειαστούν δεν είναι γνωστά εκ των προτέρων βασιζόμαστε στην τύχη για το ότι κάποια στιγμή (τελικά) θα σχηματιστεί ικανή πλειοψηφία Κατανεμημένα Συστήματα 44 lalis@inf.uth.gr

45 Απόφαση σε 2 γύρους Όλες οι διεργασίες αρχίζουν με την ίδια τιμή, π.χ. 0 Χειρότερο σενάριο: f διεργασίες παρουσιάζουν βλάβη κατά/πριν τον 1 ο γύρο επικοινωνίας Στον πρώτο γύρο N-f διεργασίες θα στείλουν την πρόταση 0 με βάρος 1 N-f διεργασίες θα λάβουν N-f (>N/2) τέτοιες προτάσεις N-f διεργασίες θα επιλέξουν 0 με βάρος N-f Στον δεύτερο γύρο N-f διεργασίες θα στείλουν την τιμή 0 με βάρος Ν-f (>N/2) N-f διεργασίες θα λάβουν Ν-f (>f) τέτοιες προτάσεις N-f διεργασίες θα αποφασίσουν 0 Κατανεμημένα Συστήματα 45 lalis@inf.uth.gr

46 Απόφαση σε 3 γύρους 1+(N+f)/2 διεργασίες αρχίζουν με την ίδια τιμή, π.χ. 0 Χειρότερο σενάριο: f από αυτές (που προτείνουν 0) παρουσιάζουν βλάβη κατά/πριν τον πρώτο γύρο Στον πρώτο γύρο 1+(Ν-f)/2 διεργασίες θα προτείνουν 0 με βάρος 1-1+(Ν-f)/2 διεργασίες θα προτείνουν 1 με βάρος 1 Ν-f διεργασίες θα επιλέξουν 0 με βάρος 1+(Ν-f)/2 Στον δεύτερο γύρο Ν-f διεργασίες θα στείλουν την πρόταση 0 με βάρος 1+(Ν-f)/2 Ν-f διεργασίες θα επιλέξουν 0 με βάρος Ν-f Στον τρίτο γύρο Ν-f διεργασίες θα στείλουν την τιμή 0 με βάρος Ν-f (>N/2) Ν-f διεργασίες θα αποφασίσουν 0 Κατανεμημένα Συστήματα 46 lalis@inf.uth.gr

47 Τερματισμός Η απόφαση θα παρθεί όταν οι ίδιες N-f διεργασίες καταφέρουν να επικοινωνήσουν αποκλειστικά μεταξύ τους για 3 συνεχόμενους γύρους Στην χειρότερη περίπτωση, στον γύρο k (Ν-f)/2 διεργασίες θα επιλέξουν την τιμή 0 με βάρος 1 (Ν-f)/2 διεργασίες θα επιλέξουν την τιμή 1 με βάρος 1 Στον γύρο k+1 Ν-f διεργασίες θα επιλέξουν την ίδια τιμή με βάρος (Ν-f)/2 Στον γύρο k+2 Ν-f διεργασίες θα επιλέξουν την ίδια τιμή με βάρος Ν-f Στον γύρο k+3 όλες οι διεργασίες θα αποφασίσουν την ίδια τιμή Κατανεμημένα Συστήματα 47 lalis@inf.uth.gr

48 Βυζαντινή συμφωνία σε σύγχρονο σύστημα Κατανεμημένα Συστήματα 48

49 Το πρόβλημα της συντονισμένης επίθεσης (με βυζαντινές βλάβες) Attack? Attack? Attack? Πολλοί στρατηγοί, ο καθένας σε διαφορετική θέση, πρέπει να αποφασίσουν αν θα επιτεθούν μαζί Κάποιοι στρατηγοί μπορεί να είναι προδότες Όλοι οι υπόλοιποι πρέπει να αποφασίσουν το ίδιο Κατανεμημένα Συστήματα 49

50 Βυζαντινοί στρατηγοί (byzantine generals) Βυζαντινή διεργασία = προδότης/διεφθαρμένος Αν ένας στρατηγός είναι προδότης, μπορεί να στείλει διαφορετική/παραπλανητική πληροφορία στους άλλους με απώτερο στόχο να μην επιτευχθεί συμφωνία παρ ότι οι υπόλοιποι στρατηγοί μπορεί να έχουν την (λανθασμένη) εντύπωση ότι αυτή έχει επιτευχθεί Δεν υπάρχει άμεσος τρόπος εντοπισμού των στρατηγών που είναι προδότες (no truth test) Εξετάζουμε το coordinated byzantine agreement Κατανεμημένα Συστήματα 50 lalis@inf.uth.gr

51 Παρατήρηση Μια διεργασία που παρουσιάζει βυζαντινή βλάβη μπορεί να «αποφασίσει» να μην στείλει ένα μήνυμα σε επιλεγμένες ή όλες τις διεργασίες Σε σύγχρονο σύστημα (αφού δεν χάνονται μηνύματα), αυτό απλά θα αποκαλύψει την βυζαντινή διεργασία Το χειρότερο που μπορεί να κάνει μια βυζαντινή διεργασία είναι να παριστάνει την ορθή, προσπαθώντας να παραπλανήσει τις υπόλοιπες Χειρότερο σενάριο: όλες οι βυζαντινές διεργασίες συνωμοτούν και δρουν συντονισμένα έτσι ώστε να παραπλανήσουν τις υπόλοιπες ορθές διεργασίες Κατανεμημένα Συστήματα 51

52 Δεν υπάρχει λύση για Ν=3f και f=1 βλάβη (α) v1 P1(c) v1 (β) v1 P1(c) v2 v1 v1 P2 P3 P2 P3 v2 v2 {v1,v2} {v1,v2} {v2,v1} P 2 : ότι αποφασίσει στο (α) πρέπει να αποφασίσει και στο (β), αφού λαμβάνει ακριβώς τα ίδια μηνύματα P 3 : με την ίδια λογική, στο (β) θα αποφασίσει κάτι διαφορετικό από την P 2 Δεν υπάρχει συμφωνία! Κατανεμημένα Συστήματα 52 lalis@inf.uth.gr

53 Δεν υπάρχει λύση Ν<3f+1 και f βλάβες Ας υποθέσουμε πως υπάρχει αλγόριθμος για να επιτευχθεί συμφωνία με Ν = 3f διεργασίες Αυτός μπορεί να χρησιμοποιηθεί από 3 διεργασίες P 1, P 2, P 3, όπου οι P 1 και P 2 προσομοιώνουν καθεμιά από Ν/3 ορθές διεργασίες, ενώ η P 3 προσομοιώνει τις υπόλοιπες f=ν/3 βυζαντινές διεργασίες Τότε φτιάξαμε ένα σύστημα με 3 διεργασίες που επιτυγχάνει συμφωνία για 1 βυζαντινή βλάβη (άτοπο) Κατανεμημένα Συστήματα 53 lalis@inf.uth.gr

54 Λύση για Ν=3f+1 διεργασίες και f=1 βλάβη Συνάρτηση απόφασης decide(v 1,,v N-1 ): επιστρέφει την τιμή που πλειοψηφεί αν δεν υπάρχει πλειοψηφία Κάθε διεργασία περιμένει να λάβει τιμή από τον συντονιστή μετά από Tmax, θέτει ως Κάθε διεργασία προωθεί την τιμή του συντονιστή στις υπόλοιπες διεργασίες, και αποφασίζει με βάση τις τιμές που έλαβε από τον συντονιστή και τις υπόλοιπες Ο συντονιστής δεν έχει βλάβη: κάθε ορθή διεργασία θα αποφασίσει την τιμή που έστειλε ο συντονιστής Ο συντονιστής έχει βλάβη: στην χειρότερη περίπτωση, κάθε ορθή διεργασία θα Κατανεμημένα Συστήματα 54 lalis@inf.uth.gr

55 (α) v1 P1(c) v1 v1 (β) v1 P1(c) v2 v3 {v1,v1,v2} P2 v1 v1 v1 P4 v2 v3 v1 P3 {v1,v2,v3} P2 v2 v1 v1 P4 v3 v3 v2 P3 {v3,v1,v2} {v1,v1,v3} {v2,v1,v3} Σενάριο (α): κάθε ορθή διεργασία αποφασίζει για την τιμή v1 που είναι η πρόταση του συντονιστή Σενάριο (β): κάθε ορθή διεργασία έχει λάβει τις τιμές v1, v2, v3, και Κατανεμημένα Συστήματα 55 lalis@inf.uth.gr

56 Αλγόριθμος για Ν >= 3f+1: υποθέσεις Ο παραλήπτης ενός μηνύματος μπορεί να ταυτοποιήσει (εγγυημένα) τον αποστολέα με άμεσες (φυσικές) συνδέσεις για κάθε ζευγάρι διεργασιών με μηχανισμούς κρυπτογραφίας για την ταυτοποίηση του αποστολέα ενός μηνύματος, π.χ., ψηφιακές υπογραφές Μια διεργασία μπορεί να αντιληφθεί ότι μια διεργασία δεν έστειλε ένα μήνυμα (σε Tmax), ως όφειλε ισχύει για σύγχρονο σύστημα Μια βυζαντινή διεργασία μπορεί να αλλάξει την τιμή που της στέλνει μια άλλη (ορθή/βυζαντινή) διεργασία, προτού την προωθήσει στις υπόλοιπες Κατανεμημένα Συστήματα 56

57 Αλγόριθμος για Ν >= 3f+1 A(N,0): 1. Ο συντονιστής στέλνει πρόταση v σε κάθε P i 2. Κάθε P i θέτει v i := v ή v i αν δεν έλαβε κάποια τιμή από τον συντονιστή σε Tmax Α(N,f): 1-2.Όπως στο Α(N,0) 3. Η P i ενεργεί αναδρομικά ως συντονιστής για την τιμή v i που έλαβε, εκτελώντας το A(N-1,f-1) 4. Η P i θέτει ως τιμή v j την απόφαση που λαμβάνεται μέσω Α(N-1,f-1) για την τιμή που προωθεί (ως συντονιστής) κάθε άλλη διεργασία P j (λόγω #3) 5. Λαμβάνει την τελική απόφαση μέσω d(v 1,,v N-1 ) Κατανεμημένα Συστήματα 57 lalis@inf.uth.gr

58 Παρατηρήσεις Η εκτέλεση του A(N,f) οδηγεί σε Ν-1 εκτελέσεις του A(N-1,f-1), κάθε μια από τις οποίες οδηγεί σε Ν-2 εκτελέσεις του A(N-2,f-2), κτλ. Η απόδειξη ορθότητας γίνεται με επαγωγή Απαιτούνται f+1 γύροι (φάσεις) επικοινωνίας σε καθέναν από τους οποίους πραγματοποιούνται πολλές «ταυτόχρονες» ανταλλαγές μηνυμάτων που αφορούν το συγκεκριμένο «επίπεδο» της αναδρομής Απαιτούνται Ο(N f+1 ) μηνύματα κύκλος 1: Ν-1 μηνύματα κύκλος 2: (Ν-1) (Ν-2) μηνύματα κύκλος 3: (N-1) (N-2) (N-3) μηνύματα... Κατανεμημένα Συστήματα 58 lalis@inf.uth.gr

59 Δομή μηνυμάτων πρωτοκόλλου Μια τιμή v που παραλαμβάνεται στο γύρο k φέρει k διαφορετικά αναγνωριστικά <v:j k : :j 2 :j 1 > μέσω των οποίων καταγράφεται η «πορεία» της Αν η P i λάβει στον γύρο k την τιμή <v:j k :.. :j 2 :j 1 >, στον επόμενο γύρο προωθεί την τιμή <v:i:j k :.. :j 2 :j 1 > στις «υπόλοιπες» διεργασίες P j, j j 1..j k, j i Ο αριθμός των κύκλων επικοινωνίας καθορίζει το πόσες φορές θα διασταυρωθεί κάθε τιμή v που λαμβάνει μια διεργασία (με βάση τις τιμές που στέλνουν όλες οι διεργασίες που δεν συμμετείχαν στην προώθηση της) Κατανεμημένα Συστήματα 59 lalis@inf.uth.gr

60 Λογική διασταύρωσης πληροφορίας Για Ν=4 με f=1 διεργασίες 1 ος γύρος: η P 2 θα λάβει 1 τιμή από την P 1 (συντονιστής) 2 ος γύρος: η P 2 θα λάβει ως διασταύρωση αυτής της τιμής 2 επιπλέον τιμές από τις P 3 και P 4 Για Ν=7 με f=2 διεργασίες 1 ος γύρος: η P 2 θα λάβει 1 τιμή από την P 1 (συντονιστής) 2 ος γύρος: η P 2 θα λάβει ως διασταύρωση αυτής της τιμής 5 επιπλέον τιμές από τις P 3, P 4, P 5, P 6, P 7 3 ος γύρος: για κάθε μια τέτοια τιμή (π.χ. αυτήν της P 3 ), η P 2 θα λάβει ως διασταύρωση αυτής της τιμής 4 επιπλέον τιμές (π.χ. 4 τιμές από τις P 4, P 5, P 6, P 7 ) Σε κάθε επίπεδο αναδρομής κάθε διεργασία αποφασίζει με βάση τη τιμή που έλαβε «απ ευθείας» από μια διεργασία και τις (διασταυρωμένες) τιμές που λαμβάνει από τις υπόλοιπες Κατανεμημένα Συστήματα 60 lalis@inf.uth.gr

61 oι τιμές που βλέπει η P 2 p1 v1 v2 v3 p2 p3 p4 v4 v5 v6 v7 v8 v9 p3 p4 p2 p4 p2 p3 απόφαση της P 2 p2 p3 p4 v1:p1; v1:p1; v6:p3:p1; v8:p4:p1; v2:p1; v4:p2:p1; v2:p1; v9:p4:p1; v3:p1; v5:p2:p1; v7:p3:p1; v3:p1; d d d d2 d3 d4 Κατανεμημένα Συστήματα 61 lalis@inf.uth.gr

62 oι τιμές που βλέπει η P 2 p1 v1 v3 v6 p2 p4 p7 v7 v8 v9 v10 v11 v17 v18 v19v20v21 v32 v33 v34v35v36 p3 p4 p5 p6 p7 p2 p3 p5 p6 p7 p2 p3 p4 p5 p6 v5 v2 p6 p3 v27 v28 v29v30v31 v12 v13 v14v15v16 p2 p3 p4 p5 p7 p2 p4 p5 p6 p7 v4 p5 v22 v23 v24v25v26 p2 p3 p4 p6 p7 Κατανεμημένα Συστήματα 62 lalis@inf.uth.gr

63 p3 v37 v38 v39 v40 p4 p5 p6 p7 p2 v57 v58 v59 v60 p4 p5 p6 p7 p2 v77 v78 v79 v80 p3 p5 p6 p7 p2 v97 v98 v99 v100 p3 p4 p6 p7 p2 v117v118v119v120 p3 p4 p5 p7 p2 p4 v41 v42 v43 v44 p3 p5 p6 p7 p4 p2 v9 p5 v45 v46 v47 v48 p3 p4 p6 p7 p3 v14 p5 Κατανεμημένα Συστήματα 63 v137v138v139v140 p3 p4 p5 p6 v7 v12 v8 v13 v1 v2 p6 v49 v50 v51 v52 p3 p4 p5 p7 p7 v53 v54 v55 v56 p3 p4 p5 p6 v61 v62 v63 v64 v65 v66 v67 v68 v69 v70 v71 v72 v73 v74 v75 v76 p2 p5 p6 p7 p2 p4 p6 p7 p2 p4 p5 p7 p2 p4 p5 p6 v3 p4 v17 v18 v19 v21 v20 p3 p5 p6 p7 v81 v82 v83 v84 v85 v86 v87 v88 v89 v90 v91 v92 v93 v94 v95 v96 p2 p5 p6 p7 p2 p3 p6 p7 p2 p3 p5 p7 p2 p3 p5 p6 v4 p5 v22 p3 v23 v24 v26 p4 v25 p6 p7 v101v102v103v104 v105v106v107v108 v109v110v111v112 v113v114v115v116 p2 p4 p6 p7 p2 p3 p6 p7 p2 p3 p4 p7 p2 p3 p4 p6 v5 p6 v27 p3 v28 v29 p4 v30 v31 p5 p7 v121v122v123v124 v125v126v127v128 v129v130v131v132 v133v134v135v136 p2 p4 p5 p7 p2 p3 p5 p7 p2 p3 p4 p7 p2 p3 p4 p6 v6 p7 v32 p3 v33 v34 p4 v35 v36 p5 p6 v141v142v143v144 v145v146v147v148 v149v150v151v152 v153v154v155v156 p2 p4 p5 p6 p2 p3 p5 p6 p2 p3 p5 p6 p2 p3 p4 p5 v10 v15 p6 v11 v16 p7

64 Κατανεμημένα Συστήματα 64 v1:p1; v1:p1; v12:p3:p1; v17:p4:p1; v22:p5:p1; v27:p6:p1; v32:p7:p1; v12; v61:p4:p3:p1; v65:p5:p3:p1; v69:p6:p3:p1; v73:p7:p3:p1; v17; v81:p3:p4:p1; v85:p5:p4:p1; v89:p6:p4:p1; v93:p7:p4:p1; v22; v101:p3:p5:p1; v105:p4:p5:p1; v109:p6:p5:p1; v113:p7:p5:p1; v27; v121:p3:p6:p1; v125:p4:p6:p1; v129:p5:p6:p1; v133:p7:p5:p1; v32; v141:p3:p7:p1; v145:p4:p7:p1; v149:p5:p7:p1; v153:p6:p7:p1; d3:1 d d4:1 d d5:1 d d6:1 d d7:1 d v1:p1; d3:1; d4:1; d5:1; d6:1; d7:1; d2 d απόφαση της P 2

65 Αλγόριθμος για Ν>=f+2 με υπογεγραμμένες τιμές: υποθέσεις Ο παραλήπτης ενός μηνύματος μπορεί να ταυτοποιήσει (εγγυημένα) τον αποστολέα Μια διεργασία μπορεί να αντιληφθεί ότι μια διεργασία δεν έστειλε ένα μήνυμα (σε Tmax), ως όφειλε Μια βυζαντινή διεργασία δεν μπορεί να αλλάξει την τιμή που της έστειλε μια άλλη ορθή διεργασία Όμως, μια βυζαντινή διεργασία μπορεί να αλλάξει τις τιμές που στέλνουν άλλες βυζαντινές διεργασίες Κατανεμημένα Συστήματα 65

66 Αλγόριθμος για Ν>=f+2 με υπογεγραμμένες τιμές 0. Αρχικά V i :={} 1. Ο συντονιστής P c στέλνει πρόταση <v:c> σε κάθε P i 2. Αν P i λάβει <v:c> και δεν έχει ήδη λάβει τιμή <v':c>, θέτει V i :={v} και στέλνει <v:c:i> στις άλλες διεργασίες 3. Αν P i λάβει < <<v:c>:j 1 >: :j k >, θέτει V i :=V i +{v}, και αν k<f τότε στέλνει < <<v:c:j 1 >: :j k >:i> σε κάθε P j, j j 1..j k, j i (που δεν συμμετείχε στην προώθηση της v) 4. Όταν η P i δεν περιμένει άλλα μηνύματα, αποφασίζει v αν είναι το μόνο στοιχείο του V i, Κατανεμημένα Συστήματα 66 lalis@inf.uth.gr

67 Τερματισμός Κάθε τιμή που στέλνει ο συντονιστής προωθείται (το πολύ) f φορές έχουμε f+1 γύρους επικοινωνίας Αν η μετάδοση μηνυμάτων έχει άνω όριο Τmax, κάθε διεργασία μπορεί να αποφασίσει σε (f+1)tmax ανεξάρτητα από τον αριθμό των μηνυμάτων που έχει λάβει μέχρι τότε από κάθε διεργασία Μια βυζαντινή διεργασία (ίσως ο ίδιος ο συντονιστής) μπορεί να αποφασίσει να μην στείλει κάποιο μήνυμα αυτό δεν επηρεάζει τον τερματισμό Κατανεμημένα Συστήματα 67 lalis@inf.uth.gr

68 Συνέπεια με ορθό συντονιστή Η P c στέλνει την ίδια τιμή <v:c> σε κάθε P i Κάθε P i θα λάβει <v:c>, αν είναι ορθή θα θέσει V i :={v} Οι βυζαντινές διεργασίες δεν μπορούν να προωθήσουν διαφορετική τιμή για λογαριασμό του συντονιστή δεν μπορούν να αλλάξουν την υπογεγραμμένη τιμή του Το «χειρότερο» που μπορεί να κάνει μια βυζαντινή διεργασία είναι να μην στείλει καθόλου μηνύματα αυτό δεν επηρεάζει το V i Συνεπώς, την στιγμή της απόφασης, κάθε ορθή διεργασία P i θα έχει V i ={v}, και θα αποφασίσει v Κατανεμημένα Συστήματα 68 lalis@inf.uth.gr

69 Συνέπεια με βυζαντινό συντονιστή Αρκεί να δείξουμε i,j: failed(p i ) failed(p j ) v V i v V j Ισχύει αν P i και P j λάβουν τις ίδιες τιμές 1. Αν η P i λάβει <v:c>, θα στείλει <<v:c>:i> στην P j 2. Αν η P i λάβει < <<v:c>:j1>: :jk> (α) αν j {j1,,jk}, τότε η P j έχει ήδη λάβει την v (β) διαφορετικά (i) k<f: η P i θα στείλει < <<v:c:j1>: :jk>:i> στην P j (ii) k=f: αφού o συντονιστής έχει βυζαντινή βλάβη, τουλάχιστον μια από τις P j1,,p jk είναι ορθή και άρα έχει ήδη προωθήσει την τιμή v στην P j Κατανεμημένα Συστήματα 69 lalis@inf.uth.gr

70 Βυζαντινές βλάβες σε ασύγχρονο σύστημα; Όπως για τις βλάβες crash, δεν υπάρχει αλγόριθμος που να καταλήγει εγγυημένα σε συμφωνία, με προκαθορισμένο αριθμό γύρων επικοινωνίας και μηνυμάτων Υπάρχουν όμως πιθανοτικοί/τυχοδιωκτικοί αλγόριθμοι δεν υπάρχει άνω όριο στους γύρους επικοινωνίας / μηνύματα κάθε διεργασία επιλέγει για τον επόμενο γύρο επικοινωνίας την τιμή που πλειοψήφησε στον προηγούμενο γύρο προσαρμόζει το βάρος της πρότασης της αντίστοιχα Τερματισμός επιτυγχάνεται όταν σχηματιστεί ικανή (μη αναστρέψιμη) πλειοψηφία ακόμα και αν όλες οι βυζαντινές διεργασίες συνεργαστούν συντονισμένα για να αποτρέψουν την συμφωνία Κατανεμημένα Συστήματα 70 lalis@inf.uth.gr

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

Κατανεμημένα Συστήματα Ι Συναίνεση με σφάλματα διεργασιών Κατανεμημένα Συστήματα Ι 5η Διάλεξη 10 Νοεμβρίου 2016 Παναγιώτα Παναγοπούλου Κατανεμημένα Συστήματα Ι 5η Διάλεξη 1 Συναίνεση με σφάλματα διεργασιών Προηγούμενη διάλεξη

Διαβάστε περισσότερα

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

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Συναίνεση και Σφάλματα Διεργασιών Παναγιώτα Παναγοπούλου Περίληψη Συναίνεση με σφάλματα διεργασιών Το πρόβλημα Ο αλγόριθμος FloodSet Επικύρωση δοσοληψιών Ορισμός του προβλήματος

Διαβάστε περισσότερα

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

Αξιόπιστη μεταφορά δεδομένων πάνω από αναξιόπιστο δίκτυο. Κατανεμημένα Συστήματα 1 Αξιόπιστη μεταφορά δεδομένων πάνω από αναξιόπιστο δίκτυο Κατανεμημένα Συστήματα lalis@inf.uth.gr Μοντέλο δικτύου* Το δίκτυο δέχεται και επιστρέφει πακέτα κάθε πακέτο μεταφέρει έναν περιορισμένο αριθμό

Διαβάστε περισσότερα

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

Βασικές έννοιες. Κατανεμημένα Συστήματα 1 Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα

Διαβάστε περισσότερα

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

Βασικές έννοιες. Κατανεμημένα Συστήματα 1 Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα

Διαβάστε περισσότερα

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

Αξιόπιστη μεταφορά δεδομένων πάνω από αναξιόπιστο δίκτυο. Κατανεμημένα Συστήματα 1 Αξιόπιστη μεταφορά δεδομένων πάνω από αναξιόπιστο δίκτυο Κατανεμημένα Συστήματα lalis@inf.uth.gr Μοντέλο δικτύου Το δίκτυο δέχεται και επιστρέφει πακέτα κάθε πακέτο μεταφέρει έναν περιορισμένο αριθμό bytes

Διαβάστε περισσότερα

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

Εντοπισμός τερματισμού. Κατανεμημένα Συστήματα 1 Εντοπισμός τερματισμού Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Μοντέλο συστήματος Μια ομάδα διεργασιών εκτελεί έναν υπολογισμό Κατάσταση διεργασίας: ενεργητική ή παθητική (ανάλογα με το αν εκτελεί μέρος

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Κατανεμημένα Συστήματα Ι Συναίνεση χωρίς την παρουσία σφαλμάτων Κατανεμημένα Συστήματα Ι 4η Διάλεξη 27 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Κατανεμημένα Συστήματα Ι 4η Διάλεξη 1 Συναίνεση χωρίς την παρουσία σφαλμάτων Προηγούμενη

Διαβάστε περισσότερα

Consensus and related problems

Consensus and related problems Consensus and related s Τι θα δούµε ΟΜΑ Α: Ιωάννα Ζέλιου Α.Μ.: 55 Μελισσόβας Σπύρος Α.Μ.: 21 Παπαδόπουλος Φίλιππος Α.Μ.: 60 Consensus Byzantine generals Interactive consistency Agreement Problems Imposibility

Διαβάστε περισσότερα

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

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων Κ Σ Ι Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων Παναγιώτα Παναγοπούλου Άσκηση 1. Υποθέστε ότι οι διεργασίες ενός σύγχρονου κατανεμημένου συστήματος έχουν μοναδικές ταυτότητες (UIDs), γνωρίζουν ότι είναι συνδεδεμένες

Διαβάστε περισσότερα

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

Διάλεξη 17: Συμφωνία με Βυζαντινά Σφάλματα. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Διάλεξη 17: Συμφωνία με Βυζαντινά Σφάλματα ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Βυζαντινά Σφάλματα Τι θα δούμε σήμερα Κάτω Φράγμα για Αλγόριθμους Συμφωνίας με Βυζαντινά Σφάλματα: n > 3f Αλγόριθμος Συμφωνίας

Διαβάστε περισσότερα

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

Συνεπείς καθολικές καταστάσεις & επιβεβαίωση ιδιοτήτων. Κατανεμημένα Συστήματα 1 Συνεπείς καθολικές καταστάσεις & επιβεβαίωση ιδιοτήτων Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Λογικά συνεπείς τομές Τμήμα τοπικής ιστορίας: h i.k {e i.1,e i.2,e i.k } τμήμα της τοπικής εκτέλεσης στην

Διαβάστε περισσότερα

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

Αμοιβαίος αποκλεισμός με ασύγχρονη επικοινωνία (ανταλλαγή μηνυμάτων) Ταυτόχρονος Προγραμματισμός 1 Αμοιβαίος αποκλεισμός με ασύγχρονη επικοινωνία (ανταλλαγή μηνυμάτων) Ταυτόχρονος Προγραμματισμός 1 lalis@inf.uth.gr Μοντέλο δικτύου/επικοινωνίας Αξιοπιστία (δεν χάνονται μηνύματα) Άγνωστη ταχύτητα μετάδοσης

Διαβάστε περισσότερα

Στοιχεία Θεωρίας Αριθμών και Εφαρμογές στην Κρυπτογραφία. Fast Asynchronous Byzantine Agreement with Optimal Resilience

Στοιχεία Θεωρίας Αριθμών και Εφαρμογές στην Κρυπτογραφία. Fast Asynchronous Byzantine Agreement with Optimal Resilience Στοιχεία Θεωρίας Αριθμών και Εφαρμογές στην Κρυπτογραφία Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Fast Asynchronous Byzantine Agreement with Optimal Resilience Πρόβλημα των στρατηγών του

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Συνεπής παρατήρηση εκτέλεσης & συνεπείς καθολικές καταστάσεις. Κατανεμημένα Συστήματα 1 Συνεπής παρατήρηση εκτέλεσης & συνεπείς καθολικές καταστάσεις Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Λογικά συνεπείς τομές Τμήμα τοπικής ιστορίας: h i.k {e i.1,e i.2,e i.k } τμήμα της τοπικής εκτέλεσης

Διαβάστε περισσότερα

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

Διάλεξη 18: Πρόβλημα Βυζαντινών Στρατηγών. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Διάλεξη 8: Πρόβλημα Βυζαντινών Στρατηγών ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Ορισμός Προβλήματος Τι θα δούμε σήμερα Συνθήκες Συμφωνίας κάτω από Βυζαντινό Στρατηγό Πιθανοτικοί αλγόριθμοι επίλυσης Βυζαντινής

Διαβάστε περισσότερα

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

Εντοπισμός αδιεξόδου. Κατανεμημένα Συστήματα 1 Εντοπισμός αδιεξόδου Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Αδιέξοδο σε κατανεμημένο σύστημα Αδιέξοδο: «κυκλική» και ατέρμονη αναμονή μεταξύ δύο ή περισσοτέρων διεργασιών Το πρόβλημα υφίσταται ήδη σε

Διαβάστε περισσότερα

Ομαδική Επικοινωνία (Group Communication) Κατανεμημένα Συστήματα 1

Ομαδική Επικοινωνία (Group Communication) Κατανεμημένα Συστήματα 1 Ομαδική Επικοινωνία (Group Communication) Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ομαδική επικοινωνία Σαφής διαχωρισμός ανάμεσα στις διεργασίες που είναι και σε αυτές που δεν είναι μέλη της ομάδας Ανοιχτή

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Φυσικά και λογικά ρολόγια. Κατανεμημένα Συστήματα 1 Φυσικά και λογικά ρολόγια Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Τοπικά γεγονότα/συμβάντα Ορίζουμε ως γεγονός e i.x την x-οστή ενέργεια που έλαβε χώρα τοπικά στην διεργασία P i Το επίπεδο αφαίρεσης

Διαβάστε περισσότερα

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

Ανοχή απέναντι σε Σφάλµατα Fault Tolerance Ανοχή απέναντι σε Σφάλµατα Fault Tolerance Μαρία Ι. Ανδρέου ΗΜΥ417, ΗΜΥ 663 Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο 2006-2007 Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο Κύπρου Βασικές

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Κατανεμημένα Συστήματα Ασκήσεις. Κατανεμημένα Συστήματα Ασκήσεις 2016-2017 http://www.cslab.ece.ntua.gr/courses/distrib Άσκηση 1 3 διεργασίες, η P1, η P2 και η P3 στέλνουν μεταξύ τους multicast μηνύματα. Σε περίπτωση που θέλουμε να εξασφαλίσουμε:

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Διάλεξη 1: Εισαγωγή στον Κατανεμημένο Υπολογισμό. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Διάλεξη 1: Εισαγωγή στον Κατανεμημένο Υπολογισμό ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Τι θα δούμε σήμερα Τι είναι ένα Κατανεμημένο Σύστημα; Επικοινωνία, Χρονισμός, Σφάλματα Μοντέλο Ανταλλαγής Μηνυμάτων 1

Διαβάστε περισσότερα

Ανοχήβλαβών. Κατανεµηµένα Συστήµατα 19-1

Ανοχήβλαβών. Κατανεµηµένα Συστήµατα 19-1 Ανοχήβλαβών Εισαγωγή Πλεονασµός Ενεργή παραγωγή αντιγράφων Παθητική παραγωγή αντιγράφων Σύγχρονο πρωτόκολλο Ασύγχρονο πρωτόκολλο Επανόρθωση Ενεργητική ή παθητική; Κατανεµηµένη συµφωνία Πρόβληµα των δύο

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Τελικές εξετάσεις 3 Ιανουαρίου 27 Διάρκεια εξέτασης: 3 ώρες (2:-5:) ΘΕΜΑ ο

Διαβάστε περισσότερα

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

Κατανεμημένα Συστήματα. Javascript LCR example Κατανεμημένα Συστήματα Javascript LCR example Javascript JavaScript All JavaScript is the scripting language of the Web. modern HTML pages are using JavaScript to add functionality, validate input, communicate

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI Β. Μεγαλοοικονόμου Κατανεμημένες Βάσεις Δεδομένων (παρουσίαση βασισμένη εν μέρη σε σημειώσεις των Silberchatz, Korth και Sudarshan και του C. Faloutsos)

Διαβάστε περισσότερα

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

Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού σε γενικά δίκτυα 20 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Εκλογή αρχηγού σε γενικά δίκτυα Προηγούμενη διάλεξη Σύγχρονα Κατανεμημένα Συστήματα Μοντελοποίηση συστήματος Πρόβλημα εκλογής αρχηγού

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Διάλεξη 15: Ατομική ΚΚΜ Εγγραφής/Ανάγνωσης με Γρήγορες Λειτουργίες. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Διάλεξη 5: Ατομική ΚΚΜ Εγγραφής/Ανάγνωσης με Γρήγορες Λειτουργίες ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Γρήγορες Λειτουργίες Τι θα δούμε σήμερα Συστήματα Απαρτίας Αλγόριθμος SLIQ Χρήση Quorum Views ΕΠΛ432:

Διαβάστε περισσότερα

ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε:

ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε: ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε: Μια βάση δεδοµένων είναι σε συνεπή κατάσταση (consistent state) εάν όλοι οι περιορισµοί ακεραιότητας που έχουν δηλωθεί για αυτήν πληρούνται. Οι αλλαγές στην κατάσταση

Διαβάστε περισσότερα

Σηματοφόροι (Σηματοφορείς) Ταυτόχρονος Προγραμματισμός 1

Σηματοφόροι (Σηματοφορείς) Ταυτόχρονος Προγραμματισμός 1 Σηματοφόροι (Σηματοφορείς) 1 lalis@inf.uth.gr Αποφυγή ενεργής αναμονής if () { WAIT(); Μπορεί να γίνει εναλλαγή αφού το νήμα κάνει τον έλεγχο της συνθήκης αναμονής και την βρει αληθή, αλλά προτού αυτό

Διαβάστε περισσότερα

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

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού και κατασκευή BFS δένδρου σε σύγχρονο γενικό δίκτυο Παναγιώτα Παναγοπούλου Περίληψη Εκλογή αρχηγού σε γενικά δίκτυα Ορισμός του προβλήματος Ο αλγόριθμος FloodMax

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1 Επικοινωνία με μηνύματα Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Επικοινωνία με ανταλλαγή μηνυμάτων Η επικοινωνία με μηνύματα είναι ο πιο ευέλικτος τρόπος αλληλεπίδρασης σε κατανεμημένα συστήματα πιο

Διαβάστε περισσότερα

Ελεγκτές/Παρακολουθητές (Monitors) Ταυτόχρονος Προγραμματισμός 1

Ελεγκτές/Παρακολουθητές (Monitors) Ταυτόχρονος Προγραμματισμός 1 Ελεγκτές/Παρακολουθητές (Monitors) 1 lalis@inf.uth.gr Ελεγκτές Αμοιβαίος αποκλεισμός στο πλαίσιο ενός τμήματος λογισμικού που προσπελάζεται με δομημένο τρόπο, μέσω προκαθορισμένης διασύνδεσης (API) Ο συγχρονισμός

Διαβάστε περισσότερα

Ανοχή βλαβών με καταγραφή κατάστασης και οπισθοδρόμηση (checkpoints & rollback) Κατανεμημένα Συστήματα 1

Ανοχή βλαβών με καταγραφή κατάστασης και οπισθοδρόμηση (checkpoints & rollback) Κατανεμημένα Συστήματα 1 Ανοχή βλαβών με καταγραφή κατάστασης και οπισθοδρόμηση (checkpoints & rollback) Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Μοντέλο συστήματος Ένα κατανεμημένο σύστημα με Ν διεργασίες που επικοινωνούν μεταξύ

Διαβάστε περισσότερα

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

Εκλογή αρχηγού σε σύγχρονο δακτύλιο: Οι αλγόριθμοι LCR και HS. 1 Ο αλγόριθμος LCR (Le Lann, Chang, and Roberts) Κ Σ Ι Εκλογή αρχηγού σε σύγχρονο δακτύλιο: Οι αλγόριθμοι LCR και HS Παναγιώτα Παναγοπούλου 1 Ο αλγόριθμος LCR (Le Lann, Chang, and Roberts) Ο αλγόριθμος LCR είναι ένας αλγόριθμος εκλογής αρχηγού σε ένα

Διαβάστε περισσότερα

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M. ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26 Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.: 43 Άσκηση 3 Μια αξιόπιστη multicast υπηρεσία επιτρέπει σε έναν

Διαβάστε περισσότερα

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

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1 I. Παράδειγμα 1: Απόδοση TCP με παράθυρο αποστολέα = 1 a. Ο μηχανισμός όπως έχει περιγραφεί ως τώρα στέλνει μόνο ένα πακέτο και σταματάει να μεταδίδει έως ότου πάρει το ack του πακέτου αυτού (λειτουργία

Διαβάστε περισσότερα

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

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:05 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων

Διαβάστε περισσότερα

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

Απαντήσεις. Απάντηση. Απάντηση 6 η σειρά ασκήσεων Άλκης Γεωργόπουλος Α.Μ. 39 Αναστάσιος Κοντογιώργης Α.Μ. 43 Άσκηση 1. Απαντήσεις Η αλλαγή ενός ρολογιού προς τα πίσω µπορεί να προκαλέσει ανεπιθύµητη συµπεριφορά σε κάποια προγράµµατα.

Διαβάστε περισσότερα

Πρωτόκολλο ARP. Γεωργιλά Χιονία Καθηγήτρια Πληροφορικής ΠΕ1901

Πρωτόκολλο ARP. Γεωργιλά Χιονία Καθηγήτρια Πληροφορικής ΠΕ1901 Πρωτόκολλο ARP Γεωργιλά Χιονία Καθηγήτρια Πληροφορικής ΠΕ1901 Ποιο είναι το έργο του Πρωτοκόλλου Μετατροπής Διεύθυνσης (Address Resolution Protocol ARP) Κάνει δυναμική μετατροπή των IP διευθύνσεων σε φυσικές

Διαβάστε περισσότερα

Προβλήματα ταυτόχρονης εκτέλεσης (για νήματα με κοινή μνήμη)

Προβλήματα ταυτόχρονης εκτέλεσης (για νήματα με κοινή μνήμη) Προβλήματα ταυτόχρονης εκτέλεσης (για νήματα με κοινή μνήμη) ΙΙΙ 1 lalis@inf.uth.gr Ταυτόχρονη εκτέλεση Ο προγραμματιστής δεν ελέγχει (άμεσα) την εκτέλεση/εναλλαγή των νημάτων Δεν γνωρίζει πότε θα αρχίσει

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Καθολικέςκαταστάσεις. Ορισµοί Κατασκευή καθολικών καταστάσεων Παθητική στρατηγική Ενεργητική στρατηγική. Κατανεµηµένα Συστήµατα 04-1 Καθολικέςκαταστάσεις Ορισµοί Κατασκευή καθολικών καταστάσεων Παθητική στρατηγική Ενεργητική στρατηγική Κατανεµηµένα Συστήµατα 04-1 Ορισµοί Τοπικήιστορία διεργασίας p i Έστω ότι e ij είναι το γεγονός jτης

Διαβάστε περισσότερα

Σηματοφόροι (Σηματοφορείς) Ταυτόχρονος Προγραμματισμός 1

Σηματοφόροι (Σηματοφορείς) Ταυτόχρονος Προγραμματισμός 1 Σηματοφόροι (Σηματοφορείς) 1 lalis@inf.uth.gr Αποφυγή ενεργής αναμονής εναλλαγή if/while () { WAIT(); Μπορεί να γίνει εναλλαγή αφού το νήμα κάνει τον έλεγχο της συνθήκης αναμονής και την βρει αληθή, αλλά

Διαβάστε περισσότερα

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

Παράδειγµα: Προσοµοίωση µιας ουράς FIFO Οι λειτουργίες που υποστηρίζονται από µια ουρά FIFO είναι: [enq(q,x), ack(q)] [deq(q), return(q,x)] όπου x είν Wait-free προσοµοιώσεις αυθαίρετων αντικειµένων Έχουµε δει ότι το πρόβληµα της οµοφωνίας δεν µπορεί να επιλυθεί µε χρήση µόνο read/write καταχωρητών. Πολλοί µοντέρνοι επεξεργαστές παρέχουν επιπρόσθετα

Διαβάστε περισσότερα

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

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Μοντέλο σύγχρονου κατανεμημένου δικτύου Εκλογή αρχηγού σε σύγχρονο δακτύλιο Παναγιώτα Παναγοπούλου Περίληψη Σύγχρονα Κατανεμημένα Συστήματα Μοντέλο Σφάλματα Πολυπλοκότητα Εκλογή

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Κατανεμημένες δοσοληψίες

Κατανεμημένες δοσοληψίες Κατανεμημένες δοσοληψίες Κατανεμημένα Συστήματα 2018-2019 http://www.cslab.ece.ntua.gr/courses/distrib Στο προηγούμενο μάθημα Απλές δοσοληψίες (transactions) Ιδιότητες ACID Και κυρίως atomicity και durability

Διαβάστε περισσότερα

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

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1 Επικοινωνία με μηνύματα Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Επικοινωνία με ανταλλαγή μηνυμάτων Η επικοινωνία με μηνύματα είναι ο πιο ευέλικτος τρόπος αλληλεπίδρασης σε κατανεμημένα συστήματα πιο

Διαβάστε περισσότερα

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Πρόγραμμα και εκτέλεση προγράμματος Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

Διαβάστε περισσότερα

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

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που 7.7 Πρωτόκολλο ARP 1 ύο είδη διευθύνσεων: MAC - IP Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που µπορεί

Διαβάστε περισσότερα

Λύση: Λύση: Λύση: Λύση:

Λύση: Λύση: Λύση: Λύση: 1. Ένας δίαυλος έχει ρυθµό δεδοµένων 4 kbps και καθυστέρηση διάδοσης 20 msec. Για ποια περιοχή µηκών των πλαισίων µπορεί η µέθοδος παύσης και αναµονής να έχει απόδοση τουλάχιστον 50%; Η απόδοση θα είναι

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Κατανεμημένες δοσοληψίες

Κατανεμημένες δοσοληψίες Κατανεμημένες δοσοληψίες Κατανεμημένα Συστήματα 2015-2016 http://www.cslab.ece.ntua.gr/courses/distrib Στο προηγούμενο μάθημα Απλές δοσοληψίες (transactions) Flat Nested Ιδιότητες ACID Και κυρίως atomicity

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1 I. Παράδειγμα 1: Απόδοση TCP με παράθυρο αποστολέα = 1 a. Ο μηχανισμός όπως έχει περιγραφεί ως τώρα στέλνει μόνο ένα πακέτο και σταματάει να μεταδίδει έως ότου πάρει το ack του πακέτου αυτού (λειτουργία

Διαβάστε περισσότερα

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 5ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 Η ΕΝΤΟΛΗ for Με την εντολή for δημιουργούμε βρόχους επανάληψης σε

Διαβάστε περισσότερα

Αριθμοθεωρητικοί Αλγόριθμοι

Αριθμοθεωρητικοί Αλγόριθμοι Αλγόριθμοι που επεξεργάζονται μεγάλους ακέραιους αριθμούς Μέγεθος εισόδου: Αριθμός bits που απαιτούνται για την αναπαράσταση των ακεραίων. Έστω ότι ένας αλγόριθμος λαμβάνει ως είσοδο έναν ακέραιο Ο αλγόριθμος

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας Κρυπτογραφία MAC - Γνησιότητα/Ακεραιότητα μηνύματος Πέτρος Ποτίκας Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 1 / 32 Περιεχόμενα 1 Message

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 231: Δομές Δεδομένων και Αλγόριθμοι ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας ΠΕΡΙΓΡΑΦΗ Σε αυτή την άσκηση καλείστε να αναλύσετε και να υπολογίσετε το

Διαβάστε περισσότερα

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

Περίληψη Φροντιστηρίου. Κατανεμημένα Συστήματα Ι. Το περιβάλλον DAP - Χαρακτηριστικά. Το περιβάλλον DAP Τι είναι. Κατανεμημένα Συστήματα Ι 1 Περίληψη Φροντιστηρίου 2 Το Περιβάλλον DAP Φροντιστήριο Ένα παράδειγμα υλοποίησης στο DAP Δευτέρα 14 Νοεμβρίου 2005 Γιάννης Κρομμύδας Το περιβάλλον DAP Τι είναι Το περιβάλλον

Διαβάστε περισσότερα

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ Ερωτήσεις 7.3 Πρωτόκολλο TCP 1. Τι είναι το τµήµα (segment) στο πρωτόκολλο TCP; Από ποια µέρη αποτελείται; 2. Για ποιο σκοπό χρησιµοποιείται ο Αριθµός ειράς στην επικεφαλίδα ενός segment TCP; 3. την περίπτωση

Διαβάστε περισσότερα

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. α. Πριν εμφανιστεί η τεχνολογία ISDN οι υπηρεσίες φωνής, εικόνας και δεδομένων απαιτούσαν διαφορετικά δίκτυα.

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. α. Πριν εμφανιστεί η τεχνολογία ISDN οι υπηρεσίες φωνής, εικόνας και δεδομένων απαιτούσαν διαφορετικά δίκτυα. ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΕΠΑΛ (ΟΜΑΔΑ Α ) & ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΘΕΜΑ Α ΚΥΡΙΑΚΗ 04/05/2014- ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΟΚΤΩ (8) ΕΚΦΩΝΗΣΕΙΣ Α1. Να χαρακτηρίσετε

Διαβάστε περισσότερα

Quicksort. Επιμέλεια διαφανειών: Δ. Φωτάκης Μικροαλλαγές: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Quicksort. Επιμέλεια διαφανειών: Δ. Φωτάκης Μικροαλλαγές: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Quicksort Επιμέλεια διαφανειών: Δ. Φωτάκης Μικροαλλαγές: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Quicksort [Hoare, 6] Στοιχείο διαχωρισμού (pivot),

Διαβάστε περισσότερα

Quicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1

Quicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1 Quicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1 Quicksort [Hoare, 62] Στοιχείο διαχωρισµού (pivot), π.χ. πρώτο, τυχαίο, Αναδιάταξη και διαίρεση εισόδου σε δύο υπο-ακολουθίες:

Διαβάστε περισσότερα

Quicksort. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

Quicksort. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο Quicksort ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Quicksort [Hoare, 62] Στοιχείο διαχωρισμού (pivot), π.χ. πρώτο, τυχαίο, Αναδιάταξη και διαίρεση

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort

Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Η διαδικασία PercolateDown, Δημιουργία Σωρού O Αλγόριθμος Ταξινόμησης HeapSort Υλοποίηση, Παραδείγματα

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών I Εργαστήρια

Δίκτυα Υπολογιστών I Εργαστήρια Δίκτυα Υπολογιστών I Εργαστήρια Άσκηση 7 η Υποεπίπεδο ελέγχου λογικής σύνδεσης Έλεγχος Σφαλμάτων Πανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Διδάσκων: Παπαπέτρου Ευάγγελος 2 1 Εισαγωγή

Διαβάστε περισσότερα

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος?

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος? Μετάδοση Δεδομένων Δίκτυα Υπολογιστών 68 Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της Απάντηση : Στα δίκτυα μεταγωγής κυκλώματος (circuit switching networks), η μετάδοση των

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο 2010-2011 Φροντιστήριο Ασκήσεις στο TCP ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο 2010-2011 Φροντιστήριο Ασκήσεις στο TCP Άσκηση 1 η : Καθυστερήσεις Θεωρείστε μία σύνδεση μεταξύ δύο κόμβων Χ και Υ. Το εύρος ζώνης του συνδέσμου είναι 10Gbits/sec

Διαβάστε περισσότερα

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i. Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

Διαβάστε περισσότερα

επιστρέφει το αμέσως μεγαλύτερο από το x στοιχείο του S επιστρέφει το αμέσως μικρότερο από το x στοιχείο του S

επιστρέφει το αμέσως μεγαλύτερο από το x στοιχείο του S επιστρέφει το αμέσως μικρότερο από το x στοιχείο του S Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών,, τα οποίo είναι υποσύνολο του. Υποστηριζόμενες λειτουργίες αναζήτηση(s,x): εισαγωγή(s,x): διαγραφή(s,x): διάδοχος(s,x): προκάτοχος(s,x):

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 1 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 1 Λύσεις (α) Χρησιμοποιούμε τις επιπλέον μεταβλητές PC i, (program counters) οι οποίες παίρνουν ως τιμές ονόματα των γραμμών του κώδικα όπως φαίνεται πιο κάτω. Process P i :

Διαβάστε περισσότερα

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο Αρχές Δικτύων Επικοινωνιών Επικοινωνίες Δεδομένων Μάθημα 4 ο Τα επικοινωνιακά δίκτυα και οι ανάγκες που εξυπηρετούν Για την επικοινωνία δύο συσκευών απαιτείται να υπάρχει μεταξύ τους σύνδεση από σημείο

Διαβάστε περισσότερα

for for for for( . */

for for for for( . */ Εισαγωγή Στον Προγραµµατισµό «C» Βρόχοι Επανάληψης Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Ο βρόχος for Η εντολή for χρησιµοποιείται

Διαβάστε περισσότερα

Ιδιοκτησία Αντικειµένου

Ιδιοκτησία Αντικειµένου Software Transactional Memory H STM υποστηρίζει την εκτέλεση δοσοληψιών από τις διεργασίες, οι οποίες περιέχουν λειτουργίες που ο χρήστης θέλει να εκτελέσει στα διαµοιραζόµενα αντικείµενα. H STM εγγυάται

Διαβάστε περισσότερα

Πρωτόκολλο TCP Διάλεξη ΙΙI

Πρωτόκολλο TCP Διάλεξη ΙΙI Πρωτόκολλο TCP Διάλεξη ΙΙI Χρόνος επαναμετάδοσης Στην προηγούμενη διάλεξη είδαμε ότι: Η πρόβλεψη του χρόνου επαναμετάδοσης ενός πακέτου βάσει του εκθετικού μέσου παρατηρημένου χρόνου παράδοσης παλιότερων

Διαβάστε περισσότερα

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

HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο 2016-2017 Δέυτερη Προγραμματιστική Εργασία Προθεσμία παράδοσης: 19/6/2017 1. Γενική Περιγραφή Στην δεύτερη προγραμματιστική εργασία καλείστε να υλοποιήσετε

Διαβάστε περισσότερα

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

Διάλεξη 3: Αλγόριθμοι σε Γράφους ΙΙ. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Διάλεξη : Αλγόριθμοι σε Γράφους ΙΙ ΕΠΛ : Κατανεμημένοι Αλγόριθμοι Κατασκευή ΓΔ Γνωστή Ρίζα Τι θα δούμε σήμερα Κατασκευή ΓΔ Κατά Βάθος Αναζήτησης - Γνωστή Ρίζα Κατασκευή ΓΔ Άγνωστη Ρίζα ΕΠΛ: Κατανεµηµένοι

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Τρίτη Σειρά Ασκήσεων ΑΣΚΗΣΗ 1 ΑΣΚΗΣΗ 1 ΛΥΣΗ ΑΣΚΗΣΗ 2

Τρίτη Σειρά Ασκήσεων ΑΣΚΗΣΗ 1 ΑΣΚΗΣΗ 1 ΛΥΣΗ ΑΣΚΗΣΗ 2 Τρίτη Σειρά Ασκήσεων ΑΣΚΗΣΗ 1 o Ένα πακέτο ανώτερου επιπέδου τεμαχίζεται σε 10 πλαίσια, κάθε ένα από τα οποία έχει πιθανότητα 80 τοις εκατό να φτάσει χωρίς σφάλμα. Αν το πρωτόκολλο συνδέσου μετάδοσης δεδομένων

Διαβάστε περισσότερα

ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου

ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου Σκοπός και περίγραμμα της Ενότητας 4 Σκοπός της παρουσίασης Να μελετήσουμε τις συναρτήσεις που ελέγχουν την ροή και την εκτέλεση ενός προγράμματος Σύνοψη

Διαβάστε περισσότερα

Αδιέξοδα (Deadlocks)

Αδιέξοδα (Deadlocks) Αδιέξοδα (Deadlocks) Περίληψη Αδιέξοδα (deadlocks) Τύποι πόρων (preemptable non preemptable) Μοντελοποίηση αδιεξόδων Στρατηγικές Στρουθοκαµηλισµός (ostrich algorithm) Ανίχνευση και αποκατάσταση (detection

Διαβάστε περισσότερα