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

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

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

Transcript

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

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

3 Μοντέλο/υποθέσεις εργασίας Υπηρεσία δικτύου/μεταφοράς send: αποστολή μηνύματος (top-down) deliver: παράδοση μηνύματος (bottom-up) Υπηρεσία ομαδικής επικοινωνίας send: αποστολή ομαδικού μηνύματος deliver: παράδοση ομαδικού μηνύματος Βλάβες fail-stop: η διεργασία σταματά να λειτουργεί και (κάπως) ενημερώνονται όλες οι υπόλοιπες Το δίκτυο είναι αξιόπιστο: δεν χάνει μηνύματα, ούτε δημιουργεί από μόνο του διπλότυπα Κατανεμημένα Συστήματα 3 lalis@inf.uth.gr

4 Application Application Application send deliver Group Communication send deliver Network Network Network Κατανεμημένα Συστήματα 4 lalis@inf.uth.gr

5 Basic multicast (BM) Κάθε ομαδικό μήνυμα παραδίδεται το πολύ μια φορά σε κάθε διεργασία/κόμβο που είναι μέλος της ομάδας Αν ο αποστολέας δεν παρουσιάσει βλάβη, το μήνυμα θα παραδοθεί σε όλα τα μέλη (που δεν έχουν βλάβη) Αν ο αποστολέας παρουσιάσει βλάβη (κατά την διαδικασία της αποστολής), δεν δίνεται καμία εγγύηση αναφορικά με τη παράδοση του μηνύματος στα μέλη το μήνυμα μπορεί τελικά να παραδοθεί σε όλα τα μέλη, σε κάποια μέλη ή σε κανένα μέλος της ομάδας Κατανεμημένα Συστήματα 5 lalis@inf.uth.gr

6 (1) p1 p2 p3 p4 (2) p1 p2 p3 p4 (3) p1 p2 p3 p4 (4) p1 p2 p3 p4 send deliver Κατανεμημένα Συστήματα 6 lalis@inf.uth.gr

7 application BM-send BM-deliver BM-init B-multicast net-send net-deliver reliable network Κατανεμημένα Συστήματα 7 lalis@inf.uth.gr

8 BM-Init(procs): grp=procs; BM-send(m): for-each p in grp: net-send(p,<βμ-msg,m>); net-deliver(<βμ-msg,m>): BM-deliver(m); Κατανεμημένα Συστήματα 8 lalis@inf.uth.gr

9 Παρατηρήσεις Η επανειλημμένη αποστολή προφανώς αποτελεί μη βέλτιστη λύση για μια πραγματική υλοποίηση Μπορεί να γίνουν διάφορες βελτιστοποιήσεις βλέπε επικοινωνία 1->Ν Αν το δίκτυο δεν είναι αξιόπιστο, το πρωτόκολλο πρέπει να επεκταθεί κατάλληλα επιβεβαιώσεις, επανεκπομπές, αναγνώριση διπλοτύπων Κατανεμημένα Συστήματα 9 lalis@inf.uth.gr

10 Reliable (atomic) multicast (RM) Αν υπάρχει τουλάχιστον ένα μέλος της ομάδας που δεν παρουσιάζει βλάβη και έλαβε το μήνυμα, το μήνυμα θα παραδοθεί τελικά σε όλα τα μέλη της ομάδας (που δεν παρουσιάζουν βλάβη) Η προώθηση μηνυμάτων γίνεται κοινή ευθύνη όλων όχι μόνο του αρχικού αποστολέα Απλή υλοποίηση: κάθε μέλος στο οποίο φτάνει ένα (νέο) ομαδικό μήνυμα, το ξαναστέλνει σε όλους μπορεί να γίνουν διάφορες βελτιστοποιήσεις Κατανεμημένα Συστήματα 10

11 (1) reliable multicast p1 p2 p3 p4 (2) ΝΟΤ reliable multicast p1 p2 p3 p4 (3) reliable multicast p1 p2 p3 p4 (4) ΝΟΤ reliable multicast p1 p2 p3 p4 send deliver Κατανεμημένα Συστήματα 11

12 application RΜ-send RM-deliver RM-init R-multicast BM-send BM-deliver B-multicast Κατανεμημένα Συστήματα 12

13 RM-Init(procs): BM-Init(procs); n=0; ids={}; RM-send(m): n++; BM-send(<RM-MSG,myid.n,m>); BM-deliver(<RM-MSG,pid.k,m>): if (pid.k not in ids) { ids = ids + pid.k; if (pid!= myid) { BM-send(<RM-MSG,pid.k,m>); } RM-deliver(m); } Κατανεμημένα Συστήματα 13 lalis@inf.uth.gr

14 Παρατηρήσεις Αφού ένα μήνυμα ξαναστέλνεται σε πιο ψηλό επίπεδο, πρέπει να υπάρχει αντίστοιχος εντοπισμός διπλοτύπων Αντί κάθε νέο μήνυμα να ξαναστέλνεται στα «τυφλά» σε όλα τα μέλη της ομάδας, μπορεί να στέλνεται μόνο στα μέλη που (πιθανώς) δεν το έχουν λάβει (ακόμα) απαιτείται κατάλληλη επέκταση Κατανεμημένα Συστήματα 14

15 Αντιμετώπιση βλαβών Υποθέτουμε fail-stop, ότι δηλαδή υπάρχει μηχανισμός εντοπισμού βλαβών και ειδοποίησης των διεργασιών Τα προηγούμενα πρωτόκολλα πρέπει να επεκταθούν για να γίνει κατάλληλος χειρισμός βλάβης ενός μέλους Η διεργασία πρέπει να αφαιρείται από την ομάδα, και να μην λαμβάνεται πλέον υπ όψη για την αποστολή μηνυμάτων και παραλαβή επιβεβαιώσεων αν εξακολουθούν να εκκρεμούν επιβεβαιώσεις από την διεργασία που παρουσίασε βλάβη, αυτές απλά αγνοούνται Κατανεμημένα Συστήματα 15

16 Uniform reliable multicast Ένα μήνυμα παραδίδεται στην εφαρμογή μόνο όταν πλέον έχει φτάσει, σε επίπεδο υπηρεσίας, σε όλα τα (υφιστάμενα) μέλη της ομάδας Η διαφορά σε σχέση με το απλό RM είναι πως ένα μέλος της ομάδας δεν μπορεί να «χάσει» μηνύματα που έχουν ήδη παραδοθεί σε μέλη που στην συνέχεια παρουσιάζουν βλάβη Αυξημένη «λογική συνέπεια» το αν αυτή είναι χρήσιμη, εξαρτάται από την εφαρμογή Κατανεμημένα Συστήματα 16

17 (1) uniform reliable multicast p1 p2 p3 p4 (3) uniform reliable multicast p1 p2 p3 (2) NOT uniform reliable multicast p1 p2 p3 p4 (4) NOT uniform reliable multicast p1 p2 p3 p4 p4 send deliver Κατανεμημένα Συστήματα 17

18 Υλοποίηση URM Εξαρτάται από την σημασιολογία/λειτουργικότητα της υπηρεσίας επικοινωνίας που χρησιμοποιούμε Αν η λειτουργία BM-send είναι ημι-σύγχρονη (επιστρέφει όταν το μήνυμα φτάσει σε όλα τα υφιστάμενα μέλη της ομάδας), τότε η υλοποίηση του URM είναι παρόμοια με αυτήν του απλού RM Αν η BM-send είναι ασύγχρονη, τότε χρειάζεται ρητή αναμονή για επιβεβαίωση της άφιξης του μηνύματος η επανεκπομπή ενός μηνύματος, μπορεί να χρησιμεύσει και ως επιβεβαίωση ότι ο αποστολέας έχει λάβει το μήνυμα Κατανεμημένα Συστήματα 18

