Συντονισμός και συμφωνία
|
|
- Σαμουήλ Στεφανόπουλος
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Συντονισμός και συμφωνία Κατανεμημένα Συστήματα
2 Πώς επικοινωνούν οι διεργασίες; Ένας προς έναν Unicast 1 -> 1 Point-to-point Ένας προς πολλούς Multicast 1 -> πολλούς Επικοινωνία ομάδας (group communication) Broadcast 1-> όλους
3 Μulticast μέσω hadrware Αν το hardware υποστηρίζει multicast Τα μέλη της ομάδας ακούν σε δικτυακές διευθύνσεις
4 Hardware broadcast Αν το hardware υποστηρίζει μόνο broadcast Φιλτράρονται οι εισερχόμενες multicast διευθύνσεις μέσω λογισμικού
5 Software multicast Πολλαπλά unicasts O αποστολέας γνωρίζει τα μέλη της ομάδας
6 Μοντέλο συστήματος Multicast(g,m): στέλνει το m στην ομάδα g Receive(m): λήψη μηνύματος Deliver(m): παράδοση μηνύματος στο επίπεδο εφαρμογής Κάθε m φέρει id αποστολέα: sender(m) id της ομάδας παραληπτών group(m) Application (at process p) multicast send deliver receive Incoming messages
7 Βασικό multicast (B-multicast) Χρήση αξιόπιστου unicast Β-multicast(g,m): Για κάθε διεργασία p στο g, send(p,m) receive(m): B-deliver(m) στο p Εγγύηση Όλες οι διεργασίες που ανήκουν στο g τελικά λαμβάνουν όλα τα multicast μηνύματα αρκεί ο αποστολέας να μην αποτύχει!
8 Αξιόπιστο multicast: Στόχοι Ακεραιότητα (integrity): Μια σωστή (χωρίς σφάλματα) διεργασία p παραδίδει ένα μήνυμα m το πολύ μια φορά Σωστή: Τηρεί το πρωτόκολλο και είναι ζωντανή Συμφωνία (agreement): Αν μια σωστή διεργασία παραδώσει μήνυμα m, τότε όλες οι υπόλοιπες σωστές διεργασίας στην ομάδα group(m) θα παραδώσουν τελικά το m «όλα ή τίποτα» Ισχύς (validity): Αν μια σωστή διεργασία στείλει μήνυμα m, τότε θα παραδώσει και η ίδια το m τελικά
9 Αξιόπιστο multicast Διατήρηση ιστορικού μηνυμάτων για εγγύηση παράδοσης το πολύ μια φορά Φροντίδα να πάρουν όλοι το μήνυμα Αφού επιβεβαιώσουν όλοι τη λήψη, τότε ενημερώνουμε την εφαρμογή
10 Αλγόριθμος On initialization Received := {}; For process p to R-multicast message m to group g B-multicast(g,m); (p g is included as destination) On B-deliver(m) at process q with g = group(m) if (m Received): Integrity Received := Received {m}; if (q p): B-multicast(g,m); R-deliver(m) Validity Agreement
11 Διάταξη μηνυμάτων Σωστή σειρά Λάθος σειρά
12 Διατεταγμένο multicast Κάθε διεργασία παραδίδει τα μηνύματα που έλαβε ανεξάρτητα από τις άλλες Το ερώτημα είναι, τι διάταξη ακολουθεί η κάθε διεργασία Τρείς τύποι διάταξης FIFO Αιτιώδης Ολική
13 Διάταξη FIFO Η διάταξη της παράδοσης των μηνυμάτων ακολουθεί τη σειρά αποστολής τους από κάθε διεργασία Αν μια σωστή διεργασία στείλει multicast(g,m) και μετά multicast(g,m ), τότε κάθε σωστή διεργασία που παραδίδει το m θα έχει παραδώσει ήδη το m Παράδειγμα: P1: m0, m1, m2 P2: m3, m4, m5 P3: m6, m7, m8 FIFO -> (m0, m3, m6, m1, m4, m7, m2, m5, m8)
14 Αιτιώδης διάταξη (causal) Η διάταξη της παράδοσης των μηνυμάτων σε κάθε διεργασία διατηρεί τις σχέσεις happened-before ανάμεσα σε όλες τις διεργασίες Αν multicast(g,m) multicast(g,m ) τότε κάθε σωστή διεργασία που παραδίδει το m θα έχει παραδώσει ήδη το m Παράδειγμα P1: m0, m1, m2 P2: m3, m4, m5 P3: m6, m7, m8 Σχέσεις happened-before: m0 m4, m5 m8 Causal -> (m0, m3, m6, m1, m4, m7, m2, m5, m8)
15 Ολική διάταξη Κάθε διεργασία παραδίδει όλα τα μηνύματα με την ίδια σειρά Αν μια σωστή διεργασία παραδώσει το μήνυμα m πριν το m (ανεξάρτητα από τους αποστολείς), τότε οποιαδήποτε άλλη σωστή διεργασία που παραδίδει το m θα έχει παραδώσει ήδη το m Παράδειγμα P1: m0, m1, m2 P2: m3, m4, m5 P3: m6, m7, m8 Ολική διάταξη P1: m7, m1, m2, m4, m5, m3, m6, m0, m8 P2: m7, m1, m2, m4, m5, m3, m6, m0, m8 P3: m7, m1, m2, m4, m5, m3, m6, m0, m8
16 Παράδειγμα Bulletin board: os.interesting Item From Subject 23 A.Hanlon Mach 24 G.Joseph Microkernels 25 A.Hanlon Re: Microkernels 26 T.L Heureux RPC performance 27 M.Walker Re: Mach end Αξιόπιστο Multicast : Κάθε χρήστης λαμβάνει όλα τα μηνύματα FIFO: Τα μηνύματα του ίδιου χρήστη εμφανίζονται με τη σειρά αποστολής Αιτιώδης διάταξη: Τα Re: μηνύματα μετά από αυτά στα οποία αναφέρονται Ολική διάταξη: Η αρίθμηση συνεπής
17 Αποστολή vs. Παράδοση Ο αλγόριθμος λήψης ενός multicast αποφασίζει πότε να παραδώσει ένα μήνυμα στη διεργασία Ένα μήνυμα που παραλαμβάνεται μπορεί: Να παραδοθεί αμέσως (να τοποθετηθεί σε ουρά παράδοσης την οποία διαβάζει η διεργασία) Να τοποθετηθεί σε ουρά αναμονής (hold-back queue) γιατί πρέπει να περιμένουμε για παλιότερο μήνυμα Να απορριφθεί (διπλό ή παλιότερο μήνυμα που δε θέλουμε πια)
18 Αποστολή, παράδοση, αναμονή
19 Διάταξη FIFO Εξέταση μηνυμάτων από κάθε διεργασία με τη σειρά με την οποία εστάλησαν Κάθε διεργασία κρατά έναν αύξοντα αριθμό για κάθε μια από τις άλλες διεργασίες Όταν παραλαμβάνεται ένα μήνυμα, αν ο αύξων αριθμός του είναι: Ο αναμενόμενος (επόμενος στη σειρά), το αποδεχόμαστε Μεγαλύτερος από τον αναμενόμενο, το τοποθετούμε σε ουρά Μικρότερος από τον αναμενόμενο, το απορρίπτουμε
20 Παράδειγμα: FIFO Multicast Physical Time (do NOT be confused with vector timestamps) Accept = Deliver P1 P2 P Accept 1 = Sequence Vector Accept: 2 = Buffer 2>0 +1 Accept 1 = Accept: 1 = Accept Buffer 2 =
21 Ολικά διατεταγμένο multicast Με τη χρήση sequencer Ένας ειδικό sequencer διατάσσει όλα τα μηνύματα Όλοι οι υπόλοιποι ακολουθούν Το σύστημα ISIS Παρόμοιο με τον sequencer, αλλά η ευθύνη κατανέμεται σε όλους τους αποστολείς
22 Αλγόριθμος με χρήση sequencer Κάθε μήνυμα m που αποστέλλεται με multicast φέρει ένα μοναδικό id Το μήνυμα αποστέλλεται σε όλες της διεργασίες της ομάδα και στον sequencer O sequencer κρατά έναν αύξοντα αριθμό (sequence number) που χρησιμοποιεί για να δίνει αυξανόμενους και συνεχόμενους αριθμούς στα μηνύματα Ανακοινώνει τους sequence numbers στέλνοντας με multicast μήνυμα order Τα μηνύματα παραμένουν στην ουρά μέχρι να μπουν σε σειρά τα sequence numbers τους
23 Αλγόριθμος ISIS Οι διεργασίες συμφωνούν συλλογικά σε sequence number για κάθε μήνυμα Οι διεργασίες απαντούν σε ένα multicast με μια πρόταση για το sequence number Το μέγιστο όλων των συμφωνημένων sequence numbers Μεγαλύτερο από όλα τα sequence numbers που είχαν προτείνει οι ίδιες στο παρελθόν Αποθηκεύουν το μήνυμα σε ουρά προτεραιότητας hold-back Μηνύματα διατεταγμένα ανά sequence number Ο αποστολέας επιλέγει τη συμφωνημένη προτεραιότητα και ξαναστέλνει multicast με αυτήν το μέγιστο όλων των προτεινόμενων προτεραιοτήτων Κατά τη λήψη της τελικής προτεραιότητας Το μήνυμα μαρκάρεται προς παράδοση Παραδίδονται μηνύματα προς παράδοση από την αρχή της ουράς προτεραιότητας
24 Αλγόριθμος ISIS P Message P Agreed Seq 2 3 P 1 P 3 24
25 Αιτιώδης διάταξη: παράδειγμα Το m1 εξαρτάται από τη λήψη του m0 Έτσι, το m1 πρέπει να παραδοθεί μετά την παράδοση του m0 Το m0 και το m1 δεν έχουν αιτιώδη σχέση (ταυτόχρονα). Οποιαδήποτε διεργασία μπορεί να τα παραδώσει σε οποιαδήποτε σειρά
26 Αιτιώδης διάταξη Κάθε διεργασία διατηρεί διανυσματικό ρολόι Κάθε μετρητής αναπαριστά τον αριθμό των μηνυμάτων που έχουν ληφθεί από κάθε άλλη διεργασία Κατά το multicast, η διεργασία-αποστολέας αυξάνει τον μετρητή της και επισυνάπτει το διάνυσμα στο μήνυμα Κατά τη λήψη ενός μηνύματος multicast ο παραλήπτης περιμένει μέχρι να ικανοποιηθεί η αιτιώδης διάταξη, δλδ: Να έχει παραδώσει όσα μηνύματα έχει στείλει ο αποστολέας στο παρελθόν Να έχει παραδώσει όλα τα μηνύματα που είχε παραδώσει ο αποστολέας πριν την αποστολή του multicast
27 Αλγόριθμος Η διεργασία Pa λαμβάνει μήνυμα από την Pb Κάθε διεργασία διατηρεί ένα διάνυσμα προτεραιότητας (παρόμοιο με διανυσματική χρονοσφραγίδα) Το διάνυσμα ανανεώνεται με κάθε αποστολή και λήψη multicast Κάθε τιμή= # του πιο πρόσφατου μηνύματος από τη διεργασία που προηγείται του event Αλγόριθμος Όταν η Pb στέλνει μήνυμα Αυξάνει τη δική του τιμή και στέλνει το διάνυσμα Vb[b] = Vb[b] + 1 με το μήνυμα Όταν η Pa λάβει μήνυμα από την Pb Τσεκάρει αν το μήνυμα ήρθε με σειρά FIFO από την Pb Vb[b] == Va[b] + 1? Τσεκάρει ότι το μήνυμα δεν εξαρτάται από κάτι που δεν έχει δει ακόμα η Pa i, i b: Vb[i] Va[i]? Αν ικανοποιούνται και οι δύο συνθήκες, το Pa παραδίδει το μήνυμα Αλλιώς το κρατά σε αναμονή μέχρι να ικανοποιηθούν οι συνθήκες
28 Παράδειγμα Η P2 λαμβάνει μήνυμα m1 από την P1 με V1=(1,1,0) (1) Είναι σε σειρά FIFO από την P1? Σύγκριση τοπικού διανύσματος στην P2: V2=(0,0,0) με το διάνυσμα του μηνύματος από την P1, V1=(1,1,0) Ναι: V2[1] = 0, V1[1] = 1 sequential order (2) Είναι V1[i] V2[i] για όλα τα υπόλοιπα i? Σύγκριση των διανυσμάτων : V2=(0,0,0) vs. V1=(1,1,0) No. V1[0] > V2[0] (1 > 0) Οπότε m1 σε αναμονή στην P2
29 Παράδειγμα Η P2 λαμβάνει το m0 από την P0 με V=(1,0,0) (1) Είναι σε σειρά FIFO από την P0? Σύγκριση τοπικού διανύσματος στην P2: V2=(0,0,0) με το V0=(1,0,0) από την P0 Ναι: V2[0] = 0, V0[0] = 1 sequential (2) Είναι V0[i] V2[i] για όλα τα υπόλοιπα i? Ναι, (0 0), (0 0). Παράδοση m0. Τώρα τσέκαρε την ουρά αναμονής. Μπορεί να παραδοθεί το m1?
30 Παράδειγμα 23/11/2015 (1) Είναι το m1 που βρίσκεται σε αναμονή σε σειρά FIFO από την P0? Big Data related projects Σύγκριση του τωρινού V στην P2: V2=(1,0,0) με το V του μηνύματος σε αναμονή από την P0, V0=(1,1,0) Ναι: V2[1] = 0, V0[1] = 1 sequential (2) Είναι V0[i] V2[i] για όλα τα υπόλοιπα i? Τώρα ναι. Στοιχείο 0: (1 1), στοιχείο2: (0 0) Παράδοση m1 Πιο αποδοτικό από ολική διάταξη Δεν υπάρχει ανάγκη για sequencer. Δεν υπάρχει ανάγκη για acks
31 Κατανεμημένος συντονισμός Τεχνικές για συντονισμό της εκτέλεσης ανάμεσα σε διεργασίες Μία διεργασία μπορεί να πρέπει να περιμένει μια άλλη Κοινός πόρος (κρίσιμο τμήμα) απαιτεί αποκλειστική προσπέλαση
32 Γιατί θέλουμε αμοιβαίο αποκλεισμό Οι servers της τράπεζάς σας είναι στο cloud. Γίνονται δύο ταυτόχρονες καταθέσεις των στον λογαριασμό σας από διαφορετικά ΑΤΜs. Και τα δύο ATMs διαβάζουν το αρχικό ποσό των $1000 από τον server της τράπεζας Και τα δύο ATMs προσθέτουν $10,000 στο ποσό αυτό (τοπικά στο κάθε ATM) Και τα δύο γράφουν το τελικό ποσό στον server Τι θα γίνει;
33 Γιατί θέλουμε αμοιβαίο αποκλεισμό Τα ATMs πρέπει να έχουν αμοιβαία αποκλειόμενη προσπέλαση στις πληροφορίες του λογαριασμού στον server (ή στον κώδικα που αλλάζει τιμές δεδομένων στον λογαριασμό)
34 Κρίσιμο τμήμα Αμοιβαίος αποκλεισμός Ένα κομμάτι κώδικα (σε όλους τους clients) το οποίο πρέπει να εκτελείται από έναν το πολύ client κάθε στιγμή Λύση: Σημαφόροι, mutex, κλπ. σε κεντρικά συστήματα Πρωτόκολλα βασισμένα στην ανταλλαγή μηνυμάτων σε κατανεμημένα συστήματα: enter() είσοδος στο κρίσιμο τμήμα AccessResource() προσπέλαση του πόρου exit() έξοδος από το κρίσιμο τμήμα Απαιτήσεις για κατανεμημένο αμοιβαίο αποκλεισμό: Safety Το πολύ μία διεργασία μπορεί να εκτελεί το κρίσιμο τμήμα σε κάθε χρονική στιγμή Liveness Κάθε αίτημα για εκτέλεση του κρίσιμου τμήματος τελικά ικανοποιείται Διάταξη Τα αιτήματα ικανοποιούνται με τη σειρά που γίνονται
35 Κεντρικό σύστημα: mutex Για τον συγχρονισμό της πρόσβασης σε κοινές δομές δεδομένων από πολλαπλά νήματα Δύο διεργασίες μπορούν να εκτελέσουν τα παρακάτω: lock() unlock() while true: if lock not in use: label lock not in use label lock in use break // each iteration atomic
36 Χρήση mutex mutex L= UNLOCKED; extern mutex L; ATM1: lock(l); // είσοδος στο // κρίσιμο τμήμα διαβάζω το υπόλοιπο του λογαριασμού μου; προσθέτω την κατάθεση; ενημερώνω το υπόλοιπο; unlock(l); // έξοδος ATM: lock(l); // είσοδος στο // κρίσιμο τμήμα διαβάζω το υπόλοιπο του λογαριασμού μου; προσθέτω την κατάθεση; ενημερώνω το υπόλοιπο; unlock(l); // exit
37 Σε κατανεμημένα συστήματα Υποθέτουμε ότι υπάρχει συμφωνία για το πώς αναφερόμαστε σε έναν πόρο Περνάει το αναγνωριστικό μαζί με τα αιτήματα (lock( printer ), lock( table:employees ) κλπ) Σκοπός Δημιουργία αλγορίθμου που επιτρέπει σε μια διεργασία να επεξεργαστεί ένα αίτημα και Να αποκτήσει αποκλειστική πρόσβαση σε έναν πόρο που είναι διαθέσιμος στο δίκτυο
38 Υποθέσεις Για όλους τους αλγορίθμους που θα εξετάσουμε κάνουμε τις ακόλουθες υποθέσεις: Κάθε ζεύγος διεργασιών συνδέεται μέσω αξιόπιστου καναλιού (π.χ. TCP). Τα μηνύματα παραδίδονται στους παραλήπτες με FIFO διάταξη Οι διεργασίες δεν αποτυγχάνουν
39 Κριτήρια Επίδοσης Bandwidth: Ο συνολικός αριθμός μηνυμάτων που αποστέλλονται σε κάθε εισαγωγή και έξοδο από το κρίσιμο τμήμα Client delay: Η καθυστέρηση που προκαλείται από μια διεργασία σε κάθε εισαγωγή ή έξοδο από το κρίσιμο τμήμα (όταν δεν υπάρχει άλλη διεργασία που να εκτελεί το κρίσιμο τμήμα ή να βρίσκεται σε αναμονή) Synchronization delay: Το χρονικό διάστημα ανάμεσα στην έξοδο μιας διεργασίας από το κρίσιμο τμήμα και την εισαγωγή της επόμενης διεργασίας σε αυτό (όταν υπάρχει μόνο μια διεργασία σε αναμονή).
40 Κατηγορίες αλγορίθμων Κεντρικοί Μια διεργασία αποκτά πρόσβαση σε έναν πόρο όταν της το επιτρέπει ένας κεντρικός συντονιστής (κεντρικός έλεγχος) Με σκυτάλη Μια διεργασία αποκτά πρόσβαση σε έναν πόρο αν έχει σκυτάλη (token) που της το επιτρέπει (Δακτύλιος με σκυτάλη) Με συμφωνία Μια διεργασία αποκτά πρόσβαση σε έναν πόρο μέσω κατανεμημένης συμφωνίας (Ricart & Agrawala)
41 Κεντρικός Έλεγχος Μια διεργασία έχει εκλεγεί ως συντονιστής (coordinator) 1. Αίτηση για πρόσβαση 2. Αναμονή για απάντηση 3. Λήψη άδειας 4. Πρόσβαση σε κρίσιμο τμήμα 5. Έξοδος
42 Κεντρικός Έλεγχος Αν κάποια άλλη διεργασία ζητήσει τον πόρο τότε: Ο συντονιστής δεν αποκρίνεται μέχρι να απελευθερωθεί ο πόρος Διατηρεί ουρά Τα αιτήματα εξυπηρετούνται με σειρά FIFO
43 Αποτίμηση αλγορίθμου Bandwidth Απαιτούνται 3 μηνύματα ανά είσοδο και έξοδο Client delay Ένα round trip time (αίτημα + άδεια) Synchronization delay Ένα round trip time (έξοδος + άδεια) + Δικαιοσύνη: Τα αιτήματα υφίστανται επεξεργασία με τη σειρά + Ευκολία υλοποίησης και επαλήθευσης - Η διεργασία δεν μπορεί να ξεχωρίσει αν μπλοκάρεται από συντονιστή που έχει σφάλμα - Ο κεντρικός εξυπηρετητής μπορεί να αποτελέσει bottleneck
44 Αλγόριθμος δακτυλίου Μπορεί να επιβληθεί κάποια διάταξη Οι διεργασίες είναι οργανωμένες σε λογικό δακτύλιο Κάθε διεργασία επικοινωνεί με τη γειτονική της Αρχικοποίηση Η διεργασία 0 παίρνει σκυτάλη για τον πόρο R Η σκυτάλη κυκλοφορεί γύρω από τον δακτύλιο Από την Pi στην P(i+1)mod N Όταν η διεργασία παίρνει τη σκυτάλη Ελέγχει αν χρειάζεται τον πόρο Αν όχι, στέλνει τη σκυτάλη στην επόμενη Αν ναι, προσπελάζει τον πόρο Κρατά τη σκυτάλη μέχρι να ολοκληρώσει
45 Αποτίμηση αλγορίθμου Bandwidth: 1 μήνυμα ανά έξοδο Client delay: 0 με N μηνύματα Synchronization delay: ανάμεσα σε 1 και N-1 μηνύματα Μόνο μια διεργασία τη φορά έχει τη σκυτάλη + Ο αμοιβαίος αποκλεισμός είναι εγγυημένος Η διάταξη είναι καλά ορισμένη (όχι απαραίτητα FIFO) + Δεν μπορεί να προκληθεί Starvation Αν η σκυτάλη χαθεί (π.χ., η διεργασία πεθάνει) - Θα πρέπει να δημιουργηθεί ξανά - Η ανίχνευση της απώλειας είναι δύσκολη (η σκυτάλη χάθηκε ή χρησιμοποιείται από κάποια άλλη διεργασία;)
46 Αλγόριθμος Ricart & Agrawala Κατανεμημένος αλγόριθμος που χρησιμοποιεί αξιόπιστο multicast και λογικά ρολόγια Όταν μια διεργασία θέλει να εισέλθει στο κρίσιμο τμήμα: 1. Συνθέτει μήνυμα που περιέχει: Αναγνωριστικό (machine ID, process ID) Όνομα του πόρου Χρονοσφραγίδα (π.χ., Lamport) 2. Στέλνει με αξιόπιστο multicast αίτημα σε όλες της διεργασίες της ομάδας 3. Περιμένει μέχρι να λάβει άδεια από όλους 4. Εισέρχεται στο κρίσιμο τμήμα/χρησιμοποιεί τον πόρο
47 Συνέχεια Για να εισέλθει στο κρίσιμο τμήμα θέτει την κατάστασή του σε wanted στέλνει με multicast αίτημα σε όλες τις διεργασίες (συμπεριλαμβάνοντας χρονοσφραγίδα) Περιμένει μέχρι όλες οι διεργασίες να στείλουν απάντηση Αλλάζει την κατάστασή του σε held και μπαίνει στο κρίσιμο τμήμα Κατά τη λήψη αιτήματος <Ti, pi> στην pj: Αν η κατάστασή της είναι held ή η κατάσταση είναι wanted & (Tj, pj)<(ti,pi)), βάλε το αίτημα σε ουρά αλλιώς απάντησε στην pi Κατά την έξοδο από το κρίσιμο τμήμα Άλλαξε την κατάσταση σε release και απάντησε στο πρώτο αίτημα στην ουρά
48 Παράδειγμα p Reply p Reply 34 Reply p
49 Αποτίμηση Bandwidth: 2(N-1) μηνύματα ανά εισαγωγή N-1 unicasts για το multicast request + N-1 απαντήσεις Client delay Ένα RTT Synchronization delay O χρόνος μετάδοσης ενός μηνύματος - Πιο ακριβός αλγόριθμος σε bandwidth - N σημεία σφάλματος + Μικρότερο synchronization delay (1 μήνυμα) + Βελτιώσεις: Αν η διεργασία που μπήκε τελευταία στο critical section δεν έχει λάβει άλλα αιτήματα;
50 Αλγόριθμοι Εκλογής
51 Γιατί χρειάζονται; Όταν θέλουμε μια διεργασία να παίξει έναν συγκεκριμένο ρόλο Συντονιστή για αμοιβαίο αποκλεισμό Τον root σε ομάδα από NTP servers
52 Παραδοχές Οποιαδήποτε διεργασία μπορεί να ξεκινήσει διαδικασία εκλογής Κάθε διεργασία μπορεί να ξεκινήσει το πολύ μια διαδικασία εκλογής τη φορά Πολλές διεργασίες μπορούν να ξεκινήσουν διαδικασία εκλογής ταυτόχρονα Όλες πρέπει να αποφασίσουν για έναν μοναδικό, κοινό αρχηγό Το αποτέλεσμα δεν εξαρτάται από το ποια διεργασία ξεκίνησε τη διαδικασία εκλογής Τα μηνύματα τελικά θα παραδοθούν
53 Ορισμός προβλήματος Στο τέλος του πρωτοκόλλου εκλογής επιλέγεται ως αρχηγός η ζωντανή διεργασία με το μεγαλύτερο αναγνωριστικό Παράδειγμα αναγνωριστικού: CPU speed, load, disk space, ID Πρέπει να είναι μοναδικό και να μπορεί να διαταχθεί Κάθε διεργασία έχει μια μεταβλητή elected. Η εκτέλεση του αλγορίθμου πρέπει πάντα στο τέλος να εγγυάται Safety: σωστή p: ( elected = (q: μια συγκεκριμένη σωστή διεργασία με τη μεγαλύτερη τιμή αναγνωριστικού) ) Liveness: election: (η διαδικασία τερματίζει) & σωστή διεργασία p: η μεταβλητή elected του p είναι τελικά διάφορη του
54 Εκλογή δακτυλίου N διεργασίες οργανώνονται σε λογικό δακτύλιο η p i επικοινωνεί με την p i+1 mod N. Όλα τα μηνύματα στέλνονται δεξιόστροφα γύρω από τον δακτύλιο Για την έναρξη της διαδικασίας εκλογής Η διεργασία στέλνει μήνυμα election μαζί με το id της Κατά τη λήψη μηνύματος (election, id) μια διεργασία με myid Αν id > my ID: προωθεί το μήνυμα Θέτει την κατάστασή της σε participating Αν id < my ID: στέλνει (election, my ID) Skip αν η κατάσταση είναι ήδη participating Θέτει την κατάσταση σε participating Αν id = my ID: η διεργασία εξελέγη αρχηγός και στέλνει μήνυμα elected Το μήνυμα elected προωθείται μέχρι να φτάσει ξανά στον αρχηγό.
55 Αποτίμηση Ποιο είναι το χειρότερο σενάριο; Το μεγαλύτερο id έχει η διεργασία που βρίσκεται ακριβώς πριν τη διεργασία που ξεκίνησε τη διαδικασία εκλογής 3Ν-1 μηνύματα Παράδειγμα : 1 Η διαδικασία ξεκίνησε από τη διεργασία Το μεγαλύτερο id μέχρι τώρα είναι το Ο τελικός αρχηγός είναι η διεργασία με id 33
56 Παράδειγμα P1 P1 Election: 4 P1 P0 P2 P0 P2 P0 P2 P5 P4 Election: 2 P3 Election: 3 1. Η P2 ξεκινά εκλογή μετά την αποτυχία της P5 P5 P4 P3 2. Η P2 λαμβάνει μήνυμα election και η P4 πεθαίνει P5 P4 Election: 4 P3 3. Το μήνυμα election: 4 προωθείται για πάντα Αν μια διεργασία πεθάνει κατά τη διάρκεια εκτέλεσης, ο αλγόριθμος μπορεί να μην τερματίσει ποτέ
57 Τροποποιημένη εκλογή δακτυλίου Το μήνυμα election καταγράφει όλα τα ids των κόμβων που το προώθησαν, όχι μόνο το μεγαλύτερο Κάθε διεργασία προσθέτει το id της στη λίστα Μόλις το μήνυμα περάσει όλον τον κύκλο, αποστέλλεται ένα νέο μήνυμα coordinator Επιλέγεται ο κόμβος με το μεγαλύτερο id στο μήνυμα election Κάθε κόμβος προσθέτει το id του στο μήνυμα coordinator Όταν το μήνυμα coordinator επιστρέψει στον εκκινητή της διαδικασίας Η εκλογή έχει επιτύχει αν το id του νέου αρχηγού είναι μέσα στη λίστα των ids Αλλιώς ξεκινάει νέα διαδικασία εκλογής
58 Παράδειγμα P1 P1 Election: 2, 3,4,0,1 P1 P0 P2 P0 P2 P0 P2 P5 P4 Election: 2 P3 Election: 2,3 1. Η P2 ξεκινά εκλογή P0 P5 P1 P4 Coord(4) 2, 3,0,1 P2 P3 4. Η P2 λαμβάνει το μήνυμα coord χωρίς το id 4 P5 Election: 2,3,0 P4 Election: 2,3 5. H P2 ξεκινά τη διαδικασία ξανά P3 2. Η P2 λαμβάνει μήνυμα election και η P4 πεθαίνει P0 P5 P1 P4 Election: 2, 3,0,1 P2 Election: 2 P3 P5 Coord(4): 2,3 Coord(3): 2,3,0 P4 Coord(4): 2 P3 3. Η P2 επιλέγει την 4 και ανακοινώνει P0 P5 P1 P4 Coord(3): 2, 3,0,1 P2 Coord(3): 2 P3 Coord(3): 2,3 6. Τελικά εκλέγεται η P3
59 Αποτίμηση Πόσα μηνύματα; 2N Όμως μεγαλύτερα σε μέγεθος Αν πεθάνει ο εκκινητής; Ο επόμενος κόμβος βλέπει ότι το μήνυμα πέρασε από όλον τον δακτύλιο Ξεκινά καινούρια εκλογή
60 Αλγόριθμος bully Υποθέσεις Σύγχρονο σύστημα (δλδ υπάρχουν όρια στο χρόνο μετάδοσης ενός μηνύματος) Χρησιμοποιεί timeouts για να ανιχνεύσει σφάλματα σε διεργασίες Κάθε διεργασία γνωρίζει όλες τις υπόλοιπες διεργασίες στο σύστημα (επομένως και τα ids τους)
61 Αλγόριθμος bully 3 τύποι μηνυμάτων election εκκίνηση διαδικασίας εκλογής answer επιβεβαίωση της λήψης coordinator ανακήρυξη αρχηγού Έναρξη διαδικασίας Ο εκκινητής στέλνει μήνυμα election σε όλες τις διεργασίες με id μεγαλύτερο από το δικό του Αν δεν απαντήσει κανείς μέχρι το timeout: ανακηρύσσεται αρχηγός Αν κάποιος απαντήσει, περιμένει για το μήνυμα coordinator Επανεκκινεί τη διαδικασία μετά από timeout Κατά τη λήψη μηνύματος election Αποστολή answer Εκκίνηση νέας διαδικασίας εκλογής
62 Παράδειγμα answer=ok P1 P1 P1 P0 Election P2 P0 P2 P0 P2 Election Election OK OK Election P5 P3 P5 P3 P5 Election P3 P4 P4 P4 Election 1. Η P2 ξεκινά εκλογή 2. Η P2 λαμβάνει απάντηση 3. Οι P3 & P4 ξεκινούν εκλογή P1 P1 P1 P0 P2 P0 P2 P0 P2 P5 OK P3 P5 P3 P5 coordin ator P3 P4 4. Η P3 λαμβάνει απάντηση P4 5. Η P4 δε λαμβάνει απάντηση P4 5. Η P4 ανακηρύσσεται αρχηγός
63 Αποτίμηση Best case scenario: Η διεργασία με το δεύτερο μεγαλύτερο id αντιλαμβάνεται ότι ο συντονιστής έχει πεθάνει και εκλέγει τον εαυτό της N-2 μηνύματα coordinator Worst case scenario: Η διεργασία με το μικρότερο id ανιχνεύει ότι ο συντονιστής έχει πεθάνει N-1 διεργασίες ξεκινούν εκλογή ταυτόχρονα, καθεμιά από τις οποίες στέλνει μηνύματα στις διεργασίες με μεγαλύτερο id Η επιβάρυνση σε μηνύματα είναι O(N 2 ). Πόσο να θέσουμε το timeout; 2T + T process
64 Group communication Multicast για FIFO διάταξη Multicast για ολική διάταξη Sequencer ISIS Multicast για αιτιώδη διάταξη Χρησιμοποιεί vector timestamps Ανακεφαλαίωση Αμοιβαίος αποκλεισμός Κεντρικός έλεγχος Δακτύλιος με σκυτάλη Αλγόριθμος Ricart and Agrawala Ο συντονισμός σε κατανεμημένα συστήματα απαιτεί συχνά εκλογή αρχηγού Αλγόριθμος δακτυλίου Αλγόριθμος τροποποιημένου δακτυλίου Αλγόριθμος bully
Κατανεμημένα Συστήματα Ασκήσεις.
Κατανεμημένα Συστήματα Ασκήσεις 2016-2017 http://www.cslab.ece.ntua.gr/courses/distrib Άσκηση 1 3 διεργασίες, η P1, η P2 και η P3 στέλνουν μεταξύ τους multicast μηνύματα. Σε περίπτωση που θέλουμε να εξασφαλίσουμε:
Διαβάστε περισσότεραΚατανεμημένα Συστήματα με Java. Ενότητα # 4: Αμοιβαίος αποκλεισμός Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής
Κατανεμημένα Συστήματα με Java Ενότητα # 4: Αμοιβαίος αποκλεισμός Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού
Διαβάστε περισσότεραΑµοιβαίοςαποκλεισµός. Κατανεµηµένα Συστήµατα 03-1
Αµοιβαίοςαποκλεισµός Εισαγωγή Συγκεντρωτική προσέγγιση Κατανεµηµένη προσέγγιση Αλγόριθµος Lamport Αλγόριθµος Ricart-Agrawala Προσέγγιση µεταβίβασης σκυτάλης Αλγόριθµος LeLann Αλγόριθµος Raymond Αλγόριθµος
Διαβάστε περισσότεραΔιάλεξη 10: Αλγόριθμοι Αμοιβαίου Αποκλεισμού σε περιβάλλον ανταλλαγής μηνυμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι
Διάλεξη 10: Αλγόριθμοι Αμοιβαίου Αποκλεισμού σε περιβάλλον ανταλλαγής μηνυμάτων ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Τι θα δούμε σήμερα Αλγόριθμος Χρήση Συντονιστή Αλγόριθμος του Lamport Αλγόριθμος LeLann:
Διαβάστε περισσότεραΑμοιβαίος αποκλεισμός με ασύγχρονη επικοινωνία (ανταλλαγή μηνυμάτων) Ταυτόχρονος Προγραμματισμός 1
Αμοιβαίος αποκλεισμός με ασύγχρονη επικοινωνία (ανταλλαγή μηνυμάτων) Ταυτόχρονος Προγραμματισμός 1 lalis@inf.uth.gr Μοντέλο δικτύου/επικοινωνίας Αξιοπιστία (δεν χάνονται μηνύματα) Άγνωστη ταχύτητα μετάδοσης
Διαβάστε περισσότεραΕκλογήαρχηγού. Εισαγωγή Ισχυρά συνδεδεµένος γράφος ακτύλιος µίας κατεύθυνσης Τοπολογία δένδρου. Κατανεµηµένα Συστήµατα 06-1
Εκλογήαρχηγού Εισαγωγή Ισχυρά συνδεδεµένος γράφος ακτύλιος µίας κατεύθυνσης Τοπολογία δένδρου Κατανεµηµένα Συστήµατα 06- Εισαγωγή Πρόβληµα: επιλογή µίας διεργασίας από το σύνολο εν αρκεί να αυτοανακηρυχθεί
Διαβάστε περισσότεραΚατανεμημένα Συστήματα. Ενότητα # 2: Εκλογή αρχηγού Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής
Κατανεμημένα Συστήματα Ενότητα # 2: Εκλογή αρχηγού Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα.
Διαβάστε περισσότεραΑπαντήσεις. Απάντηση. Απάντηση
6 η σειρά ασκήσεων Άλκης Γεωργόπουλος Α.Μ. 39 Αναστάσιος Κοντογιώργης Α.Μ. 43 Άσκηση 1. Απαντήσεις Η αλλαγή ενός ρολογιού προς τα πίσω µπορεί να προκαλέσει ανεπιθύµητη συµπεριφορά σε κάποια προγράµµατα.
Διαβάστε περισσότεραΔιάλεξη 12: Διάχυση Μηνυμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι
Διάλεξη 12: Διάχυση Μηνυμάτων ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Ορισμός Προσομοίωσης Τι θα δούμε σήμερα Προσομοίωση Υπηρεσίας Διάχυσης Μηνυμάτων Ιδιότητες Διάταξης Μηνυμάτων ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι
Διαβάστε περισσότεραΚατανεμημένα Συστήματα Ι
Κατανεμημένα Συστήματα Ι Συναίνεση και Σφάλματα Διεργασιών Παναγιώτα Παναγοπούλου Περίληψη Συναίνεση με σφάλματα διεργασιών Το πρόβλημα Ο αλγόριθμος FloodSet Επικύρωση δοσοληψιών Ορισμός του προβλήματος
Διαβάστε περισσότεραΚατανεμημένες δοσοληψίες
Κατανεμημένες δοσοληψίες Κατανεμημένα Συστήματα 2018-2019 http://www.cslab.ece.ntua.gr/courses/distrib Στο προηγούμενο μάθημα Απλές δοσοληψίες (transactions) Ιδιότητες ACID Και κυρίως atomicity και durability
Διαβάστε περισσότεραΚατανεμημένα Συστήματα. 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
Διαβάστε περισσότεραΚινητά και Διάχυτα Συστήματα. Ενότητα # 8: Εκλογή αρχηγού Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής
Κινητά και Διάχυτα Συστήματα Ενότητα # 8: Εκλογή αρχηγού Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του
Διαβάστε περισσότεραΤρίτη Πρόοδος [110 μονάδες] Απαντήσεις
ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2011-20112 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 15 Δεκεμβρίου 2011 Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις 1. Θεωρήσετε
Διαβάστε περισσότεραΚατανεμημένα Συστήματα Ι
Συναίνεση με σφάλματα διεργασιών Κατανεμημένα Συστήματα Ι 5η Διάλεξη 10 Νοεμβρίου 2016 Παναγιώτα Παναγοπούλου Κατανεμημένα Συστήματα Ι 5η Διάλεξη 1 Συναίνεση με σφάλματα διεργασιών Προηγούμενη διάλεξη
Διαβάστε περισσότεραΚατανεμημένες δοσοληψίες
Κατανεμημένες δοσοληψίες Κατανεμημένα Συστήματα 2015-2016 http://www.cslab.ece.ntua.gr/courses/distrib Στο προηγούμενο μάθημα Απλές δοσοληψίες (transactions) Flat Nested Ιδιότητες ACID Και κυρίως atomicity
Διαβάστε περισσότεραΡολόγια και Συγχρονισμός
Ρολόγια και Συγχρονισμός Κατανεμημένα Συστήματα 2015 2016 http://www.cslab.ece.ntua.gr/courses/distrib Συνοπτικά Πρέπει να ξέρουμε πότε έγινε τι Ιδανικά ακριβώς πότε έγινε τι Ή τουλάχιστον να διατάξουμε
Διαβάστε περισσότεραΕκλογή αρχηγού σε σύγχρονο δακτύλιο: Οι αλγόριθμοι LCR και HS. 1 Ο αλγόριθμος LCR (Le Lann, Chang, and Roberts)
Κ Σ Ι Εκλογή αρχηγού σε σύγχρονο δακτύλιο: Οι αλγόριθμοι LCR και HS Παναγιώτα Παναγοπούλου 1 Ο αλγόριθμος LCR (Le Lann, Chang, and Roberts) Ο αλγόριθμος LCR είναι ένας αλγόριθμος εκλογής αρχηγού σε ένα
Διαβάστε περισσότεραΕνδεικτικές Λύσεις 1ου Σετ Ασκήσεων
Κ Σ Ι Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων Παναγιώτα Παναγοπούλου Άσκηση 1. Υποθέστε ότι οι διεργασίες ενός σύγχρονου κατανεμημένου συστήματος έχουν μοναδικές ταυτότητες (UIDs), γνωρίζουν ότι είναι συνδεδεμένες
Διαβάστε περισσότεραΟμαδική Επικοινωνία (Group Communication) Κατανεμημένα Συστήματα 1
Ομαδική Επικοινωνία (Group Communication) Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ομαδική επικοινωνία Σαφής διαχωρισμός ανάμεσα στις διεργασίες που είναι και σε αυτές που δεν είναι μέλη της ομάδας Ανοιχτή
Διαβάστε περισσότεραDr. Garmpis Aristogiannis - EPDO TEI Messolonghi
Προϋποθέσεις για Αµοιβαίο Αποκλεισµό Μόνο µία διεργασία σε κρίσιµο τµήµασεκοινό πόρο Μία διεργασία που σταµατά σε µη κρίσιµο σηµείο δεν πρέπει να επιρεάζει τις υπόλοιπες διεργασίες εν πρέπει να υπάρχει
Διαβάστε περισσότεραΒασικές έννοιες. Κατανεμημένα Συστήματα 1
Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα
Διαβάστε περισσότεραΔιάλεξη 6: Εκλογή Προέδρου σε Σύγχρονους Δακτύλιους. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι
Διάλεξη 6: Εκλογή Προέδρου σε Σύγχρονους Δακτύλιους ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Τι θα δούμε σήμερα Μη Ομοιόμορφος Αλγόριθμος Εκλογής Προέδρου σε Σύγχρονο Δακτύλιο Ομοιόμορφος Αλγόριθμος Εκλογής Προέδρου
Διαβάστε περισσότεραΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 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 υπηρεσία επιτρέπει σε έναν
Διαβάστε περισσότεραΚατανεμημένες δοσοληψίες
Κατανεμημένες δοσοληψίες Κατανεμημένα Συστήματα 2016-2017 http://www.cslab.ece.ntua.gr/courses/distrib Στο προηγούμενο μάθημα Απλές δοσοληψίες (transactions) Ιδιότητες ACID Και κυρίως atomicity και durability
Διαβάστε περισσότεραΣχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1
I. Παράδειγμα 1: Απόδοση TCP με παράθυρο αποστολέα = 1 a. Ο μηχανισμός όπως έχει περιγραφεί ως τώρα στέλνει μόνο ένα πακέτο και σταματάει να μεταδίδει έως ότου πάρει το ack του πακέτου αυτού (λειτουργία
Διαβάστε περισσότεραImproving the performance of TCP in the case of packet reordering. Στρατάκη Μαρία
Improving the performance of TCP in the case of packet reordering Στρατάκη Μαρία Γενικές Πληροφορίες για το TCP/IP TCP (Transmission Control Protocol) IP (Internet Protocol) Χωρίζουν τα δεδομένα σε τμήματα
Διαβάστε περισσότερα2.4 Κλασσικά Προβλήματα IPC
2.4 Κλασσικά Προβλήματα IPC 1 Οι φιλόσοφοι που γευματίζουν - Dining Philosophers Μια πρώτη λύση για Ν φιλοσόφους: philosopher (i) while (1) { think; take_fork(i);/* πάρε αριστερό ξυλάκι */ take_fork(i+1
Διαβάστε περισσότεραΕντοπισμός τερματισμού. Κατανεμημένα Συστήματα 1
Εντοπισμός τερματισμού Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Μοντέλο συστήματος Μια ομάδα διεργασιών εκτελεί έναν υπολογισμό Κατάσταση διεργασίας: ενεργητική ή παθητική (ανάλογα με το αν εκτελεί μέρος
Διαβάστε περισσότεραΦυσικά και λογικά ρολόγια. Κατανεμημένα Συστήματα 1
Φυσικά και λογικά ρολόγια Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Τοπικά γεγονότα/συμβάντα Ορίζουμε ως γεγονός e i.x την x-οστή ενέργεια που έλαβε χώρα τοπικά στην διεργασία P i Το επίπεδο αφαίρεσης
Διαβάστε περισσότερα«Συγχρονισμός ρολογιών υπό την παρουσία σφαλμάτων»
ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ II «υπό την παρουσία σφαλμάτων» Αντωνέλλης Δημήτριος Α.Μ. 2812 antonel@ceid.upatras.gr ΠΑΤΡΑ ΙΟΥΛΙΟΣ 2007 Outline Μέρος Α
Διαβάστε περισσότεραΚατανεμημένα Συστήματα Ι
Συναίνεση χωρίς την παρουσία σφαλμάτων Κατανεμημένα Συστήματα Ι 4η Διάλεξη 27 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Κατανεμημένα Συστήματα Ι 4η Διάλεξη 1 Συναίνεση χωρίς την παρουσία σφαλμάτων Προηγούμενη
Διαβάστε περισσότεραΔιάλεξη 16: Πρόβλημα Συμφωνίας. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι
Διάλεξη 16: Πρόβλημα Συμφωνίας ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Τι θα δούμε σήμερα Ορισμός του προβλήματος Συμφωνίας Αλγόριθμος Συμφωνίας με Σφάλματα Κατάρρευσης ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 1 Πρόβλημα
Διαβάστε περισσότεραΣχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1
I. Παράδειγμα 1: Απόδοση TCP με παράθυρο αποστολέα = 1 a. Ο μηχανισμός όπως έχει περιγραφεί ως τώρα στέλνει μόνο ένα πακέτο και σταματάει να μεταδίδει έως ότου πάρει το ack του πακέτου αυτού (λειτουργία
Διαβάστε περισσότεραΔιάλεξη 11: Αιτιότητα Διάταξη Γεγονότων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι
Διάλεξη 11: Αιτιότητα Διάταξη Γεγονότων ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Τι θα δούμε σήμερα Ορισμός του «Πριν- Από» (Happens- Before) Λογικά Ρολόγια Αλγόριθμος Χρονοσφραγίδων του Lamport Διανυσματικά
Διαβάστε περισσότεραΔίκτυα Απευθείας Ζεύξης. Επικοινωνία µεταξύ δύο υπολογιστών οι οποίοι είναι απευθείας συνδεδεµένοι.
Δίκτυα Απευθείας Ζεύξης Επικοινωνία µεταξύ δύο υπολογιστών οι οποίοι είναι απευθείας συνδεδεµένοι. Περίληψη Ζεύξεις σηµείου προς σηµείο (point-to-point links) Πλαισίωση (framing) Ανίχνευση και διόρθωση
Διαβάστε περισσότεραΑξιόπιστη μεταφορά δεδομένων πάνω από αναξιόπιστο δίκτυο. Κατανεμημένα Συστήματα 1
Αξιόπιστη μεταφορά δεδομένων πάνω από αναξιόπιστο δίκτυο Κατανεμημένα Συστήματα lalis@inf.uth.gr Μοντέλο δικτύου* Το δίκτυο δέχεται και επιστρέφει πακέτα κάθε πακέτο μεταφέρει έναν περιορισμένο αριθμό
Διαβάστε περισσότεραΔρομολόγηση (Routing)
Δρομολόγηση (Routing) Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναμικός Προγραμματισμός ijkstra s Algorithm Αλγόριθμοi Δρομολόγησης Link State istance Vector Δρομολόγηση σε Κινητά Δίκτυα Δρομολόγηση
Διαβάστε περισσότεραΑξιόπιστη μεταφορά δεδομένων πάνω από αναξιόπιστο δίκτυο. Κατανεμημένα Συστήματα 1
Αξιόπιστη μεταφορά δεδομένων πάνω από αναξιόπιστο δίκτυο Κατανεμημένα Συστήματα lalis@inf.uth.gr Μοντέλο δικτύου Το δίκτυο δέχεται και επιστρέφει πακέτα κάθε πακέτο μεταφέρει έναν περιορισμένο αριθμό bytes
Διαβάστε περισσότεραHY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο
HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο 2016-2017 Δέυτερη Προγραμματιστική Εργασία Προθεσμία παράδοσης: 19/6/2017 1. Γενική Περιγραφή Στην δεύτερη προγραμματιστική εργασία καλείστε να υλοποιήσετε
Διαβάστε περισσότεραΒασικές έννοιες. Κατανεμημένα Συστήματα 1
Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα
Διαβάστε περισσότεραΚατανεμημένα Συστήματα με Java. Ενότητα # 2: Διάταξη συμβάντων, καθολικές καταστάσεις Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής
Κατανεμημένα Συστήματα με Java Ενότητα # 2: Διάταξη συμβάντων, καθολικές καταστάσεις Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια
Διαβάστε περισσότεραΚατανεμημένα Συστήματα Ι
Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού και κατασκευή BFS δένδρου σε σύγχρονο γενικό δίκτυο Παναγιώτα Παναγοπούλου Περίληψη Εκλογή αρχηγού σε γενικά δίκτυα Ορισμός του προβλήματος Ο αλγόριθμος FloodMax
Διαβάστε περισσότεραΚατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου
Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου Μ.Στεφανιδάκης Κατανεμημένα συστήματα ελέγχου Α Β διασυνδετικό δίκτυο Γ Δ Ε π.χ. οι επιμέρους
Διαβάστε περισσότεραΛειτουργικά Συστήματα Η/Υ
Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 5 «Αμοιβαίος Αποκλεισμός» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 Αμοιβαίος Αποκλεισμός 1. Εισαγωγή 2. Κρίσιμα τμήματα (Critical Sections) 3. Υλοποίηση του
Διαβάστε περισσότεραΕπικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1
Επικοινωνία με μηνύματα Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Επικοινωνία με ανταλλαγή μηνυμάτων Η επικοινωνία με μηνύματα είναι ο πιο ευέλικτος τρόπος αλληλεπίδρασης σε κατανεμημένα συστήματα πιο
Διαβάστε περισσότεραΔιάλεξη 17: Συμφωνία με Βυζαντινά Σφάλματα. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι
Διάλεξη 17: Συμφωνία με Βυζαντινά Σφάλματα ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Βυζαντινά Σφάλματα Τι θα δούμε σήμερα Κάτω Φράγμα για Αλγόριθμους Συμφωνίας με Βυζαντινά Σφάλματα: n > 3f Αλγόριθμος Συμφωνίας
Διαβάστε περισσότεραΔιάλεξη 1: Εισαγωγή στον Κατανεμημένο Υπολογισμό. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι
Διάλεξη 1: Εισαγωγή στον Κατανεμημένο Υπολογισμό ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Τι θα δούμε σήμερα Τι είναι ένα Κατανεμημένο Σύστημα; Επικοινωνία, Χρονισμός, Σφάλματα Μοντέλο Ανταλλαγής Μηνυμάτων 1
Διαβάστε περισσότερα4.1.1 Πρωτόκολλο TCP - Δομή πακέτου
4.1.1 Πρωτόκολλο TCP - Δομή πακέτου 1 / 38 Παράδειγμα Έστω ότι θέλουμε να αποστείλουμε ένα μήνυμα μέσω ηλεκτρονικού ταχυδρομείου. Αρχικά η εφαρμογή χρησιμοποιώντας τα πρωτόκολλα του επιπέδου εφαρμογής
Διαβάστε περισσότεραΚαθολικέςκαταστάσεις. Ορισµοί Κατασκευή καθολικών καταστάσεων Παθητική στρατηγική Ενεργητική στρατηγική. Κατανεµηµένα Συστήµατα 04-1
Καθολικέςκαταστάσεις Ορισµοί Κατασκευή καθολικών καταστάσεων Παθητική στρατηγική Ενεργητική στρατηγική Κατανεµηµένα Συστήµατα 04-1 Ορισµοί Τοπικήιστορία διεργασίας p i Έστω ότι e ij είναι το γεγονός jτης
Διαβάστε περισσότεραΔροµολόγηση (Routing)
Δροµολόγηση (Routing) Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναµικός Προγραµµατισµός Dijkstra s Algorithm Αλγόριθµοi Δροµολόγησης Link State Distance Vector Δροµολόγηση σε Κινητά Δίκτυα Δροµολόγηση
Διαβάστε περισσότεραΣυνεπείς καθολικές καταστάσεις & επιβεβαίωση ιδιοτήτων. Κατανεμημένα Συστήματα 1
Συνεπείς καθολικές καταστάσεις & επιβεβαίωση ιδιοτήτων Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Λογικά συνεπείς τομές Τμήμα τοπικής ιστορίας: h i.k {e i.1,e i.2,e i.k } τμήμα της τοπικής εκτέλεσης στην
Διαβάστε περισσότεραοµήτης παρουσίασης Marzullo και Neiger αλγόριθµος Παράδειγµα Distributed Debugging Εισαγωγικά
Distributed Debugging Τσώτσος Θοδωρής Φωλίνας Νίκος Εισαγωγικά Επιθυµούµε να µπορούµε να παρατηρούµε την εκτέλεση του προγράµµατος κατά τη διάρκειά του. Έχουµε τη δυνατότητα να ελέγξουµε αν οι απαιτούµενες
Διαβάστε περισσότεραΛειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα
Λειτουργικά Συστήματα Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Λειτουργικά Συστήματα», 2015-2016 Κεφάλαιο 4: Διεργασίες Πρόγραμμα Πρόγραμμα 1 Πρόγραμμα
Διαβάστε περισσότεραΠεριεχόμενα. Κεφάλαιο 1 Εισαγωγή σε Έννοιες των Δικτύων Υπολογιστών...11. Κεφάλαιο 2 Αξιοπιστία...25. Κεφάλαιο 3 Αλγόριθμοι Πολλαπλής Πρόσβασης...
Περιεχόμενα Εισαγωγή...7 Κεφάλαιο 1 Εισαγωγή σε Έννοιες των Δικτύων Υπολογιστών...11 Κεφάλαιο 2 Αξιοπιστία...25 Κεφάλαιο 3 Αλγόριθμοι Πολλαπλής Πρόσβασης...65 Κεφάλαιο 4 Μεταγωγή Δεδομένων και Δρομολόγηση...
Διαβάστε περισσότεραConsensus and related problems
Consensus and related s Τι θα δούµε ΟΜΑ Α: Ιωάννα Ζέλιου Α.Μ.: 55 Μελισσόβας Σπύρος Α.Μ.: 21 Παπαδόπουλος Φίλιππος Α.Μ.: 60 Consensus Byzantine generals Interactive consistency Agreement Problems Imposibility
Διαβάστε περισσότεραίκτυα - Internet Μάθηµα 3ο Ενότητα Β: Το Πρότυπο ΤCP/IP Eισαγωγή - Επικοινωνία µεταξύ δύο Υπολογιστών Παρασκευή 10 NOE 2006 ιευθύνσεις
Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας-Βιβλιοθηκονοµίας, Κέρκυρα Παρασκευή 10 NOE 2006 ίκτυα - Internet Μάθηµα 3ο Ενότητα Β: Το Πρότυπο ΤCP/IP Eισαγωγή - Επικοινωνία µεταξύ δύο Υπολογιστών Α Ίδιο τοπικό
Διαβάστε περισσότεραΚατανεμημένα Συστήματα Ι
Εκλογή αρχηγού σε γενικά δίκτυα 20 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Εκλογή αρχηγού σε γενικά δίκτυα Προηγούμενη διάλεξη Σύγχρονα Κατανεμημένα Συστήματα Μοντελοποίηση συστήματος Πρόβλημα εκλογής αρχηγού
Διαβάστε περισσότεραΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη
ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2012-2013 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη Project 2012-2013 Υλοποίηση ενός chat server-client Παράδοση: 7/2/2013
Διαβάστε περισσότεραΑνοχή απέναντι σε Σφάλµατα Fault Tolerance
Ανοχή απέναντι σε Σφάλµατα Fault Tolerance Μαρία Ι. Ανδρέου ΗΜΥ417, ΗΜΥ 663 Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο 2006-2007 Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο Κύπρου Βασικές
Διαβάστε περισσότεραΚατανεμημένα Συστήματα Ι
Κατανεμημένα Συστήματα Ι Μοντέλο σύγχρονου κατανεμημένου δικτύου Εκλογή αρχηγού σε σύγχρονο δακτύλιο Παναγιώτα Παναγοπούλου Περίληψη Σύγχρονα Κατανεμημένα Συστήματα Μοντέλο Σφάλματα Πολυπλοκότητα Εκλογή
Διαβάστε περισσότεραΠερίληψη Φροντιστηρίου. Κατανεμημένα Συστήματα Ι. Το περιβάλλον DAP - Χαρακτηριστικά. Το περιβάλλον DAP Τι είναι.
Κατανεμημένα Συστήματα Ι 1 Περίληψη Φροντιστηρίου 2 Το Περιβάλλον DAP Φροντιστήριο Ένα παράδειγμα υλοποίησης στο DAP Δευτέρα 14 Νοεμβρίου 2005 Γιάννης Κρομμύδας Το περιβάλλον DAP Τι είναι Το περιβάλλον
Διαβάστε περισσότεραΣυνεπής παρατήρηση εκτέλεσης & συνεπείς καθολικές καταστάσεις. Κατανεμημένα Συστήματα 1
Συνεπής παρατήρηση εκτέλεσης & συνεπείς καθολικές καταστάσεις Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Λογικά συνεπείς τομές Τμήμα τοπικής ιστορίας: h i.k {e i.1,e i.2,e i.k } τμήμα της τοπικής εκτέλεσης
Διαβάστε περισσότερα2 η Σειρά Ασκήσεων Data Link Layer
HY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2017-2018 Διδάσκουσα: Μαρία Παπαδοπούλη Τμήμα Επιστήμης Υπολογιστών, Πανεπιστημίου Κρήτης 2 η Σειρά Ασκήσεων Data Link Layer Άσκηση 1 Αναφέρεται τα 4 επιθυμητά
Διαβάστε περισσότεραΕπικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1
Επικοινωνία με μηνύματα Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Επικοινωνία με ανταλλαγή μηνυμάτων Η επικοινωνία με μηνύματα είναι ο πιο ευέλικτος τρόπος αλληλεπίδρασης σε κατανεμημένα συστήματα πιο
Διαβάστε περισσότεραΔιάλεξη 8: Πρόβλημα Αμοιβαίου Αποκλεισμού. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι
Διάλεξη 8: Πρόβλημα Αμοιβαίου Αποκλεισμού ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Τι θα δούμε σήμερα Μοντέλο Κοινόχρηστης Μνήμης Αλγόριθμοι Αμοιβαίου Αποκλεισμού με Ισχυρούς Καταχωρητές ΕΠΛ432: Κατανεµηµένοι
Διαβάστε περισσότερα6.2 Υπηρεσίες Διαδικτύου
6.2 Υπηρεσίες Διαδικτύου 1 / 34 Όλες οι υπηρεσίες στο Διαδίκτυο, όπως και πολλές εφαρμογές λογισμικού, στηρίζονται στο μοντέλο Πελάτη Εξυπηρετητή. 2 / 34 Σύμφωνα με αυτό το μοντέλο ο Εξυπηρετητής οργανώνει,
Διαβάστε περισσότεραΔίκτυα Επικοινωνιών ΙΙ: Transmission Control Protocol
Δίκτυα Επικοινωνιών ΙΙ: Transmission Control Protocol Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 1 Μηχανισμοί πρωτοκόλλων προσανατολισμένων σε σύνδεση Λογική σύνδεση
Διαβάστε περισσότεραΠερίληψη. Ethernet Δίκτυα Δακτυλίου, (Token Ring) Άλλα Δίκτυα Σύνδεση Τοπικών Δικτύων.
Τοπικά Δίκτυα Περίληψη Ethernet Δίκτυα Δακτυλίου, (Token Ring) Άλλα Δίκτυα Σύνδεση Τοπικών Δικτύων. Αναµεταδότες, Γέφυρες, Μεταγωγείς, δροµολογητές και Πύλες (repeaters, hubs, bridges, switches, routers,
Διαβάστε περισσότεραΔιάλεξη 4: Εκλογή Προέδρου σε Δακτύλιους. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι
Διάλεξη 4: Εκλογή Προέδρου σε Δακτύλιους ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Τι θα δούμε σήμερα Δακτύλιοι Το πρόβλημα της Εκλογής Προέδρου Εκλογή Προέδρου σε Ανώνυμους Δακτύλιους Ασύγχρονος Αλγόριθμος με
Διαβάστε περισσότεραNetwork Address Translation (NAT)
HY335Α Δίκτυα Υπολογιστών Xειμερινό Εξάμηνο 2016-2017 Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Network Address Translation (NAT) Network Layer Private IP Addresses Πρόβλημα: o χώρος των ΙΡ διευθύνσεων
Διαβάστε περισσότεραΑμοιβαίος αποκλεισμός με κοινή μνήμη. Ταυτόχρονος Προγραμματισμός 1
Αμοιβαίος αποκλεισμός με κοινή μνήμη 1 lalis@inf.uth.gr Το πρόβλημα Έστω ότι δύο η περισσότερα νήματα επιθυμούν να προσπελάσουν έναν κοινό πόρο, που όμως δεν μπορεί να χρησιμοποιηθεί ταυτόχρονα Η χρήση
Διαβάστε περισσότεραΚατανεμημένα Συστήματα: Θεωρία και Προγραμματισμός. Ενότητα # 3: Καθολικά κατηγορήματα Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής
Κατανεμημένα Συστήματα: Θεωρία και Προγραμματισμός Ενότητα # 3: Καθολικά κατηγορήματα Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια
Διαβάστε περισσότεραΜάθημα 4 ο. Κρίσιμα Τμήματα και Αμοιβαίος Αποκλεισμός
Μάθημα 4 ο Κρίσιμα Τμήματα και Αμοιβαίος Αποκλεισμός Εισαγωγή Σκοπός του μαθήματος αυτού είναι να εξηγήσει την έννοια του κρίσιμου τμήματος σε μία διεργασία και να δείξει τη λύση για ένα απλό πρόβλημα
Διαβάστε περισσότεραΚατανεμημένη συμφωνία (distributed consensus) Κατανεμημένα Συστήματα 1
Κατανεμημένη συμφωνία (distributed consensus) Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Το πρόβλημα της συμφωνίας Σε ένα κατανεμημένο σύστημα, οι διεργασίες μπορεί ανά πάσα στιγμή να έχουν διαφορετική
Διαβάστε περισσότεραHY-486 Αρχές Κατανεμημένου Υπολογισμού
HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο 2016-2017 Πρώτη Προγραμματιστική Εργασία Προθεσμία παράδοσης: Τρίτη 2/5 στις 23:59. 1. Γενική Περιγραφή Στην πρώτη προγραμματιστική εργασία καλείστε
Διαβάστε περισσότεραΔιάλεξη 18: Πρόβλημα Βυζαντινών Στρατηγών. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι
Διάλεξη 8: Πρόβλημα Βυζαντινών Στρατηγών ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Ορισμός Προβλήματος Τι θα δούμε σήμερα Συνθήκες Συμφωνίας κάτω από Βυζαντινό Στρατηγό Πιθανοτικοί αλγόριθμοι επίλυσης Βυζαντινής
Διαβάστε περισσότεραΛειτουργικά Συστήματα. Ενότητα # 6: Αδιέξοδα Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής
Λειτουργικά Συστήματα Ενότητα # 6: Αδιέξοδα Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα.
Διαβάστε περισσότεραΠαιχνίδι TCP-IP (περιγραφή πρωτοκόλλων)
Παιχνίδι TCP-IP (περιγραφή πρωτοκόλλων) Επιμέλεια : Χ. Πατρικάκης (βασισμένο στην ιδέα του Norman Pendegraft. 2003: The TCP/IP game, Current issues in IT education, Tanya McGill (Ed.). IGI Publishing,
Διαβάστε περισσότεραΔίκτυα Θεωρία
Δίκτυα Θεωρία 2016-17 Κεφάλαιο 4 1. Γιατί η μεταφορά των δεδομένων δεν καλύπτεται επαρκώς από το Επίπεδο Δικτύου; Επειδή το επίπεδο δικτύου από τη φύση του είναι αναξιόπιστο, τα πακέτα φθάνουν καθυστερημένα,
Διαβάστε περισσότεραΛουκάς Ελευθέριος
Λουκάς Ελευθέριος eloukas05@aueb.gr Σκοπός Δ. Εργασίας Πορεία προς τη Λύση Multi Service Link Layer (MSLL) MSLL Πρωτόκολλα Πλήρους Ανάκαμψης MSLL Πρωτόκολλα Περιορισμένης Ανάκαμψης Σενάρια Προσομοίωσης
Διαβάστε περισσότεραΔιεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1
Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Πρόγραμμα και εκτέλεση προγράμματος Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα
Διαβάστε περισσότεραΆσκηση 2. Αν συμβούν 2 duplicate ACKs αντί για timeout τι γίνεται σε αυτή την περίπτωσή;
ΤCP protocol Άσκηση 1 Είναι το ίδιο να αυξάνεται το congestion window κατά μία μονάδα μετά τη λήψη από κάθε ΑCK πακέτου με το να αυξάνεται σε κάθε RTT; Αν δεν είναι το ίδιο σε ποια περίπτωση επιτυγχάνεται
Διαβάστε περισσότεραΘοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο
Θοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο Για το μάθημα «Διαχείριση Λειτουργικών Συστημάτων» του ακαδημαϊκού έτους 2015 2016, το προτεινόμενο σύγγραμμα είναι το: Operating Systems: Internals
Διαβάστε περισσότερα3.3 Πρωτόκολλα ανεύρεσης και απόδοσης διευθύνσεων, Address Resolution Protocol (ARP) και Dynamic Host Configuration Protocol (DHCP)
3.3 Πρωτόκολλα ανεύρεσης και απόδοσης διευθύνσεων, Address Resolution Protocol (ARP) και Dynamic Host Configuration Protocol (DHCP) 1 / 32 Σε έναν κόμβο ο οποίος επιθυμεί να αποστείλει δεδομένα σε κάποιον
Διαβάστε περισσότεραΚεφάλαιο 3. Διδακτικοί Στόχοι
Κεφάλαιο 3 Σε ένα υπολογιστικό σύστημα η Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) εκτελεί τις εντολές που βρίσκονται στην κύρια μνήμη του. Οι εντολές αυτές ανήκουν σε προγράμματα τα οποία, όταν εκτελούνται,
Διαβάστε περισσότεραΔιάλεξη 14: Ατομική ΚΚΜ Εγγραφής/Ανάγνωσης στην Παρουσία Σφαλμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι
Διάλεξη 14: Ατομική ΚΚΜ Εγγραφής/Ανάγνωσης στην Παρουσία Σφαλμάτων ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Σφάλματα Κατάρρευσης Τι θα δούμε σήμερα Αλγόριθμος SWMR (ΜΕΠΑ) Ατομικής ΚΚΜ στην παρουσία σφαλμάτων
Διαβάστε περισσότεραΕπικοινωνία Client/Server
Επικοινωνία Client/Server Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης Επικοινωνία - Client/Server 1 Μοντέλο Πελάτη-Εξυπηρετητή Βασική ιδέα: να δομηθεί το λειτουργικό σύστημα ως συνεργαζόμενες
Διαβάστε περισσότεραΔοσοληψίες. Κατανεμημένα Συστήματα
Δοσοληψίες Κατανεμημένα Συστήματα 2016-2017 http://www.cslab.ece.ntua.gr/courses/distrib Στο προηγούμενο μάθημα Group communication Multicast για FIFO διάταξη Multicast για ολική διάταξη Sequencer ISIS
Διαβάστε περισσότεραΔίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας
Δίκτυα Υπολογιστών Firewalls Χάρης Μανιφάβας 1 Επικοινωνία Βασίζεται στη μεταβίβαση μηνυμάτων (λόγω απουσίας διαμοιραζόμενης μνήμης) Απαιτείται συμφωνία φόρμας μηνυμάτων Πρότυπο Στόχος τυποποίησης = Συνεργασία
Διαβάστε περισσότεραΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε:
ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε: Μια βάση δεδοµένων είναι σε συνεπή κατάσταση (consistent state) εάν όλοι οι περιορισµοί ακεραιότητας που έχουν δηλωθεί για αυτήν πληρούνται. Οι αλλαγές στην κατάσταση
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 664: Ανάλυση και Επαλήθευση Συστημάτων ΕΝΔΙΑΜΕΣΗ ΕΞΕΤΑΣΗ ΗΜΕΡΟΜΗΝΙΑ : Πέμπτη, 21 Μαρτίου 2013 ΔΙΑΡΚΕΙΑ : 14:00 16:00 ΔΙΔΑΣΚΟΥΣΑ : Άννα Φιλίππου Ονοματεπώνυμο:
Διαβάστε περισσότεραHow do loss and delay occur?
How do loss and delay occur? packets queue in router buffers packet arrival rate to link (temporarily) exceeds output link capacity packets queue, wait for turn packet being transmitted (delay) A B packets
Διαβάστε περισσότεραΡολόγια και Συγχρονισμός
Ρολόγια και Συγχρονισμός Κατανεμημένα Συστήματα 2016-2017 http://www.cslab.ece.ntua.gr/courses/distrib Συνοπτικά Πρέπει να ξέρουμε πότε έγινε τι Ιδανικά ακριβώς πότε έγινε τι Ή τουλάχιστον να διατάξουμε
Διαβάστε περισσότεραΔιάρθρωση. Δίκτυα Υπολογιστών I Δίκτυα Μεταγωγής και Διαδίκτυα: Μέρος Γ. Διάρθρωση. Σκοπός της Δρομολόγησης. Ευάγγελος Παπαπέτρου
Δίκτυα Υπολογιστών I Δίκτυα Μεταγωγής και Διαδίκτυα: Μέρος Γ Ευάγγελος Παπαπέτρου Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων 2 3 Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) MYY703: Δίκτυα Υπολογιστών I
Διαβάστε περισσότεραΑνοχή βλαβών με καταγραφή κατάστασης και οπισθοδρόμηση (checkpoints & rollback) Κατανεμημένα Συστήματα 1
Ανοχή βλαβών με καταγραφή κατάστασης και οπισθοδρόμηση (checkpoints & rollback) Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Μοντέλο συστήματος Ένα κατανεμημένο σύστημα με Ν διεργασίες που επικοινωνούν μεταξύ
Διαβάστε περισσότεραΣειρά Προβλημάτων 1 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 1 Λύσεις (α) Χρησιμοποιούμε τις επιπλέον μεταβλητές PC i, (program counters) οι οποίες παίρνουν ως τιμές ονόματα των γραμμών του κώδικα όπως φαίνεται πιο κάτω. Process P i :
Διαβάστε περισσότεραΔιεργασίες (Processes)
Διεργασία (process) ή καθήκον (task) Διεργασίες (Processes) στοιχειώδης οντότητα/δραστηριότητα υπολογισμού (processing entity/activity) εκτέλεση ενός προγράμματος ένα (κύριο) νήμα (thread)/ρεύμα ελέγχου/εκτέλεσης
Διαβάστε περισσότεραΚατανεμημένα Συστήματα Ι
Σύγχρονα Κατανεμημένα Συστήματα 13 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Περίληψη 1 Σύγχρονα Κατανεμημένα Συστήματα 2 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS 1 Σύγχρονα Κατανεμημένα
Διαβάστε περισσότεραΕπικοινωνία αίτησης-απάντησης. Κατανεμημένα Συστήματα 1
Επικοινωνία αίτησης-απάντησης Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Σχήμα επικοινωνίας -reply Μια διεργασία στέλνει μια αίτηση () σε μια άλλη διεργασία, η οποία επεξεργάζεται την αίτηση και στέλνει
Διαβάστε περισσότερα