19 URM-Init(procs): BM-Init(procs); grp=procs; n=0; ids ={}; buf={}; acks = {}; URM-send(m): n++; BM-send(<URM-MSG,myid,myid.n,m>); BM-deliver(<URM-MSG,pid2,pid.k,m>): if (pid.k not in ids) { ids = ids + pid.k; buf = buf + <pid.k,m>; acks = acks + <pid.k,myid>; if (pid2!= myid) { BM-send(<URM-MSG,myid,pid.k,m>); } } acks = acks + <pid.k,pid2>; if (for-each pid3 in grp: <pid.k,pid3> in acks) buf = buf - <pid.k,m>; URM-deliver(m); } Κατανεμημένα Συστήματα 19 lalis@inf.uth.gr

20 Διαχείριση σύνθεσης ομάδας Τι γίνεται αν η σύνθεση της ομάδας αλλάζει; Απομάκρυνση μέλους (λόγω βλάβης) Αποχώρηση μέλους (εθελοντικά) Προσθήκη μέλους Απαιτείται μηχανισμός διαχείρισης (σύνθεσης) ομάδας Ανανέωση σύνθεσης σε επίπεδο εφαρμογής Συνεπής παράδοση μηνυμάτων Κατανεμημένα Συστήματα 20

21 p2 p1 group-level communication p3 leave join p4 Κατανεμημένα Συστήματα 21

22 Εικόνα τρέχουσας σύνθεσης Ιδανικό: όλα τα μέλη έχουν ανά πάσα στιγμή την ίδια εικόνα για την σύνθεση της ομάδας P 1,P 2 g : view(p 1,t) = view(p 2,t) Σύγχρονο σύστημα: μπορεί να επιτευχθεί μερικώς, με άνω όριο στην καθυστέρηση/απόκλιση ενημέρωσης για αλλαγές σύνθεσης της ομάδας ανάμεσα στα μέλη Ασύγχρονο σύστημα: πρακτικά ανέφικτο Εφικτό: ενημέρωση των μελών με κοινή σειρά Κατανεμημένα Συστήματα 22 lalis@inf.uth.gr

23 Μηνύματα (αλλαγής) σύνθεσης Ο μηχανισμός διαχείρισης σύνθεσης ενημερώνει τα μέλη στέλνοντας τους την τρέχουσα σύνθεση της ομάδας (view) κάθε φορά που αυτή αλλάζει V={P 1,P 2,,P Ν } P 1 g P 2 g P Ν g Ενημέρωση σύνθεσης V στην P την χρονική στιγμή t update(p,v,t) Αποστολή μηνύματος και παραλαβή μηνύματος στην P στο πλαίσιο της τρέχουσας σύνθεσης V send(m)@p V, recv(m)@p V Κατανεμημένα Συστήματα 23 lalis@inf.uth.gr

24 Ιδιότητες ενημέρωσης σύνθεσης Πρόοδος ενημέρωσης: αν P 1 λάβει την σύνθεση V, κάθε άλλο μέλος P 2 της ομάδας (εφόσον υφίσταται) έχει/θα λάβει την σύνθεση V update(p 1,V,t) P 2 g : update(p 2,V,t') Συνέπεια ενημέρωσης: τα μέλη ενημερώνονται για τις αλλαγές σύνθεσης της ομάδας με την ίδια σειρά update(p 1,V 1,t 1 ) update(p 1,V 2,t 2 ) t 1 <t 2 P 2 g : update(p 2,V 1,t' 1 ) update(p 2,V 2,t' 2 ) t' 1 <t' 2 Κατανεμημένα Συστήματα 24 lalis@inf.uth.gr

25 View-synchronous group multicast Συνέπεια παράδοσης μηνυμάτων: αν το μήνυμα m σταλεί στο πλαίσιο της σύνθεσης V, θα παραδοθεί σε όλες τις διεργασίες που εξακολουθούν να είναι μέλη της ομάδας στο πλαίσιο της σύνθεσης V send(m)@p 1 V P 2 g : recv(m)@p 2 V Απαιτείται συντονισμός ανάμεσα στην διαχείριση σύνθεσης και την παράδοση μηνυμάτων εφαρμογής Προτού γίνει μετάβαση στην επόμενη σύνθεση, πρέπει να μεταδοθούν/παραδοθούν όλα τα μηνύματα που «ανήκουν» στο πλαίσιο της προηγούμενης σύνθεσης Η συνέπεια παράδοσης αφορά τόσο στην μείωση όσο και στην αύξηση της σύνθεσης της ομάδας μπορεί να γίνει διαφοροποίηση Κατανεμημένα Συστήματα 25 lalis@inf.uth.gr

26 (1) view synchronous (2) NOT view synchronous p1 p1 p2 p2 p3 p3 {p1,p2,p3} {p2,p3} {p1,p2,p3} {p2,p3} (3) NOT view synchronous p1 p2 p3 (4) view synchronous p1 p2 p3 {p1,p2,p3} {p2,p3} {p1,p2,p3} {p1,p2} send deliver Κατανεμημένα Συστήματα 26

27 (1) view synchronous p1 p2 p3 (2) NOT view synchronous p1 p2 p3 {p1,p2} {p1,p2,p3} {p1,p2} {p1,p2,p3} (3) NOT view synchronous p1 p2 p3 (4) ΝΟΤ view synchronous p1 p2 p3 {p1,p2} {p1,p2,p3} {p1,p2} {p1,p2,p3} send deliver Κατανεμημένα Συστήματα 27

28 V view change in progress V' application send delivered delivered group com. network έναρξη διαδικασίας αλλαγής σύνθεσης αναμονή για μηνύματα προς παράδοση στο πλαίσιο της σύνθεσης V ανακοίνωση της νέας σύνθεσης V' Κατανεμημένα Συστήματα 28 lalis@inf.uth.gr

29 application RVSM-send RVSM-deliver View Manager view-change RVS-multicast buf ενδιάμεση αποθήκη για μηνύματα που φτάνουν εκτός πλαισίου της τρέχουσας σύνθεσης RM-send RM-deliver R-multicast Κατανεμημένα Συστήματα 29

30 RVSM-Init(procs): RM-Init(procs); view=procs; vnο=1; n=0; buf={}; ids={}; vids={}; RVSM-send(m): n++; vids = vids + myid.n; RM-send(<RVSM-MSG,myid.n,vnο,m>); RM-deliver(<RVSM-MSG,pid.k,mvnο,m>): if (mvno!= vno) { buf = buf + <pid.k,mvnο,m>; } else { ids = ids + pid.k; vids = vids + pid.k; RVSM-deliver(m); } View-Change(newview): RSVM-view-change-started(); // block calls to RVSM-send RM-send(<RVSM-VSYNC,myid,vnο,vids>); for-each pid in view: { RM-receive(<RVSM-VSYNC,pid,vnο,pvids>); vids = vids + pvids; } while {ids!= vids) {} /* wait to deliver all msgs in old view */ ids = {}; vids = {}; view = newview; vnο++; RSVM-view-change-completed(view); // unblock calls to RVSM-send while (exists <pid.k,mvno,m> in buf: mvnο == vnο) { buf = buf <pid.k,mvno,m>; ids = ids + pid.k; RVSM-deliver(m); } Κατανεμημένα Συστήματα 30 lalis@inf.uth.gr

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

32 Επιπλέον θέματα υλοποίησης Ποια οντότητα/διεργασία «εκπροσωπεί» την ομάδα; Τι γίνεται αν η ομάδα είναι «κενή»; Πως ανακαλύπτει μια νεοεισερχόμενη διεργασία την ομάδα, και σε ποια διεργασία να στείλει την αίτηση; βλέπε γνωστές λύσεις: υπηρεσία καταλόγου, πολυεκπομπή Κατάλληλος χειρισμός βλαβών κατά τη διάρκεια της διαδικασίας αλλαγής/ενημέρωσης σύνθεσης η βλάβη ισοδυναμεί με αυτόματη αποχώρηση από την ομάδα πότε γίνεται η σχετική ανακοίνωση της αλλαγής σύνθεσης; Κατανεμημένα Συστήματα 32

33 Σειρά παράδοσης μηνυμάτων FIFO order: τα μηνύματα παραδίδονται σε κάθε μέλος με την σειρά με την οποία τα έστειλε ο αποστολέας Αιτιολογική σειρά (causal order): τα μηνύματα παραδίδονται σε κάθε μέλος της ομάδας σύμφωνα με την (αιτιο)λογική σειρά τους Καθολική σειρά (total order): όλα τα μηνύματα παραδίδονται σε κάθε μέλος με την ίδια σειρά Κατανεμημένα Συστήματα 33

34 Βασική αρχή λειτουργίας Κάθε μήνυμα που φτάνει από το δίκτυο (κάτω στρώμα επικοινωνίας/μεταφοράς) τοποθετείται σε μια ενδιάμεση αποθήκη Ένα μήνυμα βγαίνει από την αποθήκη και παραδίδεται στην εφαρμογή όταν είναι σίγουρο πως έχουν ήδη παραδοθεί όλα τα «προηγούμενα» μηνύματα Λέμε ότι το μήνυμα είναι πλέον σταθερό (stable) Οι απαιτήσεις για την σειρά παράδοσης εξαρτώνται από το είδος της επιθυμητής σειριοποίησης Κατανεμημένα Συστήματα 34

35 FIFO order FIFO-Multicast NOT FIFO-Multicast p1 p2 p3 p4 m1 m2 p1 p2 p3 p4 m1 m2 send(m1) send(m2) deliver(m1) deliver(m2) Κατανεμημένα Συστήματα 35

36 Reliable FIFO multicast (R-FIFO) Στο d[pid] αποθηκεύονται οι σειριακοί αριθμοί του τελευταίου μηνύματος που έστειλε η διεργασία pid και έχει ήδη παραδοθεί στην εφαρμογή Αρχικά, d[pid] = 0 Τα μηνύματα που καταφθάνουν από το δίκτυο τοποθετούνται σε ενδιάμεση αποθήκη, μέχρι να μπορεί να παραδοθούν με την σωστή σειρά Η αποθήκη ελέγχεται για το αν υπάρχει μήνυμα m με αποστολέα pid και σειριακό αριθμό k == d[pid]+1 Τότε το m απομακρύνεται από την αποθήκη, παραδίδεται στην εφαρμογή, και d[pid] = d[pid]+1 Κατανεμημένα Συστήματα 36 lalis@inf.uth.gr

37 application RFM-send RFM-deliver RFM-init RF-multicast buf ενδιάμεση αποθήκη για μηνύματα που φτάνουν εκτός σειράς αποστολής RM-send RM-deliver R-multicast Κατανεμημένα Συστήματα 37

38 RFM-Init(procs): RM-Init(procs); n=0; buf={}; d[]={0,,0}; RFM-send(m): n++; RM-send(<RFM-MSG,myid.n,m>); RM-deliver(<RFM-MSG,pid.k,m>): buf = buf + <pid.k,m>; checkbuffer(); checkbuffer: while (exists <pid.k,m> in buf: k == d[pid]+1) { buf = buf - <pid.k,m>; d[pid] = d[pid] + 1; RFM-deliver(m); } Κατανεμημένα Συστήματα 38 lalis@inf.uth.gr

39 Causal order Causal-Multicast NOT Causal-Multicast p1 m1 p1 m1 p2 p2 p3 m2 p3 m2 p4 p4 send(m1) send(m2) deliver(m1) deliver(m2) Κατανεμημένα Συστήματα 39

40 Causal multicast Τα μηνύματα που καταφθάνουν από το δίκτυο τοποθετούνται σε ενδιάμεση αποθήκη, μέχρι να μπορεί να παραδοθούν με την σωστή σειρά Πως καταγράφεται η λογική σειρά των μηνυμάτων; Επισυνάπτεται ο σειριακός αριθμός (για FIFO) και τα αναγνωριστικά όσων μηνυμάτων είχαν παραδοθεί στην εφαρμογή όταν δημιουργήθηκε το μήνυμα (ως «λογική προϊστορία» του μηνύματος) Κατανεμημένα Συστήματα 40

41 Application CM-init CM-send RM-send CM-deliver Causal multicast buf RM-deliver κάθε μήνυμα κρατείται σε ενδιάμεση αποθήκη μέχρι να είναι σίγουρο πως έχουν παραδοθεί στην εφαρμογή όλα τα (λογικά) προηγούμενα μηνύματα που έχουν σταλεί στην ομάδα Reliable multicast Κατανεμημένα Συστήματα 41

42 {} {} {} {} {} {} {} {} αναγνωριστικά μηνυμάτων που έχουν παραδοθεί στην εφαρμογή αποθήκη μηνυμάτων Κατανεμημένα Συστήματα 42

43 {} {} <m1,{}> {} {} {} {} {} {} Κατανεμημένα Συστήματα 43

44 {m1 {} } {} {m1 {} } {} {m1 {} } {m1 {} } {} {} Κατανεμημένα Συστήματα 44 lalis@inf.uth.gr

45 {}->m1 {1} {}->m1 {1} {}->m1 {1} {}->m1 {1} Κατανεμημένα Συστήματα 45

46 {} {1} {} {1} {} {} {1} {1} Κατανεμημένα Συστήματα 46

47 {} {1} <m2,{1}> {} {1} {} {} {1} {1} Κατανεμημένα Συστήματα 47

48 {m2 {1} } {1} {} {1} <m2,{1}> {m2 {1} } {m2 {1} } {1} {1} Κατανεμημένα Συστήματα 48 lalis@inf.uth.gr

49 {}->m2 {1,2} {} {1} <m2,{1}> {}->m2 {1,2} {}->m2 {1,2} Κατανεμημένα Συστήματα 49

50 {} {1,2} {} {1} <m2,{1}> {} {} {1,2} {1,2} Κατανεμημένα Συστήματα 50

51 {} {1,2} <m3,{1,2}> {} {1} <m2,{1}> {} {} {1,2} {1,2} Κατανεμημένα Συστήματα 51

52 {m3 {1,2} } {1,2} <m2,{1}> {m3 {1,2} } {1} {m3 {1,2} } {m3 {1,2} } {1,2} {1,2} Κατανεμημένα Συστήματα 52 lalis@inf.uth.gr

53 {}->m3 {1,2,3} <m2,{1}> {m3 {1,2} } {1} {}->m3 {1,2,3} {}->m3 {1,2,3} Κατανεμημένα Συστήματα 53 lalis@inf.uth.gr

54 {} {1,2,3} <m2,{1}> {m3 {1,2} } {1} {} {} {1,2,3} {1,2,3} Κατανεμημένα Συστήματα 54 lalis@inf.uth.gr

55 {} {1,2,3} {m3 {1,2},m2 {1} } {1} {} {} {1,2,3} {1,2,3} Κατανεμημένα Συστήματα 55 lalis@inf.uth.gr

56 {} {1,2,3} {m3 {1,2} }->m2 {1,2} {} {} {1,2,3} {1,2,3} Κατανεμημένα Συστήματα 56

57 {} {1,2,3} {m3 {1,2} } {1,2} {} {} {1,2,3} {1,2,3} Κατανεμημένα Συστήματα 57 lalis@inf.uth.gr

58 {} {1,2,3} {}->m3 {1,2,3} {} {} {1,2,3} {1,2,3} Κατανεμημένα Συστήματα 58

59 {} {1,2,3} {} {1,2,3} {} {} {1,2,3} {1,2,3} Κατανεμημένα Συστήματα 59

60 CM-Init(procs): RM-Init(procs); n=0; buf={}; d[]={0,,0}; ids={}; CM-send(m): n++; RM-send(<CM-MSG,myid.n,ids,m>); On RM-deliver(<CM-MSG,pid.k,mids,m>): buf = buf + <pid.k,mids,m>; checkbuffer(); checkbuffer: while (exists <pid.k,mids,m> in buf: k == d[pid]+1 && mids ids) { buf = buf - <pid.k,mids,m>; d[pid] = d[pid] + 1; ids = ids + pid.k; CM-deliver(m); } Κατανεμημένα Συστήματα 60 lalis@inf.uth.gr

61 Βελτιστοποίηση Ο αριθμός των μηνυμάτων που παραδίδονται στην εφαρμογή, και άρα ο αριθμός των αναγνωριστικών που επισυνάπτονται σε κάθε μήνυμα μεγαλώνει συνεχώς Η περισσότερη πληροφορία είναι περιττή καθώς η σχέση λογικής εξάρτησης είναι μεταβατική Αν το m1 προηγείται του m2, και το m2 προηγείται του m3, αρκεί στο m3 να επισυναφθεί το αναγνωριστικό του m2 (δεν χρειάζεται και το αναγνωριστικό του m1) Επισυνάπτονται μόνο τα αναγνωριστικά των πιο πρόσφατων λογικά προηγούμενων μηνυμάτων Το πολύ Ν αναγνωριστικά, ένα από κάθε διεργασία Κατανεμημένα Συστήματα 61

62 Total order Total-Multicast NOT Total-Multicast p1 m1 p1 m1 p2 p2 p3 m2 p3 m2 p4 p4 send(m1) send(m2) delivered(m1) delivered(m2) Κατανεμημένα Συστήματα 62

63 Application TM-send TM-deliver TM-init Total multicast buf κάθε μήνυμα κρατείται σε ενδιάμεση αποθήκη μέχρι να είναι σίγουρο πως έχει έρθει η σειρά του RM-send RM-deliver Reliable multicast Κατανεμημένα Συστήματα 63

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

65 1: ένα νέο μήνυμα στέλνεται σε όλα τα μέλη της ομάδας <m> 2: ο συντονιστής στέλνει τον σειριακό αριθμό παράδοσης για αυτό το μήνυμα σε όλα τα μέλη <n> 3: κάθε μέλος παραδίδει τα μηνύματα που λαμβάνει στην τοπική εφαρμογή σύμφωνα με τους σειριακούς αριθμούς που στέλνει ο συντονιστής deliver m as n th message Κατανεμημένα Συστήματα 65 lalis@inf.uth.gr

66 0 0,{} σειριακός αριθμός που ανατέθηκε στο τελευταίο μήνυμα της ομάδας 0,{} 0,{} 0,{} σειριακός αριθμός μηνύματος που παραδόθηκε τελευταίο αποθήκη μηνυμάτων Κατανεμημένα Συστήματα 66

67 0 0,{} <m1> 0,{} 0,{} 0,{} Κατανεμημένα Συστήματα 67

68 0 0,{m1? } 0,{m1? } 0,{m1? } 0,{m1? } Κατανεμημένα Συστήματα 68 lalis@inf.uth.gr

69 1 0,{m1? } <m1,1> 0,{m1? } 0,{m1? } 0,{m1? } Κατανεμημένα Συστήματα 69 lalis@inf.uth.gr

70 1 0,{m1 1 } 0,{m1 1 } 0,{m1 1 } 0,{m1 1 } Κατανεμημένα Συστήματα 70 lalis@inf.uth.gr

71 1 1,{}->m1 1,{}->m1 1,{}->m1 1,{}->m1 Κατανεμημένα Συστήματα 71

72 1 1,{} 1,{} 1,{} 1,{} Κατανεμημένα Συστήματα 72

73 1 1,{} <m2> 1,{} 1,{} 1,{} Κατανεμημένα Συστήματα 73

74 1 1,{m2? } 1,{m2? } 1,{m2? } 1,{m2? } Κατανεμημένα Συστήματα 74 lalis@inf.uth.gr

75 2 1,{m2? } <m2,2> 1,{m2? } 1,{m2? } 1,{m2? } Κατανεμημένα Συστήματα 75 lalis@inf.uth.gr

76 2 1,{m2 2 } 1,{m2 2 } 1,{m2 2 } 1,{m2 2 } Κατανεμημένα Συστήματα 76 lalis@inf.uth.gr

77 2 2,{}->m2 2,{}->m2 2,{}->m2 2,{}->m2 Κατανεμημένα Συστήματα 77

78 2 2,{} 2,{} 2,{} 2,{} Κατανεμημένα Συστήματα 78

79 2 2,{} <m3> 2,{} 2,{} 2,{} Κατανεμημένα Συστήματα 79

80 2 2,{} <m3> 2,{m3? } 2,{m3? } 2,{m3? } Κατανεμημένα Συστήματα 80 lalis@inf.uth.gr

81 2 2,{} <m3> <m4> 2,{m3? } 2,{m3? } 2,{m3? } Κατανεμημένα Συστήματα 81 lalis@inf.uth.gr

82 2 2,{m4? } <m3> 2,{m3?,m4? } 2,{m3? } <m4> 2,{m3?,m4? } Κατανεμημένα Συστήματα 82 lalis@inf.uth.gr

83 3 2,{m4? } <m3> <m4,3> 2,{m3?,m4? } 2,{m3? } <m4> 2,{m3?,m4? } Κατανεμημένα Συστήματα 83 lalis@inf.uth.gr

84 3 2,{m4 3 } <m3> 2,{m3?,m4 3 } <m4> 2,{m3?,*m4* 3 } 2,{m3?,m4 3 } Κατανεμημένα Συστήματα 84 lalis@inf.uth.gr

85 3 3,{}->m4 <m3> 3,{m3? }->m4 <m4> 2,{m3?,*m4* 3 } 3,{m3? }->m4 Κατανεμημένα Συστήματα 85 lalis@inf.uth.gr

86 3 3,{} <m3> 3,{m3? } <m4> 2,{m3?,*m4* 3 } 3,{m3? } Κατανεμημένα Συστήματα 86 lalis@inf.uth.gr

87 3 3,{m3? } 3,{m3? } <m4> 2,{m3?,*m4* 3 } 3,{m3? } Κατανεμημένα Συστήματα 87 lalis@inf.uth.gr

88 4 3,{m3? } <m3,4> 3,{m3? } <m4> 2,{m3?,*m4* 3 } 3,{m3? } Κατανεμημένα Συστήματα 88 lalis@inf.uth.gr

89 4 3,{m3 4 } 3,{m3 4 } <m4> 2,{m3 4,*m4* 3 } 3,{m3 4 } Κατανεμημένα Συστήματα 89 lalis@inf.uth.gr

90 4 4,{}->m3 4,{}->m3 <m4> 2,{m3 4,*m4* 3 } 4,{}->m3 Κατανεμημένα Συστήματα 90 lalis@inf.uth.gr

91 4 4,{} 4,{} <m4> 2,{m3 4,*m4* 3 } 4,{} Κατανεμημένα Συστήματα 91 lalis@inf.uth.gr

92 4 4,{} 4,{} 2,{m3 4,m4 3 } 4,{} Κατανεμημένα Συστήματα 92 lalis@inf.uth.gr

93 4 4,{} 4,{} 3,{m3 4 }->m4 4,{} Κατανεμημένα Συστήματα 93 lalis@inf.uth.gr

94 4 4,{} 4,{} 4,{}->m3 4,{} Κατανεμημένα Συστήματα 94

95 4 4,{} 4,{} 4,{} 4,{} Κατανεμημένα Συστήματα 95

96 TM-Init(procs): RM-Init(procs); n=0; buf={}; d=0; TM-send(m): n++; RM-send(<ΤΜ-MSG,myid.n,m>); TM-Init: s=0; Sequencer RM-deliver(<ΤΜ-MSG,pid.k,m>): buf = buf + <pid.k,*,m>; checkbuffer(); RM-deliver(<TM-MSG,pid.k,m>): s++; RM-send(g,<TM-SEQ,pid.k,s>); RM-deliver(<ΤΜ-SEQ,pid.k,s>): buf = buf + <pid.k,s,*>; checkbuffer(); checkbuffer: while (exists <pid.k,s,m> in buf: s == d+1) { buf = buf - <pid.k,s,m>; d = d + 1; TM-deliver(m); } Κατανεμημένα Συστήματα 96 lalis@inf.uth.gr

97 Βλάβες βελτιστοποιήσεις Αν ο συντονιστής παρουσιάσει βλάβη, πρέπει να επιλεγεί νέος που θα συνεχίσει την έκδοση σειριακών αριθμών από εκεί που σταμάτησε ο προηγούμενος Είναι σίγουρο ότι όλοι έχουν ήδη λάβει ή θα λάβουν τον τελευταίο σειριακό αριθμό που έστειλε ο παλιός συντονιστής; Εξαρτάται από τι; Είναι σίγουρο ότι όλοι έχουν λάβει ή θα λάβουν το αντίστοιχο μήνυμα εφαρμογής; Όχι γιατί; Μπορεί να γίνουν διάφορες βελτιστοποιήσεις φυσική πολυεκπομπή, έξυπνα σχήματα επιβεβαίωσης, Κατανεμημένα Συστήματα 97

98 Συμμετρικό πρωτόκολλο Κάθε μήνυμα στέλνεται σε όλα τα μέλη της ομάδας Όταν μια διεργασία λάβει ένα μήνυμα, το τοποθετεί σε αποθήκη, αυξάνει έναν προτεινόμενο σειριακό αριθμό παράδοσης που στέλνει στον αποστολέα και περιμένει να λάβει τον «οριστικό» σειριακό αριθμό παράδοσης Ο αποστολέας περιμένει να λάβει προτάσεις από όλες τις διεργασίες, επιλέγει ως οριστικό σειριακό αριθμό την μεγαλύτερη πρόταση, και την στέλνει σε όλα τα μέλη Κάθε διεργασία παραδίδει τα μηνύματα με βάση τον οριστικό σειριακό που στέλνει ο αποστολέας (ανανεώνοντας την τοπική τιμή αντίστοιχα) Κατανεμημένα Συστήματα 98

99 1: το μήνυμα στέλνεται σε όλα τα μέλη της ομάδας <m> 2: κάθε μέλος προτείνει έναν σειριακό αριθμό παράδοσης (που αυξάνεται κατάλληλα) <n1> <n0> <n3> <n2> 3: ο αποστολέας επιλέγει την μεγαλύτερη τιμή και την στέλνει σε όλα τα μέλη <n> 4: κάθε μέλος παραδίδει τα μηνύματα που λαμβάνει σύμφωνα με τον οριστικό σειριακό αριθμό deliver m as n th message Κατανεμημένα Συστήματα 99 lalis@inf.uth.gr

100 Σειριακοί αριθμοί Ένα μήνυμα δεν μπορεί να παραδοθεί στην εφαρμογή χωρίς να το έχουν λάβει (και να έχουν προτείνει έναν σειριακό αριθμό παράδοσης) όλα τα μέλη της ομάδας Αν μια διεργασία προτείνει έναν σειριακό αριθμό, ξέρει ότι αυτό το μήνυμα δεν θα λάβει μικρότερο οριστικό σειριακό αριθμό μπορεί όμως να λάβει μεγαλύτερο Οι σειριακοί αριθμοί είναι της μορφής (k.p) για να μην μπορεί δύο μηνύματα να λάβουν τον ίδιο αριθμό Σε περίπτωση «ισότητας» ανάμεσα σε (k.p1) και (k.p2), γίνεται σύγκριση των αναγνωριστικών P1 και P2 Κατανεμημένα Συστήματα 100

101 0.0,{} 0.2,{} 0.1,{} 0.3,{} τοπικός σειριακός αριθμός αποθήκη μηνυμάτων Κατανεμημένα Συστήματα 101

102 0.0,{} <m1> 0.2,{} 0.1,{} 0.3,{} Κατανεμημένα Συστήματα 102

103 ,{m1} * <m1,1.0> <m1,1.2> ,{m1} * <m1,1.1> proposals: ,{m1} * <m1,1.3> ,{m1} * Κατανεμημένα Συστήματα 103 lalis@inf.uth.gr

104 ,{m1} * <m1,1.3> ,{m1} * proposals: ,{m1} * ,{m1} * Κατανεμημένα Συστήματα 104 lalis@inf.uth.gr

105 ,{m1} ,{m1} ,{m1} ,{m1} 1.3 Κατανεμημένα Συστήματα 105

106 1.0,{}->m1 1.2,{}->m1 1.1,{}->m1 1.3,{}->m1 Κατανεμημένα Συστήματα 106

107 1.0,{} 1.2,{} 1.1,{} 1.3,{} Κατανεμημένα Συστήματα 107

108 1.0,{} <m2> 1.2,{} 1.1,{} 1.3,{} Κατανεμημένα Συστήματα 108

109 <m2,2.0> <m2,2.1> ,{m2} * ,{m2} * 2.2,{m2} <m2,2.3> ,{m2} * <m2,2.2> 2.2 * proposals: Κατανεμημένα Συστήματα 109 lalis@inf.uth.gr

110 ,{m2} * <m2,2.3> ,{m2} * ,{m2} * ,{m2} * proposals: Κατανεμημένα Συστήματα 110 lalis@inf.uth.gr

111 ,{m2} ,{m2} ,{m2} ,{m2} 2.3 Κατανεμημένα Συστήματα 111

112 2.0,{}->m2 2.2,{}->m2 2.1,{}->m2 2.3,{}->m2 Κατανεμημένα Συστήματα 112

113 2.0,{} 2.2,{} 2.1,{} 2.3,{} Κατανεμημένα Συστήματα 113

114 2.0,{} <m3> 2.2,{} 2.1,{} 2.3,{} Κατανεμημένα Συστήματα 114

115 2.0,{} <m3> <m3,3.2> <m3,3.1> ,{m3} * 3.2,{m3} <m3,3.3> ,{m3} * 3.2 * proposals: -??? Κατανεμημένα Συστήματα 115 lalis@inf.uth.gr

116 2.0,{} <m3> ,{m3} * <m4> 3.2,{m3} ,{m3} * 3.2 * proposals: -??? Κατανεμημένα Συστήματα 116 lalis@inf.uth.gr

117 <m4,4.1> proposals: <m4,3.0> ,{m3,m4} * 4.1 * ,{m4} * <m4,4.2> ,{m3,m4} <m4,4.3> <m3> 3.3 * ,{m3,m4} * * * proposals: -??? Κατανεμημένα Συστήματα 117 lalis@inf.uth.gr

118 ,{m4} * <m3> ,{m3,m4} * 4.2 * proposals: ,{m3,m4} * * ,{m3,m4} * * proposals: -??? Κατανεμημένα Συστήματα 118 lalis@inf.uth.gr

119 ,{m4,m3} * 4.0 * <m3,4.0> ,{m3,m4} * 4.2 * proposals: ,{m3,m4} * * ,{m3,m4} * * proposals: Κατανεμημένα Συστήματα 119 lalis@inf.uth.gr

120 ,{m4,m3} * * <m4,4.3> ,{m3,m4} * 4.2 * proposals: ,{m3,m4} * * ,{m3,m4} * * proposals: Κατανεμημένα Συστήματα 120 lalis@inf.uth.gr

121 ,{m4,m3} 4.3 * ,{m3,m4} * ,{m3,m4} ,{m3,m4} * * proposals: Κατανεμημένα Συστήματα 121 lalis@inf.uth.gr

122 ,{m4,m3} 4.3 * ,{m3,m4} * <m3,4.0> ,{m3,m4} ,{m3,m4} * * proposals: Κατανεμημένα Συστήματα 122 lalis@inf.uth.gr

123 ,{m4,m3} ,{m3,m4} ,{m3,m4} ,{m3,m4} Κατανεμημένα Συστήματα 123

124 ,{m4}->m ,{m4}->m ,{m4}->m ,{m4}->m3 4.3 Κατανεμημένα Συστήματα 124

125 ,{m4} ,{m4} ,{m4} ,{m4} 4.3 Κατανεμημένα Συστήματα 125

126 4.0,{}->m4 4.2,{}->m4 4.1,{}->m4 4.3,{}->m4 Κατανεμημένα Συστήματα 126

127 4.0,{} 4.2,{} 4.1,{} 4.3,{} Κατανεμημένα Συστήματα 127

128 TM-Init(procs): RM-Init(procs); grp=procs; n=0; vote=0; buf={}; TM-send(m): n++; s = (0.0); RM-send(<TM-MSG,myid.n,m>); for-each pid in grp: { net-receive(pid,<tm-vote,myid.n,mvote>); s = max(s,(mvote.pid)); } RM-send(<TM-SEQ,myid.n,s>); RM-deliver(<TM-MSG,pid.k,m>): vote++; buf = buf + <pid.k,(vote.myid),*,m>; net-send(p,<tm-vote,pid.k,vote>); RM-deliver(<TM-SEQ,pid.k,s)>): vote = max(vote,s.vote); buf = buf + <pid.k,(*.*),s,*>; checkbuffer(); checkbuffer: while ((exists <pid.k,mv,s,m> in buf) &&!(exists <pid2.k2,mv2,s2,m2> in buf: s2 < s) &&!(exists <pid2.k2,mv2,*,m2> in buf: mv2 < s)) { buf = buf {<pid.k,mv,s,m>}; TM-deliver(m); } Κατανεμημένα Συστήματα 128 lalis@inf.uth.gr

129 Βλάβες βελτιστοποιήσεις Αν μια διεργασία παρουσιάσει βλάβη, μπορεί να αφήσει «ορφανό» κάποιο δικό της μήνυμα χωρίς να έχει στείλει (σε όλους) τον οριστικό σειριακό αριθμό του Απαιτείται συνεργασία των υπολοίπων διεργασιών για την κατάλληλη «ολοκλήρωση» της μετάδοσης και παράδοσης του μηνύματος Σε σχέση με την κεντρικοποιημένη μέθοδο με συντονιστή, απαιτούνται περισσότερα μηνύματα 2 μηνύματα RM, και Ν μηνύματα unicast Μπορεί να γίνουν διάφορες βελτιστοποιήσεις φυσική πολυεκπομπή, έξυπνα σχήματα επιβεβαίωσης, Κατανεμημένα Συστήματα 129 lalis@inf.uth.gr

130 Πρωτόκολλα total-causal multicast Ένα πρωτόκολλο total multicast δεν εγγυάται (απαραίτητα) παράδοση με αιτιολογική σειρά Αν έχει ήδη παραδοθεί το m1 και στη συνέχεια σταλεί το m2, λόγω total multicast, το m2 όντως θα λάβει μεγαλύτερο αριθμό σειράς και παραδοθεί μετά το m1 Όμως, αν η ίδια διεργασία στείλει πρώτα το m1 και μετά το m2, δεν είναι εγγυημένο ότι το m2 θα λάβει μεγαλύτερο αριθμό σειράς από το m1 Τα προηγούμενα πρωτόκολλα χρειάζονται επεκτάσεις FIFO στην μετάδοση μηνυμάτων εφαρμογής Κατανεμημένα Συστήματα 130

131 Εικονικός συγχρονισμός με CATOC Το causally-and-totally-ordered communication επιτυγχάνει έναν «εικονικό συγχρονισμό» ακόμα και σε ασύγχρονο σύστημα Όλες οι διεργασίες λαμβάνουν όλα τα μηνύματα της ομάδας, με την ίδια & λογικά συνεπή σειρά Οι διεργασίες μπορούν να λάβουν κάποιες αποφάσεις αποκεντρωμένα ή/και να πραγματοποιήσουν ένα ντετερμινιστικό υπολογισμό (με βάση την τρέχουσα κατάσταση τους) καταλήγοντας στο ίδιο αποτέλεσμα έχει προηγηθεί (εκτενής) επικοινωνία σε χαμηλότερο επίπεδο για να «συμφωνηθεί» η σειρά παράδοσης μηνυμάτων Κατανεμημένα Συστήματα 131

132 virtual synchrony asynchrony p1 p2 p3 p1 p2 p3 e1 e1 e2 e2 e3 e3 e4 e4 e5 e5 Κατανεμημένα Συστήματα 132

133 Περιορισμοί CATOC Οι μηχανισμοί CATOC παρέχουν συνέπεια μόνο αν 1) υιοθετούνται από όλα τα τμήματα της εφαρμογής 2) όλα τα μηνύματα της εφαρμογής στέλνονται μέσα στο ίδιο πλαίσιο συγχρονισμού CATOC Οι λογικοί συσχετισμοί μπορεί να χαθούν όταν χρησιμοποιούνται «κρυφά» κανάλια επικοινωνίας, π.χ., αλληλεπίδραση με διεργασίες που δεν υπάγονται στο ίδιο πλαίσιο συγχρονισμού Ακυρώνεται η συνέπεια που προσφέρει το CATOC Κατανεμημένα Συστήματα 133

134 CATOC context p1 CATOC context p1 p2 m3 p2 m1 p3 m4 p3 m2 m4 m1 m2 m3 p4 p4 Κατανεμημένα Συστήματα 134

135 Λογική συνέπεια σε επίπεδο εφαρμογής Η λογική συνέπεια σε επίπεδο εφαρμογής πιθανώς να μην συμβαδίζει / ταυτίζεται με αυτήν του CATOC Μπορεί να χρειάζονται επιπρόσθετοι ή να αρκούν από μόνοι τους διαφορετικοί μηχανισμοί συνέπειας κλείδωμα, καταγραφή εκδόσεων δεδομένων, δοσοληψίες, Οι μηχανισμοί συνέπειας (σε ψηλό επίπεδο) μπορεί να κλιμακώνουν καλύτερα από τους μηχανισμούς CATOC λιγότερα μηνύματα σε επίπεδο δικτύου Κατανεμημένα Συστήματα 135 lalis@inf.uth.gr

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Συνεπής παρατήρηση εκτέλεσης & συνεπείς καθολικές καταστάσεις. Κατανεμημένα Συστήματα 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 Λογικά συνεπείς τομές Τμήμα τοπικής ιστορίας: h i.k {e i.1,e i.2,e i.k } τμήμα της τοπικής εκτέλεσης στην

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

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

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

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

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

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

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

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

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

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

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

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

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

Μετακινούμενος Κώδικας (Mobile Code) Κατανεμημένα Συστήματα 1

Μετακινούμενος Κώδικας (Mobile Code) Κατανεμημένα Συστήματα 1 Μετακινούμενος Κώδικας (Mobile Code) Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Γιατί μετακινούμενος κώδικας; Ευελιξία διαχείρισης μετακίνηση υπηρεσιών του συστήματος Μείωση επικοινωνίας / τοπικής επεξεργασίας

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

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

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

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

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

Κατανεμημένη συμφωνία (distributed consensus) Κατανεμημένα Συστήματα 1 Κατανεμημένη συμφωνία (distributed consensus) Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Το πρόβλημα της συμφωνίας Σε ένα κατανεμημένο σύστημα, οι διεργασίες μπορεί ανά πάσα στιγμή να έχουν διαφορετική

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

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

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

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

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

Επικοινωνία αίτησης-απάντησης. Κατανεμημένα Συστήματα 1 Επικοινωνία αίτησης-απάντησης Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Σχήμα επικοινωνίας -reply Μια διεργασία στέλνει μια αίτηση () σε μια άλλη διεργασία, η οποία επεξεργάζεται την αίτηση και στέλνει

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

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

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

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

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

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

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

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

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

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

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

Επικοινωνία αίτησης-απάντησης. Κατανεμημένα Συστήματα 1 Επικοινωνία αίτησης-απάντησης Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Σχήμα επικοινωνίας -reply Μια διεργασία στέλνει μια αίτηση () σε μια άλλη διεργασία, η οποία επεξεργάζεται την αίτηση και στέλνει

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

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

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

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

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

ΗΥ486 - Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο Δεύτερη Προγραμματιστική Εργασία ΗΥ486 - Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο 2015-2016 Δεύτερη Προγραμματιστική Εργασία Γενική περιγραφή Στη δεύτερη προγραμματιστική εργασία καλείστε να υλοποιήσετε ένα διομότιμο σύστημα (Peer-to-

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

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

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

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

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

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

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

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

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

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

Ορθότητα λειτουργίας τμημάτων λογισμικού & δομών δεδομένων υπό ταυτόχρονη εκτέλεση

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Λαμπαδαρίδης Αντώνιος el04148@mail.ntua.gr Διπλωματική εργασία στο Εργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Επιβλέπων: Καθηγητής Τ. Σελλής Περίληψη

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

Εγγυημένη ποιότητα υπηρεσίας

Εγγυημένη ποιότητα υπηρεσίας Εγγυημένη ποιότητα υπηρεσίας Απαιτήσεις ποιότητας υπηρεσίας Μηχανισμοί κατηγοριοποίησης Χρονοπρογραμματισμός Μηχανισμοί αστυνόμευσης Ενοποιημένες υπηρεσίες Διαφοροποιημένες υπηρεσίες Τεχνολογία Πολυμέσων

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

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

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

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

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

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

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

Ορθότητα λειτουργίας τμημάτων λογισμικού & δομών δεδομένων υπό ταυτόχρονη εκτέλεση

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

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

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

Συντονισμός και συμφωνία Συντονισμός και συμφωνία Κατανεμημένα Συστήματα 2015-2016 http://www.cslab.ece.ntua.gr/courses/distrib Πώς επικοινωνούν οι διεργασίες; Ένας προς έναν Unicast 1 -> 1 Point-to-point Ένας προς πολλούς Multicast

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

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

Βασικά Θέματα Επικοινωνίας. Κατανεμημένα Συστήματα 1 Βασικά Θέματα Επικοινωνίας Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Πρωτόκολλο επικοινωνίας Η/Υ Προσδιορίζει τους κανόνες που διέπουν την επικοινωνία ανάμεσα στα εμπλεκόμενα μέρη τα μηνύματα και (εν μέρει)

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

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

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

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

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

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

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

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

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

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

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

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

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

Μετρικές & Επιδόσεις. Κεφάλαιο V

Μετρικές & Επιδόσεις. Κεφάλαιο V Μετρικές & Επιδόσεις Κεφάλαιο V Χρόνος εκτέλεσης & επιτάχυνση Σειριακός χρόνος εκτέλεσης: Τ (για τον καλύτερο σειριακό αλγόριθμο) Παράλληλος χρόνος εκτέλεσης: (με επεξεργαστές) Επιτάχυνση (speedup): S

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

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

Αµοιβαίοςαποκλεισµός. Κατανεµηµένα Συστήµατα 03-1 Αµοιβαίοςαποκλεισµός Εισαγωγή Συγκεντρωτική προσέγγιση Κατανεµηµένη προσέγγιση Αλγόριθµος Lamport Αλγόριθµος Ricart-Agrawala Προσέγγιση µεταβίβασης σκυτάλης Αλγόριθµος LeLann Αλγόριθµος Raymond Αλγόριθµος

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

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 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 υπηρεσία επιτρέπει σε έναν

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

Εκλογή αρχηγού σε σύγχρονο δακτύλιο: Οι αλγόριθμοι 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 είναι ένας αλγόριθμος εκλογής αρχηγού σε ένα

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

Κρίσιμη Περιοχή Υπό Συνθήκη (Conditional Critical Regions) Ταυτόχρονος Προγραμματισμός 1

Κρίσιμη Περιοχή Υπό Συνθήκη (Conditional Critical Regions) Ταυτόχρονος Προγραμματισμός 1 Κρίσιμη Περιοχή Υπό Συνθήκη (onditional ritical Regions) Ταυτόχρονος Προγραμματισμός 1 lalis@inf.uth.gr Πέρα από ελεγκτές Ο ελεγκτής είναι χρήσιμο εργαλείο συγχρονισμού παρέχει στον προγραμματιστή εγγυημένο

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

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

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

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

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

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

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

Consensus and related problems

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

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

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

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

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

Δίκτυα Απευθείας Ζεύξης. Επικοινωνία µεταξύ δύο υπολογιστών οι οποίοι είναι απευθείας συνδεδεµένοι.

Δίκτυα Απευθείας Ζεύξης. Επικοινωνία µεταξύ δύο υπολογιστών οι οποίοι είναι απευθείας συνδεδεµένοι. Δίκτυα Απευθείας Ζεύξης Επικοινωνία µεταξύ δύο υπολογιστών οι οποίοι είναι απευθείας συνδεδεµένοι. Περίληψη Ζεύξεις σηµείου προς σηµείο (point-to-point links) Πλαισίωση (framing) Ανίχνευση και διόρθωση

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

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

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

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

a. b. c. d ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

a. b. c. d ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7.7 Πρωτόκολλο Μέχρι τώρα έχουμε αναφέρει, ότι, για να μεταδοθούν τα αυτοδύναμα πακέτα στο φυσικό μέσο, πρέπει αυτά να μετατραπούν σε πακέτα φυσικού δικτύου (π.χ. Ethernet). Όμως, δεν έχει ειπωθεί τίποτε

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

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

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

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

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

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

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

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

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

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

Προχωρημένα Θέματα Προγραμματισμού Δικτύων

Προχωρημένα Θέματα Προγραμματισμού Δικτύων 1 Ελληνική ημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Προχωρημένα Θέματα Προγραμματισμού Δικτύων Ενότητα 9: ΈλεγχοςΡοήςΚλειστούΒρόχου(1) Φώτης Βαρζιώτης 2 Ανοιχτά Τμήμα Μηχανικών Πληροφορικής ΤΕ

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

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

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

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

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

CSMA/CA στο Κατανεμημένα Ενσωματωμένα Συστήματα Πραγματικού Χρόνου CSMA/CA στο 802.11 Κατανεμημένα Ενσωματωμένα Συστήματα Πραγματικού Χρόνου Medium Access Control Συνήθως πολλοί κόμβοι μοιράζονται ένα κοινό μέσο Πρόβλημα: απαιτείται διαχείριση της πρόσβασης των κόμβων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧ/ΚΩΝ ΚΑΙ ΜΗΧ. ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΕΠΙΚΟΙΝΩΝΙΩΝ, ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα 1. Μήνυμα μήκους

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

Πρωτόκολλα Ελέγχου προσπέλασης μέσου

Πρωτόκολλα Ελέγχου προσπέλασης μέσου Πρωτόκολλα Ελέγχου προσπέλασης μέσου Πρόβλημα: ταυτόχρονη μετάδοση δύο ή περισσότερων κόμβων στο ίδιο κανάλι (μήκος κύματος). Ένα τέτοιο γεγονός ονομάζεται σύγκρουση. Ένα πρωτόκολλο MAC έχει συνήθως ως

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

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

Διάλεξη 11: Αιτιότητα Διάταξη Γεγονότων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Διάλεξη 11: Αιτιότητα Διάταξη Γεγονότων ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Τι θα δούμε σήμερα Ορισμός του «Πριν- Από» (Happens- Before) Λογικά Ρολόγια Αλγόριθμος Χρονοσφραγίδων του Lamport Διανυσματικά

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

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

Δρομολόγηση (Routing) Δρομολόγηση (Routing) Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναμικός Προγραμματισμός ijkstra s Algorithm Αλγόριθμοi Δρομολόγησης Link State istance Vector Δρομολόγηση σε Κινητά Δίκτυα Δρομολόγηση

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

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

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

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

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

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

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

Δημιουργία & Τερματισμός Διεργασιών. Προγραμματισμός II 1

Δημιουργία & Τερματισμός Διεργασιών. Προγραμματισμός II 1 Δημιουργία & Τερματισμός Διεργασιών Προγραμματισμός II 1 lalis@inf.uth.gr Δημιουργία νέας διεργασίας pid_t fork() Η fork δεν έχει παραμέτρους Δημιουργεί μια νέα διεργασία που είναι ένα αντίγραφο της διεργασίας

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

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

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET Κεφάλαιο 4: Τεχνικές Μετάδοσης ΜΕΤΑΓΩΓΗ Τεχνική µεταγωγής ονομάζεται ο τρόπος µε τον οποίο αποκαθίσταται η επικοινωνία ανάµεσα σε δύο κόµβους με σκοπό την

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

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

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

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

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

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

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

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

Επαλήθευση Πρωτοκόλλων Επαλήθευση Πρωτοκόλλων Περίληψη Προδιαγραφή και επαλήθευση Πρωτοκόλλων Μηχανές Πεπερασμένων Καταστάσεων (Finite State Machines) Petri-Nets 1 Μηχανές Πεπερασμένων Καταστάσεων (Finite State Machines) Περιγραφή

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

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

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

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

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα. λ από τον ρυθμό μετάδοσής της. Υποθέτοντας ότι ο κόμβος A

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα. λ από τον ρυθμό μετάδοσής της. Υποθέτοντας ότι ο κόμβος A ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧ/ΚΩΝ ΚΑΙ ΜΗΧ. ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΕΠΙΚΟΙΝΩΝΙΩΝ, ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα 1. Στο δίκτυο

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

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου 4.1.1 Πρωτόκολλο TCP - Δομή πακέτου 1 / 38 Παράδειγμα Έστω ότι θέλουμε να αποστείλουμε ένα μήνυμα μέσω ηλεκτρονικού ταχυδρομείου. Αρχικά η εφαρμογή χρησιμοποιώντας τα πρωτόκολλα του επιπέδου εφαρμογής

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

Χώροι Πλειάδων (Tuple Spaces) Ταυτόχρονος Προγραμματισμός 1

Χώροι Πλειάδων (Tuple Spaces) Ταυτόχρονος Προγραμματισμός 1 Χώροι Πλειάδων (Tuple Spaces) Ταυτόχρονος Προγραμματισμός 1 lalis@inf.uth.gr Tuple space Ένας κοινός χώρος αποθήκευσης δεδομένων / μηνυμάτων, με μορφή πλειάδων (tuples) Παρέχονται ειδικές λειτουργίες για

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

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά

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

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

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

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

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

οµήτης παρουσίασης Marzullo και Neiger αλγόριθµος Παράδειγµα Distributed Debugging Εισαγωγικά Distributed Debugging Τσώτσος Θοδωρής Φωλίνας Νίκος Εισαγωγικά Επιθυµούµε να µπορούµε να παρατηρούµε την εκτέλεση του προγράµµατος κατά τη διάρκειά του. Έχουµε τη δυνατότητα να ελέγξουµε αν οι απαιτούµενες

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

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

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Οργάνωση Η/Υ Ενότητα 1η: Εισαγωγή στην Οργάνωση Η/Υ Άσκηση 1: Αναλύστε τη διαδοχική εκτέλεση των παρακάτω εντολών MIPS με βάση τις

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

Δίκτυα Θεωρία

Δίκτυα Θεωρία Δίκτυα Θεωρία 2016-17 Κεφάλαιο 4 1. Γιατί η μεταφορά των δεδομένων δεν καλύπτεται επαρκώς από το Επίπεδο Δικτύου; Επειδή το επίπεδο δικτύου από τη φύση του είναι αναξιόπιστο, τα πακέτα φθάνουν καθυστερημένα,

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

Χώροι Πλειάδων (Tuple Spaces) Ταυτόχρονος Προγραμματισμός 1

Χώροι Πλειάδων (Tuple Spaces) Ταυτόχρονος Προγραμματισμός 1 Χώροι Πλειάδων (Tuple Spaces) Ταυτόχρονος Προγραμματισμός 1 lalis@inf.uth.gr Tuple space Ένας κοινός χώρος αποθήκευσης δεδομένων / μηνυμάτων, με μορφή πλειάδων (tuples) Παρέχονται ειδικές λειτουργίες για

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

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά

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

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

Κρυπτογραφία. Κεφάλαιο 4 Αλγόριθμοι Δημοσίου Κλειδιού (ή ασύμμετροι αλγόριθμοι) Κρυπτογραφία Κεφάλαιο 4 Αλγόριθμοι Δημοσίου Κλειδιού (ή ασύμμετροι αλγόριθμοι) Κρυπτοσυστήματα Δημοσίου κλειδιού Αποστολέας P Encryption C Decryption P Παραλήπτης Προτάθηκαν το 1976 Κάθε συμμετέχων στο

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

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

Δροµολόγηση (Routing) Δροµολόγηση (Routing) Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναµικός Προγραµµατισµός Dijkstra s Algorithm Αλγόριθµοi Δροµολόγησης Link State Distance Vector Δροµολόγηση σε Κινητά Δίκτυα Δροµολόγηση

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

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

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

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

Η πιθανότητα επομένως που ζητείται να υπολογίσουμε, είναι η P(A 1 M 2 ). Η πιθανότητα αυτή μπορεί να γραφεί ως εξής:

Η πιθανότητα επομένως που ζητείται να υπολογίσουμε, είναι η P(A 1 M 2 ). Η πιθανότητα αυτή μπορεί να γραφεί ως εξής: Άσκηση 1: Ένα κουτί περιέχει 3 άσπρες και 2 μαύρες μπάλες. Αφαιρούμε τυχαία δύο μπάλες διαδοχικά. Ποια η πιθανότητα η πρώτη μπάλα να είναι άσπρη και η δεύτερη μπάλα να είναι μαύρη; Λύση: Αρχικά ορίζουμε

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

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

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

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

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

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

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

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

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

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

Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις

Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2011-20112 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 15 Δεκεμβρίου 2011 Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις 1. Θεωρήσετε

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΕΚΦΩΝΗΣΕΙΣ ΕΡΓΑΣΤΗΡΙΑΚΩΝ ΑΣΚΗΣΕΩΝ 5o Εργαστήριο ΑΣΚΗΣΗ 1: Δίνονται οι εξής προδιαγραφές για τη δημιουργία ενός διαγράμματος δραστηριοτήτων: γίνεται η παραλαβή ενός ηλεκτρονικού μηνύματος,

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

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

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

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