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

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

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

Transcript

1 Προηγούµενο Μάθηµα Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Αντρέας Παυλογιάννης ευτέρα, 23 Νοεµβρίου, 2009 Αίθουσα Β3 Ασύγχρονα Κατανεµηµένα Συστήµατα Καθολικές Καταστάσεις Κατασκευή Καθολικών Καταστάσεων Παθητική Παρατήρηση µε Φυσικά Ρολόγια Παθητική Παρατήρηση µε Λογικά Ρολόγια Συνεπή Ολικά Στιγµιότυπα Συνεπή Ολικά Στιγµιότυπα µε Φυσικά Ρολόγια Συνεπή Ολικά Στιγµιότυπα µε Λογικά Ρολόγια Ο Αλγόριθµος των Chandy και Lamport Ασύγχρονα Κατανεµηµένα Συστήµατα Κατανεµηµένος Αλγόριθµος: υνατότητες Συστήµατα Ανεξάρτητων ιασυνδεδεµένων Οντοτήτων Η διασυνδεση επιτρέπει συνεργασία Η συνεργασια επιτρέπει παραγωγή επιθυµητών αποτελεσµάτων (πχ Spanning Trees, DB transactions) Πρόβληµα Να περιγραφεί κατάλληλα ο τροπος συνεργασιας των οντοτήτων για συστηµατική παραγωγή των επιθυµητών αποτελεσµάτων Περιγράφει τη συνεργασία των οντοτήτων Η περιγραφή οριζει τις ενέργειες που ϑα κάνει η κάθε οντοτητα... και τον τροπο που ϑα επικοινωνούν µεταξύ τους Είναι ίδια για κάθε οντοτητα Αποτελεί συστηµατική λύση του εκάστοτε προβλήµατος αντιµετωπίζει επιτυχώς κάθε στιγµιότυπο αυτού Αξιολόγείται µε ϐάση τον αριθµο των ενεργειών που ϑα εκτελέσει η κάθε οντότητα και των αριθµό των µηνυµάτων που ϑα σταλούν στο δίκτυο

2 Κατανεµηµένος Αλγόριθµος: Αδυναµίες Μοντέλο ιεργασιών Time Free Systems: εν επιτρέπεται καµία a priori υπόθεση ούτε για τις ταχύτητες µε τις οποίες εκτελούνται οι ενέργειες σε κάθε οντότητα ούτε για τις ταχύτητες ανταλλαγής µηνυµάτων Κάθε οντότητα καλείται να εκτελέσει την κατάλληλη ενέργεια γνωρίζοντας εν γένει µέρος µόνο της συνολικής κατάστασης του συστηµατος και της προόδου που έχει γινει ως τώρα Real Life: Πλήθος αστάθµητων παραγόντων επηρρεάζουν το σύστηµα: Μηνύµατα χάνονται, οντότητες σταµατούν να λειτουργούν-ξαναξεκινούν, οντότητες λειτουργούν αυθαίρετα (ή και κακόβουλα), χάνουν την κατάστασή τους... Καθώς οι παράγοντες είναι αστάθµητοι επιβάλλουν ένα µη ντετερµινισµό στο σύστηµα ο οποίος πρέπει να παρακαµφθεί ώστε να οδηγηθούµε σε ντετερµινιστικά αποτελέσµατα init(p, vp) out(p, v p) P C send(m, p, q) receive(m, p, q) Q init(q, vq) out(q, v q) I/O automata Χαρακτηρίζονται από ένα state Ειδικές περιπτώσεις: initial, halt states... και από µια state transition function: states (messagein, process) states (messageout, process) Ενδεχοµένως να εκτελούν και εσωτερικά tasks states {(messagein, process) } states {(messageout, process) } Εισάγεται η έννοια του fareness Μοντέλο Καναλιών Σύνοψη 8 ης ιάλεξης init(p, vp) out(p, v p) P C receive(m, p, q) send(m, p, q) Q init(q, vq) out(q, v q) I/O automata Χαρακτηρίζονται από ένα state Πρόκειται για µια ουρά µε τα µηνύµατα που πρέπει να παραδώσουν Ακολουθείται FIFO προτεραιότητα Εκτελούν ενέργειες receive(m, p, q) και send(m, p, q) Προηγούµενο Μάθηµα Προηγούµενο Μάθηµα Ασύγχρονα Κατανεµηµένα Συστήµατα Μοντελοποίηση Ασύγχρονων Συστηµάτων Ασύγχρονα Κατανεµηµένα Συστήµατα Σφάλµατα σε Ασύγχρονα Συστήµατα Αδυναµία Εύρεσης Λύσης Ανιχνευτές Σφαλµάτων Σύνοψη Μαθήµατος Σύνοψη Μαθήµατος Βιβλιογραφία Επόµενο Μάθηµα

3 Πρόβληµα: To stop or not to stop waiting Πρόβληµα: To stop or not to stop waiting Σε ένα ϱεαλιστικό ασύγχρονο σύστηµα εµφανίζονται γεγονότα µε πολύ κοινά χαρακτηριστικά που οµως πρέπει να αντιµετωπιστούν διαφορετικά Μηνύµατα που στέλνει µια διεργασια χάνονται πρωτού παραληφθούν Μια διεργασία εκτελει ϐήµατα µε πολύ αργο ϱυθµό Μια διεργασια έχει καταρρεύσει Κοινό χαρακτηριστικό Η παρουσία της διεργασίας δε γίνεται αισθητή από το υπόλοιπο δικτυο Το κοινό χαρακτηριστικό δυσκολεύει το διαχωρισµό των γεγονότων Ωστόσο ο διαχωρισµός είναι αναγκαιος στις περισσότερες περιπτώσεις Καθώς µια διεργασια δεν ανταποκρίνεται προκύπτει το διληµµα αν αξίζει το υπόλοιπο δίκτυο να την περιµένει Το πρόβληµα έχει τις ϐάσεις του στο συνδιασµό time free και fault vulnerable συστήµατος Μήπως κάνουµε λάθος που µπλέκουµε αυτα τα δύο; Το time free µοντέλο παρέχει ένα αναγκαίο abstraction για τη µοντελοποίηση των περισσοτερων πραγµατικών συστηµάτων Σφάλµατα συµβαίνουν χωρίς να µπορούν να προβλεφθούν ή να αποφευχθούν, σε διάφορα επίπεδα(hardware failures, software bugs..) Στην περίπτωσή µας λοιπόν και στραβός ειναι ο γυαλός (time free συστήµατα) και στραβά αρµενίζουµε (fault vulnerabilities)! Αφού δεν µπορούµε να αποφύγουµε το πρόβληµα, ας προσπαθήσουµε να το λύσουµε! Προσεγγίσεις Το νέο µοντελο Πόσο µας δυσκολεύει αυτή η κατάσταση; Οι Fischer, Lynch, Paterson έδειξαν ότι το πρόβληµα του Consensus είναι άλυτο για οποιοδήποτε δίκτυο άκοµα και υπό την παρουσία ενός µόνο process failure Λύσεις : Randomization Weaker Problems Strongest Model (Partial Synchrony..) Failure Detectors Το µοντελο της διεργασίας περιλαµβανει ένα επιπλέον component, τον failure detector Ουσιαστικά αποτελεί ένα oracle που κάνει εκτιµήσεις για το ποιες διεργασίες έχουν πέσει Γνωστοποιεί τις εκτιµήσεις του µέσα από κάποιες µεταβλητές (πχ ένα σύνολο stopped processes) Η ακρίβειά του χαρακτηρίζεται από δύο µετρικές Accuracy: Η δυνατότητα να δίνει έγκυρες εκτιµήσεις Completeness: Η δυνατότητα να δίνει πλήρεις εκτιµήσεις

4 Γιατί Failure Detectors Πρακτικά Οι σχετικά ασθενείς Failure Detectors µπορούν να υλοποιηθούν µέσα από κατάλληλα πρωτόκολλα(realistic failure detectors). πχ στατικά και δυναµικά timeouts αποτελούν υλοποίηση συγκεκριµένων κλάσεων failure detectors Θεωρητικά Εύρεση της ασθενέστερης κλάσης που είναι αναγκαια και ικανή για τη λύση ενός προβλήµατος αποκαλύπτει κάτι για το ίδιο το πρόβληµα και ϕαίνεται να χαρακτηριζει τη ϕυση του Απόδειξη ότι µια πολύ ισχυρή και πρακτικά µη υλοποιήσιµη κλάση είναι η ασθενέστερη που χρειάζεται για να λυθεί το πρόβληµα αποτελεί ένα ειδος impossibility result Προβλήµατα ιεραρχούνται µε ϐάση την ασθενέστερη κλάση που είναι αναγκαία και ικανή για τη λύση τους Consensus: Ορισµός του προβλήµατος Consensus Κάθε διεργασία v έχει µια αρχική τιµή initv {0, 1}. Στόχος είναι όλες οι διεργασιες να αποφασίσουν µια κοινή τιµή πχ σε DB transactions 1=αποδοχή, 0=απόρριψη Ο αλγόριθµος µπορει να ειδωθει ως ένα σύστηµα εξαγωγής συµπερασµάτων µε αρχικές τιµές στο ϱόλο των premises και κοινή τιµή= αποδοχή το συµπέρασµα-στόχος Οπως σε κάθε τέτοιο σύστηµα, ϑέλουµε να χαρακτηρίζεται από Soundness: Κοινή τιµή = αποδοχή µόνο αν v initv = 1(δεν αποφασιζουµε λάθος) Completeness: Αν v initv = 1 τότε αναγκαστικά κοινή τιµή = αποδοχή (αποφασιζουµε σε κάθε ευκαιρεία) Consensus: Ορισµός του προβλήµατος Χρησιµοποιείται η έννοια του configuration Χαλαρώνοντας τους περιορισµούς στον τρόπο που παιρνεται η απόφαση για την κοινή τιµή: Consensus Κάθε διεργασία v έχει µια αρχική τιµή initv {0, 1}. Στόχος είναι όλες οι διεργασιες να αποφασίσουν µια κοινή τιµή ικανοποιώντας τα εξής κριτήρια: Η απόφαση για την κοινή τιµή είναι ίδια για ολες τις διεργασιες Για οποιαδήποτε τιµή v {0, 1}, υπάρχει µια αρχική κατάσταση που οδηγεί σε κοινή τιµή v Proof Idea 1. Εστω αλγόριθµος P που λύνει το πρόβληµα 2. Υπάρχει αρχικό configuration που µπορεί να οδηγήσει σε οποιαδηποτε decision value (δεν είναι προφανές) 3. εδοµένου ενός configuration C, κάποια στιγµή ϑα πραγµατοποιηθεί παράδωση ενός µηνύµατος m1 στη διεργασια p που ϑα κλειδώσει την decision value 4. Κάθε τέτοιο µήνυµα το καθυστερούµε και παραδίδουµε ένα σύνολο άλλων τα οποία δεν κλειδώνουν την decision value 5. Αργότερα παραδιδεται το m1 το οποίο αδυνατεί να κλειδώσει την decision value πλέον. Γιατι;

5 Proof Idea Αν δε το παραδίδαµε καθόλου (faulty process) ο αλγόριθµος κάποτε ϑα τερµάτιζε µέσα από µια ακολουθία ϐηµάτων S στην οποία η p δε συµµετέχει Αφού το C µπορει να οδηγήσει σε οποιοδηποτε decision value, ο τερµατισµός µπορεί να αποφασίσει είτε dec_value=0 είτε 1 Οµως αν αργούσαµε να το παραδώσουµε πολύ, ο αλγόριθµος πάλι ϑα τερµάτιζε. Παράδωση του m1 σε αυτό το σηµείο δεν πρέπει να µπορεί να κλειδώσει την decision value γιατί έχει ήδη αποφασιστεί και µπορει να είναι οποιαδηποτε. Η p δε συµµετέχει στο S. Συνεπώς πρώτα S και µετα παράδωση του p οδηγει στο ίδιο configuration µε παράδωση m και µετά S. Αρα και µε το δεύτερο σενάριο η p µένει στο παιχνίδι και το decision value δεν κλειδώνει. Ορισµοί Definition Ενα στιγµιότυπο του συστηµατος είναι µια ακολουθία που περιέχει τις καταστασεις κάθε διεργασίας Definition ύο στιγµιότυπα ονοµάζονται γειτονικά αν διαφέρουν ως προς την κατασταση µιας µόνο διεργασίας Definition Γεγονός e = (p, m) ονοµάζεται η παράδωση του µηνύµατος m στη διεργασια p, και ευθύνεται για τη µετάβαση µεταξύ δύο στιγµιοτύπων Ορισµοί Definition Ενα στιγµιότυπο C ονοµάζεται προσπελάσιµο από ένα άλλο C αν υπάρχει µια ακολουθία γεγονότων S που να οδηγει απ το C στο C Definition Ενα στιγµιότυπο C ονοµάζεται αµφισηµαντο αν στο σύνολο όλων των τερµατικών στιγµιοτύπων που ειναι προσπελάσιµα από το C υπάρχουν στιγµιότυπα µε dec_value=0 και στιγµιότυπα µε dec_value=1. ιαφορετικά το C ονοµάζεται µονοσήµαντο και i-σήµαντο ανάλογα µε την περιπτωση του dec_value Λήµµα Εστω στιγµιότυπο C και ακολουθίες γεγονότων S1, S2 που οδηγούν στα στιγµιότυπα C1, C2 αντίστοιχα. Αν τα σύνολα των διεργασιών που συµµετέχουν στην S1 και την S2 είναι ξένα µεταξύ τους, τότε η S2 µπορει να εφαρµοστει στο C1 και η S1 στο C2, ώστε και οι δυο εφαρµογές να οδηγήσουν σε ένα κοινό στιγµιότυπο C3

6 S1 C S2 Λήµµα Κάθε αλγόριθµος A που λύνει το πρόβληµα έχει τουλάχιστον ένα αµφισήµαντο αρχικό στιγµιότυπο Αντίθετα µε την περίπτωση που δε συµβαίνουν καθόλου σφάλµατα Εκεί κάθε αρχικό στιγµιότυπο οδηγει µοναδικά σε ένα τελικό C1 S2 C3 S1 C2 S2(S1(C)) = S1(S2(C)) Η απόφαση ϋπάρχει εξ αρχής. Θέµα του αλγορίθµου ειναι να συντονίσει όλες τις διεργασίες σε αυτή Εµφυτος µη ντετερµινισµός λόγω απρόβλεπτων σφαλµάτων Αν το τµήµα του δικτύου που ϑα επιβάλλει απόφαση 1 πέσει, ϑα αποφασισθει 0 Οµως δεν ξέρουµε αν ϑα πέσει Απόδειξη; Απόδειξη: Εστω ότι δεν έχει. Τότε: 1. Θα έχει και 0-σήµαντα και 1-σήµαντα αρχικά στιγµιότυπα αφού και οι δύο αποφάσεις είναι πιθανές 2. ιατάσσουµε όλα τα αρχικά στιγµιότυπα ώστε δύο διαδοχικά να είναι και γειτονικά 3. Θα υπάρχει 0-σήµαντο C0 γειτονικό µε 1-σήµαντο C1 µε p τη διεργασια που διαφωνούν 4. Εφαρµόζουµε την ίδια ακολουθία γεγονότων S και στα δύο Η p δε συµµετεχει στην S 5. Και στις δύο περιπτώσεις ϑα καταλήξουµε στην ίδια decision value 6. Αρα ένα εκ των C0, C1 είναι αµφισήµαντο. Ατοπο. Με το προηγούµενο λήµµα δείξαµε ότι υπάρχει αµφισηµαντο αρχικό στιγµιότυπο Με το επόµενο ϑα δειξουµε ότι από κάθε αµφισήµαντο στιγµιότυπο µπορούµε να οδηγηθούµε σε επίσης αµφισήµαντο στιγµιότυπο. Λήµµα Τι ϑα γινόταν αν καθυστερούσαµε το γεγονός που οδηγει σε µονοσήµαντο στιγµιότυπο; Εστω C αµφισήµαντο στιγµιότυπο του αλγορίθµου και e = (p, m) ένα γεγονός που µπορει να λάβει χώρα στο C. Εστω X το σύνολο των στιγµιοτύπων που ειναι προσπελάσιµα από το C χωρίς να λάβει χώρα το e, και Y = e(x) = {e(e) E X}. Τότε το Y περιέχει τουλάχιστον ένα αµφισήµαντο στιγµιότυπο. Η απόφαση αναβάλλεται συνεχώς

7 C Απόδειξη: Εστω ότι το Y δεν περιέχει δισήµαντα στιγµιότυπα. Τότε περιέχει και 0-σήµαντα και 1-σήµαντα Το C ειναι αµφισήµαντο Οδηγεί και σε 0-σήµαντα και σε 1-σήµαντα Ακόµα και µε την παράδοση του e κάθε i-σήµαντο παραµένει i-σήµαντο X1 X2... Xk e e e Y1 Y2... Yk 0 1 Απόδειξη: Ετσι υπάρχουν C0, C1 στο X ώστε το Di = e(ci) να είναι i-σήµαντο. Παρατηρώντας προσεκτικότερα, υπάρχουν C0, C1 ώστε Ci = e (C i) µε e = (p, m ) ένα γεγονός Το ένα προκύπτει απ το άλλο µε την παράδωση ενός µηνύµατος Χωρίς ϐλάβη της γενικότητας C1 = e (C0) C e0 e1 C0 e1 = e e0 C1 C C0 1 C e C1 C 1 C k 0 Εξεταζουµε γεγονότα που συµβαίνουν στο C

8 I Απόδειξη: ιερεύνηση για την p p p: Τότε D1 = e (D0) λόγω της αντιµεταθετικότητας ξένων γεγονότων. Ατοπο καθώς από 0-σήµαντο στιγµιότυπο δεν ειναι δυνατον να οδηγηθούµε σε 1-σήµαντο D0 e e C0 D1 e e C1 Απόδειξη: ιερεύνηση για την p p = p: Τότε για ακολουθία γεγονότων S στην οποία η p δε συµµετέχει και οδηγει σε απόφαση A, η S µπορει να εφαρµοστεί και στο D0 και στο D1 Η S υπάρχει καθώς στην περίπτωση που η p πέσει το υπόλοιπο δικτυο έχουµε υποθέσει πως αποφασίζει Η S εφαρµοζόµενη στο Di οδηγεί σε i-σήµαντο στιγµιότυπο Ei (καθώς το Di είναι i-σήµαντο) Οµως λόγω αντιµεταθετικότητας: e(a) = E0 e (e(a)) = E1 Αρα το στιγµιτότυπο της απόφασης ειναι αµφισήµαντο. Ατοπο αφού έχει αποφασισει! Αλλάζει το state της p µόνο E0 S D0 e e S C0 A e C1 e e Προβληµα: Οι διεργασίες αλλάζουν την απόφασή τους e D1 S E1 Αλλάζει το state της p µόνο Σύµφωνα µε τα παραπάνω µπορούµε να κατασκευάσουµε µια εκτελεση του αλγορίθµου που δεν τερµατίζει Υπάρχει ένα αµφισήµαντο αρχικό στιγµιότυπο Κάθε γεγονός που ϑα οδηγήσει σε µονοσήµαντο στιγµιότυπο το καθυστερούµε αρκετά ώστε να χάσει αυτή την ιδιότητα Καθώς κινούµαστε σε δισήµαντα στιγµιότυπα, απόφαση δεν παίρνεται Ο αλγόριθµος δεν τερµατίζει

9 Ισχύς του result Γιατι όλη αυτή η διαδικασια; Ανυπαρξία λύσης εφαρµοσιµης σε κάθε δίκτυο αποδεικνύεται εύκολα είχνουµε impossibility για δικτυο 2 διεργασιών Το παραπάνω result είναι πιο ισχυρο! είχνει πως δεν υπάρχει λύση ακόµα και αν ψάχνουµε για τέτοια σε συγκεκριµένο δίκτυο Ακόµα κι αν πέσει µία µόνο διεργασια Αρκεί να µη γνωρίζουµε εκ των πρωταίρων ποια 1 λύση για 1 instance 1 λύση για κάθε instance Ορολογια Definition Ως εκτέλεση αποκαλούµε οποιαδηποτε άπειρη ακολουθία ϐηµάτων του συστηµατος Definition εδοµένης µιας εκτέλεσης σ, crashed(t, σ) είναι το σύνολο των διεργασιών που έχουν καταρρεύσει ως τη χρονική στιγµή t και up(t, σ) το συµπλήρωµά του. Γενικά, crashed(σ) = tcrashed(t, σ) και up(σ) το συµπλήρωµά του Result: Αδυνα- µία ύπαρξης τέτοιας λύσης Γενικά ψάχνουµε για τέτοιες λύσεις Failure Detector Module Failure Detector Ενα συστατικό που ϐρίσκεται τοπικά σε κάθε διεργασια p Dp: µια συνάρτηση από (χρονος σύνολο όλων των εκτελέσεων) δυναµοσυνολο των διεργασιών Dp(t, σ) : το συνολο των διεργασιών που υποπτευεται η διεργασία p πως έχουν πέσει τη χρονική στιγµή t στην εκτέλεση σ ιαφορετικές εκτιµήσεις για κάθε διεργασια. ιεργασιες που ϑεωρούνται νεκρές µπορει αργοτερα να διαπιστωθει ότι δεν είναι Αν p crashed(t, σ) τοτε ϑεωρούµε Dp(t, σ) = Οι failure detectors κατηγοριοποιούνται µε ϐαση την ακρίβεια (accuracy) και την πληρότητα (completeness) των εκτιµήσεων που κάνουν. Accuracy - Completeness Completeness Strong Completeness: Τελικά, κάθε διεργασια που πέφτει γινεται αντιληπτή από κάθε διεργασια που δεν πέφτει σ, p crashed(σ), q up(σ), t, t t : p Dq(t, σ) Weak Completeness: Τελικά, κάθε διεργασια που πέφτει γινεται αντιληπτή από κάποια διεργασια που δεν πέφτει σ, p crashed(σ), q up(σ), t, t t : p Dq(t, σ) Τελικά, καθώς πρώτα πέφτει η διεργασία, και µετά το αντιλαµβανεται το δίκτυο πχ περνάει κάποια ώρα µέχρι να γινει το timeout Weak Completeness καθώς ενδεχοµένως µερικές µόνο διεργασιες να κάνουν monitor το δίκτυο

10 Accuracy - Completeness Accuracy Strong Accuracy: Καµία διεργασια που δεν έχει πέσει δε ϑα υποπτευθεί από καµία άλλη σ, p up(σ), q, t : p Dq(t, σ) Weak Accuracy: Κάποια διεργασία που δεν έχει πέσει δε ϑα υποπτευθεί ποτέ από καµία άλλη σ, p up(σ), q, t : p Dq(t, σ) Σε κάθε περίπτωση ϑεωρείται πως υπάρχει τουλάχιστον µια διεργασια που αν δεν πέσει δε ϑα την υποπτευθεί καµιά άλλη Μη ϱεαλιστικό Μια αργά εκτελούµενη διεργασια αργεί να δώσει σηµεία Ϲωής στο υπόλοιπο δίκτυο Πρόωρα timeouts συµβαίνουν στην πραγµατικότητα Accuracy - Completeness Eventual Accuracy Eventual Strong Accuracy: Τελικά, καµία διεργασια που δεν έχει πέσει δε ϑα υποπτευθεί από καµία άλλη σ, t, p up(σ), q, t t : p Dq(t, σ) Eventual Weak Accuracy: Τελικά, κάποια διεργασία που δεν έχει πέσει δε ϑα υποπτευθεί ποτέ από καµία άλλη σ, t, p up(σ), q, t t : p Dq(t, σ) Ρεαλιστικότερα χαρακτηριστικά: πχ υλοποίηση µε δυναµικά timeouts Οταν λαµβανεται µήνυµα από διεργασια που ϑεωρείται πεσµένη, αναθεωρείται η εκτίµηση και αυξάνεται ο timer που σχετίζεται µε αυτή Τελικά ο timer ϑα πάρει τέτοια τιµή που ϑα συµβαδιζει µε τον αργο ϱυθµό εκτελεσης της διεργασιας Κλάσεις failure detectors Completeness Εµφανώς P S W Completeness Accuracy Strong Weak Strong Perfect (P) Strong (S) Weak (Q) Weak (W) Eventual Accuracy Eventual Strong Eventual Weak Strong Eventually Perfect ( P) Eventually Strong ( S) Weak ( Q) Eventually Weak ( W) Εµφανώς P S W Εµφανώς P P, S S, W W Reducibility Μεταξύ κλάσεων failure detectors ορίζεται η πράξη της αναγωγής Λέµε ότι ο D ανάγεται στον D αν υπάρχει αλγόριθµος T D D ώστε: Κάνοντας χρήση του D Και του αλγορίθµου αναγωγής TD D Εξωµειώνουµε τη συµπεριφορά ενός failure detector µε τα χαρακτηριστικά του D Οποιοσδήποτε αλγοριθµος χρησιµοποιούσε τον D, µπορει πλέον να χρησιµοποιεί τον D A queries D Algorithm A D T D D

11 Reducibility - Αναλογίες Προβλήµατα: Λέµε ότι το D ανάγεται στο D D Reduction Algorithm Μπορώ να λύσω το D λύνοντας το D D: Τουλάχιστον τοσο δυσκολο όσο το D Η αναγωγή ϕανερώνει κάτι για ένα αρνητικό χαρακτηριστικό του προβλήµατος Πόσο δύσκολο ειναι D Failure Detectors: Λέµε ότι ο D ανάγεται στον D D Reduction Algorithm Μπορώ να έχω τον D έχοντας τον D Σε κάθε περίπτωση: D D D: Προσφέρει τουλάχιστον τόση πληροφορία όση το D Η αναγωγή ϕανερώνει κάτι για ένα ϑετικό χαρακτηριστικό του failure detector D Πόση πληροφορία παρέχει S W Παρατηρηση: Στην περίπτωση της (ισχυρής) πληρότητας δεν υπάρχει χρονικός περιορισµός Θέλουµε κάποια στιγµή στο µέλλον όλες οι διεργασίες που δεν έχουν πέσει να αντιληφθούν αυτές που έχουν πέσει εδοµένης της ασθενής πληρότητας (κλάση W) εύκολα οδηγούµαστε σε ισχυρή (κλάσης S) Οι εκτιµήσεις για τις διεργασίες που έχουν πέσει ανταλάσσονται µεταξύ των διεργασιών Αφού µια διεργασία αντιλαµβανεται όλες όσες έχουν πέσει, καταφέρνει τελικά να ενηµερώσει και τις υπόλοιπες Επιπλέον διατηρείται η ασθενής ακρίβεια S W Η διεργασια που δε ϑα προκαλέσει λάθος εκτίµηση ειναι κοινή Λύση του Consensus µε την κλάση W Αλγοριθµος µε S Αρκει να λυθεί µε την κλάση S Απαιτείται ένας τετριµένος περιορισµός στο συνολο των διεργασιών που ϑα πέσουν Να υπάρξει τουλάχιστον µια που δε ϑα πέσει (f < n) Ο αλγόριθµος λειτουργεί σε 3 ϕάσεις: 1. Οι διεργασιες ανταλάσσουν σύνολα τιµών σε n ασύγχρονους γύρος 2. Οι διεργασιες ενηµερώνονται για τις ανταλλαγες που έλαβαν χωρα στο προηγούµενο ϐηµα 3. Οι διεργασιες αποφασιζουν µε ϐάση ένα κοινό σύνολο που προκύπτει από την ενηµέρωση Οταν µια διεργασία υποπτευθεί ότι µια άλλη έχει πέσει σταµατά να περιµένει µήνυµά της και συνεχίζει στην εκτέλεση του αλγορίθµου 0. Αρχικοποίηση Vp,... Vp[p] ip; p Vp Vp: Το σύνολο των τιµών που έχει δει η p κατα την ανταλλαγή των µηνυµάτων p: Το σύνολο µε τις νέες τιµές που έχει δει σε κάποιο γύρο και πρέπει να αναµεταδώσει

12 Αλγοριθµος µε S Αλγοριθµος µε S 1. Φάση ανταλλαγής τιµών (FloodSet) for rp 1 to n p broadcasts (rp, p, p) wait until[ q : received (rp, q, q) or q Sp] msgsp(rp) {(rp, q, q) received(rp, q, q)} p,... for k 1 to n if Vp[k] = and (rp, q, q) msgsp(rp) with q[k] then Vp[k] q[k]; p[k] = q[k] Κάθε διεργασια λαµβανει τα Vq των q που ϑεωρει ότι δεν έχουν πέσει Υπάρχει τουλάχιστον µια διεργασια p ώστε οι τιµές του Vp τελειώνοντας τη ϕάση αυτή να περιέχονται σε κάθε Vq όταν η q τελειώνει τη ϕάση Η διεργασια που προβλέπεται από την ασθενή ακριβεια Αλγόριθµος µε S Αλγόριθµος µε S Στο τέλος της πρώτης ϕάσης, κάθε διεργασια έχει µια άποψη για το σύνολο των τιµών που γνωρίζει το δίκτυο Οι απόψεις αυτές είναι εν γένει διαφορετικές Οµως υπάρχει ένα υποσύνολο αυτών που το γνωριζουν όλοι Προβληµα: Ποιο είναι αυτο το υποσυνολο; Υπάρχει διεργασία p που έχει ως Vp το υποσύνολο αυτό ε γνωρίζουµε ποια Ωρα για τη Φάση 2! Η τοµή των συνόλων συµπίπτει µε το συνολο µιας τουλάχιστον διεργασίας 2. Φάση προσδιορισµού κοινού υποσυνόλου wait until [ q : received Vq or q Sp] lastmsgsp {Vq receveid Vq} for k 1 to n if ( Vq lstamsgsp with Vq[k] = ) then Vp[k] = Οι διεργασίες διαδίδουν ποιες τιµές δεν έχουν δει Και πάλι ενδέχεται να γινουν λάθος εκτιµήσεις Οµως υπάρχει µια διεργασια που δεν ϑα αγνοηθεί Το σύνολο αυτής ϑα καθορίσει τις τιµές που γνωρίζει το δίκτυο

13 Αλγοριθµος µε S Παράδειγµα εκτέλεσης αλγορίθµου Φάση Απόφασης Decide on first non - element of Vp Καθώς τα συνολα είναι κοινά για κάθε διεργασια, η απόφαση οδηγεί σε συµφωνία Η τιµή που αποφασιζεται είναι αρχική τιµή κάποιας διεργασίας Το πρόβληµα λύνεται Λύνεται; 1 r1 = 0 1,,, 0 r3 = 0,, 0, 1 3 Αρχικοποίηση r2 = 0 Οι διεργασιες αρχικοποιούν 1 τα σύνολα τους µε 2, 1,, Εισάγουν στην αντίστοιχη ϑέση την αρχική τιµή τους Υποθέτουµε ότι η διεργασια 4 δε ϑα εκτιµηθει εσφαλµένα ως πεσµένη r4 = 0 1 από καµία άλλη 4,,, 1 Weak Accuracy Παράδειγµα εκτέλεσης αλγορίθµου - 2 Παράδειγµα εκτέλεσης αλγορίθµου r1 = 0 1,,, 1 0 r3 = 0,, 0, 3 (,,, 1) (,,, 1) (,,, 1) r2 = 0 1 Φάση 1 2, 1,, Η διεργασία 4 εκπέµπει το συνολό της Καµία άλλη διεργασια δεν έχει ξεκινήσει Καµία διεργασια δεν υποπτεύεται καµία άλλη 4 r4 = 1 1,,, 1 1 r1 = 0 1,,, 1 0 r3 = 1,, 0, 1 3 (, 1,, ) (,, 0, ) (,, 0, ) (, 1,, ) (, 1,, ) (,, 0, ) Φάση 1 2, 1,, 1 4 r4 = 1 1,,, 1 Οι διεργασίες 2 και 3 εκπέµπουν τα σύνολά τους Οι διεργασιες 2 και 3 λαµβάνουν το σύνολο που έχει εκπέµψει η 4 Η διεργασια 1 καθυστερει πολύ - οι υπόλοιπες ϑεωρούν ότι έχει πέσει.

14 Παράδειγµα εκτέλεσης αλγορίθµου - 4 Παράδειγµα εκτέλεσης αλγορίθµου r1 = 1 1, 1, 0, r3 = 1,, 0, 1 3 (1,,, ) (, 1,, ) (,, 0, 1) 2, 1,, 1 4 r4 = 1 1, 1,, 1 Y, N, Y, N Φάση 1 Η διεργασία 4 λαµβάνει το σύνολο που έχει εκπέµψει η 2 Η διεργασία 4 αργει να λάβει απ την 3 και ϑεωρεί ότι έχει πέσει Η διεργασια 2 πέφτει Η διεργασία 1 εκπέµπει το σύνολό της Η διεργασια 1 λαµβανει ότι έχουν εκπέµψει οι υπόλοιπες 1 r1 = 1 1, 1, 0, r3 = 1,, 0, 1 3 Φάση 1 Η διεργασία 4 2, 1,, 1 αντιλαµβανεται ότι η 2 έχει πέσει Θεωρώντας ότι έχει µείνει (, 1,, 1) µόνη στο δίκτυο εκτελει (, 1,, 1) τους επόµενους 2 γύρους r4 = 4 1 εκπέµποντας το σύνολό της 4, 1,, 1 (, 1,, 1) Y, Y, Y, N Παράδειγµα εκτέλεσης αλγορίθµου - 6 Παράδειγµα εκτέλεσης αλγορίθµου - 7 Φάση 2 1 r1 = 1 1, 1, 0, 1 1 (1, 1, 0, 1) 0 r3 = 2 1, 1, 0, 1 N, Y, N, N 3 (1, 1, 0, 1) (1, 1, 0, 1) Φάση 1 Η διεργασία 3 λαµβανει το σύνολο της 1 2, 1,, 1 Αντιλαµβάνεται ότι η 1 δεν έχει πέσει - αναθεωρεί Αντιλαµβάνεται ότι η 2 έχει πέσει r4 = 4 Προχωρά στον επόµενο 1 γυρο εκπέµποντας το νέο 4, 1,, 1 σύνολο Y, N, Y, N 1 r1 = 1 1, 1, 0, r3 = 2 1, 1, 0, 1 N, Y, N, N 3 (, 1,, 1) (, 1,, 1) (, 1,, 1) 2, 1,, 1 4 r4 = 1, 1,, 1 Y, Y, N, N Η διεργασια 4 µπαίνει στη ϕάση 2 Στο µεταξύ, έχει λάβει τα µηνύµατα της 3 και αντιλαµβανεται ότι δεν έχει πέσει - αναθεωρεί Εκπέµπει το σύνολό της Περιµένει να λάβει το σύνολο της 3 όταν αυτη µπει στη ϕάση 2 Το σύνολο της 4 είναι το µόνο που εµφανίζεται σε όλες τις διεργασιες - αυτο ϑα επικρατήσει

15 Παράδειγµα εκτέλεσης αλγορίθµου - 8 Παράδειγµα εκτέλεσης αλγορίθµου - 9 N, Y, N, N 1 r1 = 2 1, 1, 0, r3 = 2 1, 1, 0, 1 N, Y, N, N 3 2, 1,, 1 r4 = 1 4, [1],, 1 Y, Y, Y, N Φάση 3 Η διεργασια 3 πέφτει Η διεργασία 4 τελικά αντιλαµβανεται ότι η 3 έχει πέσει Καθώς ϑεωρεί ότι έµεινε µόνη της, αποφασιζει την τιµή 1 Η διεργασια 1 συνεχιζει να εκτελεί αργα τους γυρους Αντιλαµβανεται ότι η 2 έχει πέσει Κάθε µήνυµα που λαµβανει από τις 3 και 4 το οποίο εσταλη στην πρώτη ϕαση τους δε µεταβαλλει το σύνολό της N, Y, Y, N 1 r1 =, [1],, r3 = 1 1, 1, 0, 1 N, Y, N, N (1, 1, 0, 1) 3 (1, 1, 0, 1) (1, 1, 0, 1) 2, 1,, 1 4 r4 = 1, [1],, 1 Y, Y, Y, N Φάση 3 Τελικά η διεργασια 1 µπαίνει στη ϕάση 2 Στέλνει το σύνολό της σε όλες τις άλλες Λαµβανει το σύνολο που έχει εκπέµψει η 4 προηγουµένως για τη ϕάση 2 Ενηµερώνει το δικό της σύνολο Αντιλαµβανεται ότι η 3 έχει πέσει Μην περιµένοντας το σύνολο άλλης διεργασιας, αποφασιζει την τιµή 1 Παρατηρήσεις εν επιβάλλεται κανένας ντετερµινισµος στο δικτυο Πολλαπλές παρόµοιες εκτελέσεις εν γένει οδηγούν σε διαφορετική απόφαση εν διατηρήται καµία πρωτεραιότητα στις τιµές προς απόφαση Πχ το δίκτυο δε µπορει να πάρει απόφαση για τη µεγαλύτερη αρχική τιµή Μπορεί να αποφασισθεί τιµή διεργασιας που έχει πέσει Πρόβληµα όταν η τιµή αυτή επηρρεάζει το δικτυο στο µέλλον Τελικά επιτυγχάνεται συµφωνία Οµως η τιµή µπορεί να ειναι οποιαδήποτε Αχρηστο πχ για DB transactions Παρατηρήσεις Επιπλέον ο αλγοριθµος υποθέτει ασθενή ακρίβεια Μη ϱεαλιστικό ε γίνεται να αποφευχθούν πρόωρα timeouts ακόµα και για µία διεργασια Ωστοσο το πρόβληµα λύνεται και από την κλάση W Με ισχυροτερη απαίτηση για τις µη προβληµατικές διεργασιες (f < n/2) Ενας άλλος τρόπος ώστε να µην επιτραπεί λάθος εκτιµήσεις να οδηγήσουν σε πρόωρο τερµατισµο διεργασιών Οι κινήσεις κάθε διεργασιας δε στηρίζονται µόνο στις εκτιµήσεις του failure detector Αυτές αρχικά µπορει να ειναι εξ ολοκλήρου λάθος Αντ αυτού ϕροντίζουν να συµβαδίζουν µε τουλάχιστον n/2 άλλες διεργασίες Αυτό εγγυάται ότι συµβαδιζουν µε τουλάχιστον µια διεργασια που δεν πρόκειται να πέσει Οταν µια διεργασια πάρει τελικά µια απόφαση, ϑα λάβει υπόψιν της το state της διεργασίας αυτής

16 Από W σε S Παρόµοια λογική µε τη µετατροπή W σε S Κάθε διεργασια στέλνει αυτές που υποπτεύεται στις υπόλοιπες Για κάθε τέτοιο µήνυµα που λαµβάνει, προσθέτει τις νέες διεργασιες στο σύνολο αυτών που εκτιµά ότι έχουν πέσει Προβληµατική τακτική: Αρχικά µπορει όλες οι εκτιµήσεις να ειναι λάθος Λύση: Οταν µια διεργασια διαπιστωσει ότι λανθασµένα την υποψιάζεται το υπόλοιπο δίκτυο, στέλνει ένα µήνυµα που ακυρώνει το µήνυµα που τη ϑεωρει πεσµένη στις υπόλοιπες Για κάθε τέτοιο µήνυµα που λαµβανεται, εξαιρειται η διεργασια που υποδεικνύει το µήνυµα από το συνολο µε τις εκτιµήσεις της Καθώς το σύστηµα ειναι ασύγχρονο, χρησιµοποιείται ένα ειδος timestamps Από W σε S - Αλγόριθµος Αλγόριθµος q, r : suspectedp(r, q) 0 refutedp(r, q) 0 Task 1: Repeat forever: if(r Wp and refutedp(r, p) suspectedp(r, p)) then broadcast(p, suspectts, r, refutedp(r, p) + 1) Task 2: When p delivers (q, suspects, r, k) : suspectedp(r, q) k if(p = r) then broadcast (p, refutes, q, k) Task 3: When p delivers (r, refutes, q, k) : refutedp(r, q) k Task 4: Repeat forever: r : if q : suspectedp(r, q) > refutedp(r, q) then Sp Sp {r} else Sp Sp {r} Αλγοριθµος µε S 0. Αρχικοποίηση estimatep ip tsp 0 rp 0 statep undecided Κάθε διεργασια διατηρει µεταβλητές για: Την εκτιµησή της για την τιµή απόφασης Timestamp για την τιµή απόφασης Τον ασύγχρονο γύρο που ϐρίσκεται (timestamp στα µηνύµατα) Την κατάσταση απόφασης Αλγοριθµος µε S Ενας ϐρόχος επανάληψης µε 4 ϕάσεις: ωηιλε statep = undecided rp rp + 1 cp rp mod n Φάση ανταλλαγής εκτιµήσεων p sends (p, rp, estimatep, tsp) to cp Χρησιµοποιείται η έννοια του rotating coordinator Rotating καθώς κάποιος µπορεί να πέσει Θα γινει αντιληπτός (weak completeness) και ϑα αναλάβει ο επόµενος Οι διεργασίες στέλνουν τις εκτιµήσεις τους στη διεργασια-συντονιστή Αυτή ϑα αποφασισει ποια από αυτές τις εκτιµήσεις πρέπει να επικρατήσει

17 Αλγοριθµος µε S 2. Φάση επιλογής επικρατούσας τιµής if p = cp wait until [for n f processes q: received(q, rp, estimateq, tsq)] estimatep one estimateq in maxtsq{received(q, rp, estimateq, tsq)} p broadcasts (p, rp, estimatep) Ο συντονιστης συλλέγει τα µηνύµατα που προοριζονται γι αυτον και εσταλησαν στον ίδιο ασύγχρονο γύρο Αποφεύγεται το ενδεχοµενο να λάβει µελλοντικά µηνύµατα που προοριζονται γι αυτον Αυτά προκύπτουν όταν το υπόλοιπο δικτυο ολοκληρωσει έναν κύκλο αλλαγής συντονιστων Επιλέγει να επικρατήσει η τιµή που ανανεώθηκε πιο πρόσφατα Αλγοριθµος µε S 3. Φάση αποδοχης επικρατούσας τιµής wait until [received(cp, rp, estimatecp) or cp Sp] if[recevied(cp, rp, estimatecp)] then estimatep estimatecp tsp rp p sends (p, rp, ack) to cp else p sends (p, rp, nack) to cp Οι διεργασίες ενηµερώνονται από το συντονιστή Απαντούν αν έλαβαν την ενηµέρωση η όχι Σε κάθε περίπτωση η εκτελεση συνεχίζεται από όλες τις διεργασίες Οι τιµές estimatep και tsp ανανεώνονται ταυτοχρονα Εν γενει σε µερικές µόνο διεργασιες Αλγοριθµος µε S Συµφωνία στην απόφαση 4. Φάση απόφασης από το συντονιστή if p = cp then wait until [for n f processes q:(received(r, qp, ack) or (q, rp, nack)] if received n f (q, rp, ack) then broadcast(p, rp, estimatep, decide) Αν η πλειονότητα των διεργασιών έχει υιοθετησει την εκτιµηση του συντονιστή, τις καλει να αποφασισουν σε αυτήν Ωστοσο το δίκτυο έχει προχωρήσει σε εκτέλεση νέου γύρου, µε νέο συντονιστη Πως εγγυόµαστε ότι ο νέος συντονιστης δεν ϑα επιβαλλει απόφαση σε διαφορετική τιµή; 3. Φάση αποδοχης επικρατούσας τιµής estimatep estimatecp tsp rp p sends (p, rp, ack) to cp Αφού εσταλη µήνυµα απόφασης, πάνω από τις µισές διεργασιες ειχαν ανανεώσει τις µεταβλητές τους

18 Συµφωνία στην απόφαση Συµφωνία στην απόφαση 2. Φάση επιλογής επικρατούσας τιµής wait until [for n f processes q: received(q, rp, estimateq, tsq)] estimatep one estimateq in maxtsq{received(q, rp, estimateq, tsq)} Πριν επιλεχθεί εκτιµώµενη τιµή από το νέο συντονιστή, ϑα πρέπει να συµβολευθεί επίσης πάνω από τις µισες διεργασίες Τουλάχιστον µία απ αυτες έχει εκτελέσει ανανέωση στη ϕάση 3 Αυτή η εκτιµηση ϑα έχει το µεγαλύτερο timestamp και τελικά ϑα επικρατησει Συνεπώς άπαξ και σταλει µήνυµα απόφασης η εκτίµηση που περιέχει ϑα κερδιζει ολες τις άλλες εκτιµήσεις στις επιλογές των µελλοντικών συντονιστων Ετσι δεν προκειτε να σταλει νέο µήνυµα απόφασης µε άλλη τιµή Ωστόσο εν γενει ϑα σταλούν και άλλα µηνύµατα απόφασης εν απόφασιζουν όλες οι διεργασιες υπό τον ίδιο συντονιστή Ωστόσο αποφασιζουν στην ίδια τιµή Τερµατισµος Παράδειγµα εκτέλεσης αλγορίθµου - 1 Είδαµε πως η απόφαση γινεται σε κοινή τιµή Πώς ξέρουµε ότι ϑα παρθεί απόφαση; 3. Φάση αποδοχης επικρατούσας τιµής wait until [received(cp, rp, estimatecp) or cp Sp] if[recevied(cp, rp, estimatecp)] then p sends (p, rp, ack) to cp else p sends (p, rp, nack) to cp Eventual Accuracy: Μετά από κάποια στιγµή, µια διεργασια που δεν πέφτει δε ϑα εκτιµηθει ως προβληµατική Κάποια στιγµή ϑα γίνει συντονιστής Το δίκτυο ϑα την ακούσει και ϑα στείλει τον απαραίτητο αριθµο acks Ο συντονιστης ϑα απαντήσει µε µήνυµα απόφασης 1 r1 = 0 1 ts1 = r3 = 0 0 ts3 = 0 3 r2 = ts2 = 0 1 r4 = ts4 = 0 1 Αρχικοποίηση Οι δεργασίες αρχικοποιούν τις µεταβλητές tsi Αρχικά κάθε διεργασια εκτιµά ότι ϑα επικρατήσει η τιµή της Κατα την εκτέλεση δε ϑα πρέπει να πέσει πάνω από µία διεργασία f < n/2

19 Παράδειγµα εκτέλεσης αλγορίθµου - 2 Παράδειγµα εκτέλεσης αλγορίθµου r1 = 0 (2, 0, 1, 0) 1 ts1 = 0 1 (4, 0, 1, 0) (3, 0, 0, 0) 0 r3 = 0 0 ts3 = 0 3 Φάση 1 r2 = 0 1 Οι δεργασίες 2 3 και 4 2 ts2 = 0 1 µπαίνουν στη ϕάση 1 του πρώτου γύρου Βλέπουν ως coordinator τη διεργασια 1 Στέλνουν τις εκτιµήσεις τους r4 = 0 1 και µπαίνουν στη ϕάση 3 4 ts4 = r1 = 0 (2, 0, nack) 1 ts1 = 0 1 (4, 0, nack) (3, 0, nack) 0 r3 = 0 0 ts3 = 0 3 Φάση 3 r2 = 0 1 Η 1 αργεί πολύ να 2 ts2 = 0 1 απαντήσει Οι διεργασιες 2,3 και 4 εκτιµούν ότι έχει πέσει Στέλνουν nacks για να ενηµερώσουν την 1 ότι δε r4 = 0 1 την έχουν λάβει υπόψιν 4 ts4 = 0 1 τους ως coordinator Παράδειγµα εκτέλεσης αλγορίθµου - 4 Παράδειγµα εκτέλεσης αλγορίθµου - 5 Φάση 2 1 r1 = 0 1 ts1 = r3 = 1 0 ts3 = 0 3 (3, 1, 0, 0) 2 ts2 = 0 1 (4, 1, 1, 0) r4 = ts4 = 0 1 Φάση 1 Η διεργασία 2 γίνεται συντονιστής στον επόµενο γύρο Λαµβάνει τις εκτιµήσεις των 3 και 4 Η διεργασία 1 λαµβανει τις εκτιµήσεις που προοριζονταν γι αυτήν στον προηγούµενο γυρο 1 r1 = 0 0 ts1 = 0 1 (1, 0, 0) 0 r3 = 1 0 ts3 = 0 3 (2, 1, 1) (1, 0, 0) (2, 1, 1) (1, 0, 0) (2, 1, 1) 2 ts2 = 0 1 r4 = ts4 = 0 1 Η διεργασία 2 αποφασίζει για το ποια εκτίµηση ϑα επικρατήσει Επιλέγει να επικρατήσει η δική της Ανανεώνει το timestamp Ενηµερώνει τις υπόλοιπες Η διεργασια 1 ϑεωρεί ακόµα ότι είναι συντονιστής Εκτελεί την ίδια διαδικασια και επιλέγει ως επικρατούσα την τιµή 0 της 3

20 Παράδειγµα εκτέλεσης αλγορίθµου - 6 Παράδειγµα εκτέλεσης αλγορίθµου r1 = 0 0 ts1 = r3 = 1 1 ts3 = 1 3 (3, 1, ack) 2 ts2 = 1 1 (4, 1, ack) r4 = ts4 = 1 1 Φάση 3 Η διεργασία 1 λαµβάνει τα nacks που έχουν επίσης σταλει από τις υπόλοιπες Εγκαταλείπει την ϑέση του coordinator Τα µηνύµατα της διεργασιας 2 λαµβανονται και υιοθετούνται από τις 3 και 4 Οι οποίες ανανεώνουν τα timestamps τους και απαντούν µε acks N, Y, N, N 1 r1 = 1 0 ts1 = r3 = 1 1 ts3 = 1 3 (2, 1, 1, dec) (2, 1, 1, dec) (2, 1, 1, dec) 2 ts2 = 1 1 r4 = ts4 = 1 1 Φάση 4 Η διεργασια συντονιστής ϐλέπει ότι έχει την πλειονότητα του δικτύου µε το µέρος της Εκπέµπει ένα µήνυµα απόφασης Η ίδια αποφασίζει και τερµατίζει Η διεργασια 1 εκτελεί καθυστερηµένα το γυρο 1, ωστόσο τα µηνύµατα της 2 αργούν τα ϕτάσουν κι έτσι ϑεωρεί ότι έχει πέσει. Παράδειγµα εκτέλεσης αλγορίθµου - 8 Παράδειγµα εκτέλεσης αλγορίθµου - 9 Φάση 1 N, Y, N, N 1 r1 = 2 0 ts1 = 0 1 (1, 2, 0, 0) 0 r3 = 2 1 ts3 = 1 3 (4, 2, 1, 1) 2 ts2 = 1 1 r4 = ts4 = 1 1 Οι διεργασιες 3 και 4 µπαίνουν µαζι στον γύρο 2 Η διεργασία 3 γίνεται συντονιστής Περιµένει να λάβει µηνύµατα από δύο διεργασίες Τελικά µπαίνει και η 1 στο γύρο 2 Τελικά η 3 λαµβανει µηνύµατα από τις 1 και 4 N, Y, N, N 1 r1 = 2 0 ts1 = 0 1 (3, 2, 1) (3, 2, 1) 0 r3 = 2 1 ts3 = 1 3 (3, 2, 1) 2 ts2 = 1 1 r4 = ts4 = 1 1 Φάση 2 Η διεργασία συντονιστής ϑα επιλέξει αναγκαστικά την τιµή 1 Αυτή έχει το µεγαλύτερο timestamp Ενηµερώνει τις υπόλοιπες για την απόφασή της

21 Παράδειγµα εκτέλεσης αλγορίθµου - 10 Παράδειγµα εκτέλεσης αλγορίθµου - 11 N, Y, N, N 1 r1 = 2 1 ts1 = 2 1 (1, 2, ack) 0 r3 = 2 1 ts3 = 2 3 (4, 2, ack) 2 ts2 = 1 1 r4 = ts4 = 2 1 Φάση 2 Οι διεργασιες 1 και 4 λαµβάνουν την εκτιµιση του συντονιστή Ενηµερώνουν τις µεταβλητές τους Απαντούν µε µήνυµα ack N, Y, N, N 1 r1 = 2 1 ts1 = 2 1 (3, 2, 1, dec) (3, 2, 1, dec) 0 r3 = 2 1 ts3 = 2 3 (3, 2, 1, dec) 2 ts2 = 1 1 r4 = ts4 = 2 1 Φάση 2 Ο συντονιστής ϐλέπει ότι έχει την πλειονότητα του δικτύου µε το µέρος του Στέλνει µηνύµατα απόφασης Ωστόσο καθώς τα στέλνει πέφτει Παράδειγµα εκτέλεσης αλγορίθµου - 12 Παράδειγµα εκτέλεσης αλγορίθµου - 13 Φάση 2 N, Y, N, N 1 r1 = 3 1 ts1 = r3 = 2 1 ts3 = 2 3 (1, 3, 1, 2) Φάση 2 Οι διεργασίες 1 και 4 µπαίνουν µαζι σε νέο γύρο 2 ts2 = 1 1 Η διεργασια 4 αναλαµβάνει συντονιστής Η διεργασια 1 της στέλνει την τιµή της εν υπάρχει άλλη r4 = 3 1 διεργασια που ϑα στειλει 4 ts4 = 2 1 τιµή Η 4 µπλοκάρει N, Y, N, Y 1 r1 = 4 1 ts1 = r3 = 2 1 ts3 = ts2 = 1 1 r4 = ts4 = 2 1 Η διεργασια 1 ϑεωρει ότι η 4 έχει πέσει Ξεκινά νέο γύρο και αναλαµβάνει συντονιστης ε λαµβάνει καµία τιµή - µπλοκάρει Μηνύµατα απόφασης έχουν σταλεί από τις διεργασίες 2 και 3 µε την τιµή 1 Κάποια στιγµή παραλαµβάνονται από τις 1 και 4 οι οποίες αποφασιζουν

22 Bottomline Περιορισµός στις προβληµατικές διεργασίες Το προβληµα λύνεται και µε failure detectors που κάνουν αµέτρητα σφάλµατα (µε περιορισµό στις προβληµατικές διεργασιες (f < n/2) ) Αρκεί από κάποια στιγµή και µετά αυτά να περιοριστούν Στην πραγµατικότητα αρκει να περιοριστούν για ένα χρονικό διάστηµα αρκετο ώστε να αποφασισει το δίκτυο Eventual: Επιβάλλει έναν αλγόριθµο που εκτελειται σε ϐροχο επανάληψης Είναι σηµαντικό όσο γίνονται σφαλµατα να µην παιρνεται απόφαση Ο ϐροχος ξαναεκτελειται Τα προβλήµατα που εντοπίσαµε στον προηγούµενο αλγοριθµο (µε την κλάση S) διατηρούνται (Κανένας ντετερµινιστος στη λήψη αποφάσεων, η συµφωνία µπορει να αφορά τιµή διεργασιας που έχει πέσει...) Το προβληµα λύνεται µε S όταν f < n/2 Τι γινεται αν υποθέσουµε f n/2 Περιορισµός στις προβληµατικές διεργασίες Περιορισµός στις προβληµατικές διεργασίες Impossibility ιαµερίζουµε το σύνολο των διεργασιών σε ισοπληθή S0, S1 Κάθε σωστος αλγοριθµος οδηγεί το Si σε τερµατισµο ακόµα και αν το S i έχει πέσει Το S0 εκτελείται αργά, έτσι το S1 εκτιµά ότι το S0 έχει πέσει "Eventual" Accuracy: Αρχικά τα λάθη επιτρεπονται Το S1 εκτελει αλγοριθµο και αποφασιζει Το S0 εκτιµά ότι το S1 έχει πέσει "Eventual" Accuracy: Αρχικά τα λάθη επιτρεπονται Το S0 εκτελεί αλγοριθµο και αποφασιζει. Οι αποφάσεις πάρθηκαν αυτόνοµα από τα επιµέρους υποδικτυα Είναι εν γένει διαφορετικές Τα τµήµατα S0 και S1 του δικτύου εκτελούνται αυτόνοµα, καταλήγοντας σε εν γένει διαφορετικές αποφάσεις S0 0 S1 1

23 Περιορισµός στις προβληµατικές διεργασίες Κατηγοριοποίηση Πού αποτυγχάνει η παραπάνω λογική για την κλάση S ή όταν f < n/2; Οταν f < n/2 S0 S1 Τα τµήµατα επικαλύπτονται: οι κοινές διεργασίες συντονίζουν Χρησιµοποιώντας την κλάση S S0 P S1 Τα τµήµατα εµπιστεύονται την P: αυτή συντονίζει Εξετασαµε failure detectors που παρέχουν αρκετή πληροφορία για τη λύση του consensus Είναι όµως και αναγκαια; εδοµένου ενός προβλήµατος, ποια είναι η ασθενέστερη κλάση failure detectors που το λύνει; Ποια ειναι η ελάχιστη µη τετριµένη πληροφορία που πρέπει να παρέχουµε ώστε να παρακαµφθεί το impossibility result; Προβλήµατα κατηγοριοποιούνται µε ϐάση το κριτίριο αυτό Κατηγοριοποίηση Επιλυσιµότητα για διάφορα κατανεµηµένα υπολογιστικά µοντέλα: Αλλες κλάσεις failure detectors Καθώς προσεγγιζουµε άλλα προβλήµατα και άλλους τύπους σφαλµάτων προκύπτουν νέες κλάσεις failure detectors Clock Synchronization TRB Interactive Consistency Consensus Atomic Broadcast Reliable Broadcast Synchronous Systems Asynchronous systems using P Asynchronous systems using W Asynchronous Systems Ω Equivalent with W Weakest for solving Consensus?P Anonymously Perfect Non-Blocking Atomic Commit HB Heartbeat Quiescent Communication (link failures) Y Weakest Ever The Minimal yet Non-Trivial Failure Information ιαφοροποιούνται ως προς το ειδος της πληροφορίας που παρέχουν Τα ϐασικά χαρακτηριστικά που αναφέραµε παραµένουν ίδια Η πληροφορία που παρέχουν χαρακτηρίζεται από τις µετρικές Completeness και Accuracy

24 Αλλες κλάσεις failure detectors - ιαφορετικές Προσεγγισεις Υλοποιήσιµοι Perfect Failure Detectors - εν κάνουν λάθη! Προκαλούν λάθη Κάθε failure detector που υποψιάζεται ότι µια διεργασια p έχει πέσει ενηµερώνει το δίκτυο Ακόµα κι αν κάνει λάθος, µόλις η p λάβει την ενηµέρωση τερµατίζει οικειοθελώς Οι failure detectors επιβάλλουν την άποψή τους στο δικτυο Εφαµρόσιµο µόνο όταν οι λάθος εκτιµήσεις ειναι εξερετικά σπάνιες Failure Detectors σε συγχρονα δίκτυα Χρησιµοποιούνται για να ϐελτιώσουν την πολυπλοκότητα Γενικά κάθε σύγχρονος γυρος διαρκεί χρόνο D Κάθε διεργασια που πέφτει τη στιγµή t γινεται αντιληπτή τη στιγµή t + d Αποδοτικότερες λύσεις όταν d << D Σύνοψη 8 ης ιάλεξης Προηγούµενο Μάθηµα Προηγούµενο Μάθηµα Ασύγχρονα Κατανεµηµένα Συστήµατα Μοντελοποίηση Ασύγχρονων Συστηµάτων Ασύγχρονα Κατανεµηµένα Συστήµατα Σφάλµατα σε Ασύγχρονα Συστήµατα Αδυναµία Εύρεσης Λύσης Ανιχνευτές Σφαλµάτων Σύνοψη Μαθήµατος Σύνοψη Μαθήµατος Βιβλιογραφία Επόµενο Μάθηµα Σύνοψη Μαθήµατος Συζήτηση Ασύγχρονα Κατανεµηµένα Συστήµατα Σφάλµατα ιεργασιών Αδυναµία Εύρεσης Λύσης Ανιχνευτές Σφαλµάτων Σφάλµατα σε ασύγχρονα κατανεµηµένα συστηµατα οδηγούν σε αδυναµία λύσης πολλών προβληµάτων Για να παρακαµφθούν εισάγουµε το module του Failure Detector Εχει την ικανότητα να κάνει εκτιµήσεις για το ποιες διεργασίες έχουν πέσει Οι εκτιµήσεις χαρακτηρίζονται από µετρικές ακρίβειας και πληρότητας Για κάθε πρόβληµα µας ενδιαφέρει ποια η ασθενέστερη κλάση failure detectors που είναι αναγκαια και ικανή για τη λύση του Στην περίπτωση του Consensus είδαµε δυο λύσεις µε διαφορετικούς περιορισµούς και δυνατότητες failure detection

25 Βιβλιογραφία (1) Βιβλιογραφία (2) 1. Michel Raynal: A Short Introduction to Failure Detectors for Asynchronous Distributed Systems. ACM SIGACT News, Volume 36(1), 53-70, Felix C. Gartner: A Gentle Introduction to Failure Detectors and Related Subjects. 1. Michael J. Fischer, Nancy A. Lynch, and Michael S. Paterson: Impossibility of Distributed Consensus with One Faulty Process. Journal of the ACM (JACM), Volume 32(2), , Tushar Deepak Chandra and Sam Toueg: Unreliable Failure Detectors for Reliable Distributed Systems. Journal of the ACM (JACM), Volume 43(2), , Tushar Deepak Chandra, Vassos Hadzilacos, and Sam Toueg: The weakest failure detector for solving consensus. In Proc. 11th annual ACM symposium on Principles of distributed computing (PODC), pp , Marcos Kawazoe Aguilera, Wei Chen, and Sam Toueg: On Quiescent Reliable Communication. SIAM Journal on Computing, Volume 29(6), , Επόµενο Μάθηµα Ασύγχρονα Κατανεµηµένα Συστήµατα Πρόβληµα Συγχρονισµού Συγχρονιστές Φυσικά Ρολόγια Συγχρονισµός Ρολογιών

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

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

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

Consensus and related problems

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σύνοψη Προηγούµενου. Κανονικές Γλώσσες (1) Προβλήµατα και Γλώσσες. Σε αυτό το µάθηµα. ιαδικαστικά του Μαθήµατος.

Σύνοψη Προηγούµενου. Κανονικές Γλώσσες (1) Προβλήµατα και Γλώσσες. Σε αυτό το µάθηµα. ιαδικαστικά του Μαθήµατος. Σύνοψη Προηγούµενου Κανονικές Γλώσσες () ιαδικαστικά του Μαθήµατος. Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Εισαγωγή: Υπολογισιµότητα και Πολυπλοκότητα. Βασικές

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

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

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

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

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

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

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

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

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

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

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 1 / 26 Εισαγωγή Η ϑεωρία

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αιτιώδεις Σχέσεις και Χρονισµός Παναγιώτα Φατούρου Κατανεµηµένα Συστήµατα 1 Η Σχέση Happens-Before (Συµβαίνει-ϖριν) Οι εκτελέσεις, ως ακολουθίες γεγονότων, καθορίζουν µια καθολική διάταξη σε αυτά. Ωστόσο

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αιτιώδεις Σχέσεις και Χρονισµός. Παναγιώτα Φατούρου Αρχές Κατανεµηµένου Υπολογισµού Αιτιώδεις Σχέσεις και Χρονισµός Η Σχέση Happens-Before (Συµβαίνει-πριν) Οι εκτελέσεις, ως ακολουθίες γεγονότων, καθορίζουν µια καθολική διάταξη σε αυτά. Ωστόσο είναι δυνατό δύο υπολογιστικά γεγονότα από

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

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

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

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

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

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

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

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης.

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης. Γενικές Παρατηρήσεις Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα () Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Υπάρχουν µη κανονικές γλώσσες, π.χ., B = { n n n }. Αυτό

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

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

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

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

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

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

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

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

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

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

Αποτίµησηκαθολικού κατηγορήµατος

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

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

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

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

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

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

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

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

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 3

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 3 ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 3 ιδασκοντες: Α. Μπεληγιάννης - Σ. Παπαδάκης Ιστοσελιδα Μαθηµατος : http://users.uoi.gr/abeligia/numbertheory/nt.html Τετάρτη 13 Μαρτίου 2013 Ασκηση 1. Αφού ϐρείτε την

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

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

Ακολουθιακές εντολές. (Peter Ashenden, The Students Guide to VHDL) Ακολουθιακές εντολές (Peter Ashenden, The Students Guide to VHDL) Εντολή If Τα βασικά χαρακτηριστικά της είναι τα εξής: Μπορεί να χρησιµοποιηθεί για τον έλεγχο µίας ή περισσοτέρων συνθηκών. Η πρώτη συνθήκη

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

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

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

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

Κεφάλαιο 5ο: Εντολές Επανάληψης

Κεφάλαιο 5ο: Εντολές Επανάληψης Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 5ο: Εντολές Επανάληψης Η διαδικασία της επανάληψης είναι ιδιαίτερη συχνή, αφού πλήθος προβληµάτων µπορούν να επιλυθούν µε κατάλληλες

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

Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2) Ισοδυναµία CFG και PDA. Σε αυτό το µάθηµα. Αυτόµατα Στοίβας Pushdown Automata

Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2) Ισοδυναµία CFG και PDA. Σε αυτό το µάθηµα. Αυτόµατα Στοίβας Pushdown Automata Σύνοψη Προηγούµενου Γλώσσες χωρίς Συµφραζόµενα (2) Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Αυτόµατα Στοίβας Pushdown utomata Ισοδυναµία µε τις Γλώσσες χωρίς Συµφραζόµενα:

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

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

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

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

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

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

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

Πανεπιστήµιο Θεσσαλίας

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Πληροφορικής Ενότητα 8η: Συσκευές Ε/Ε - Αρτηρίες Άσκηση 1: Υπολογίστε το µέσο χρόνο ανάγνωσης ενός τµήµατος των 512 bytes σε µια µονάδα σκληρού δίσκου µε ταχύτητα περιστροφής

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

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη Επιλογή και επανάληψη Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως, ότι στο

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

Αδιέξοδα (Deadlocks)

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

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

Ορισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε:

Ορισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε: Συµβολισµός Ω( ) Τάξη των Συναρτήσεων () Εκτίµηση Πολυπλοκότητας Αλγορίθµων Ορέστης Τελέλης telelis@unipi.gr Ορισµός. Εστω συναρτήσεις: f : N R και g : N R η f(n) είναι Ω( g(n) ) αν υπάρχουν σταθερές C

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

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

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

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

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

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

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

Θεώρηµα: Z ( Απόδειξη: Περ. #1: Περ. #2: *1, *2: αποδεικνύονται εύκολα, διερευνώντας τις περιπτώσεις ο k να είναι άρτιος ή περιττός

Θεώρηµα: Z ( Απόδειξη: Περ. #1: Περ. #2: *1, *2: αποδεικνύονται εύκολα, διερευνώντας τις περιπτώσεις ο k να είναι άρτιος ή περιττός HY118- ιακριτά Μαθηµατικά Την προηγούµενη φορά Τρόποι απόδειξης Τρίτη, 07/03/2017 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr Το υλικό των διαφανειών έχει βασιστεί σε διαφάνειες του Kees van Deemter,

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

Μάθημα 5 ο : Μετάδοση Μηνυμάτων

Μάθημα 5 ο : Μετάδοση Μηνυμάτων Μάθημα 5 ο : Μετάδοση Μηνυμάτων Υπάρχουν περιπτώσεις στις οποίες επιθυµούµε τα αντικείµενα που χρησιµοποιούµε να επικοινωνούν µεταξύ τους άµεσα έτσι ώστε ο συγχρονισµός της συµπεριφοράς τους να γίνεται

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

Σηµειώσεις στις σειρές

Σηµειώσεις στις σειρές . ΟΡΙΣΜΟΙ - ΓΕΝΙΚΕΣ ΕΝΝΟΙΕΣ Σηµειώσεις στις σειρές Στην Ενότητα αυτή παρουσιάζουµε τις βασικές-απαραίτητες έννοιες για την µελέτη των σειρών πραγµατικών αριθµών και των εφαρµογών τους. Έτσι, δίνονται συστηµατικά

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

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

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

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

HY118- ιακριτά Μαθηµατικά

HY118- ιακριτά Μαθηµατικά HY118- ιακριτά Μαθηµατικά Τρίτη, 07/03/2017 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr Το υλικό των διαφανειών έχει βασιστεί σε διαφάνειες του Kees van Deemter, από το University of Aberdeen 3/7/2017

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

3. Προσομοίωση ενός Συστήματος Αναμονής.

3. Προσομοίωση ενός Συστήματος Αναμονής. 3. Προσομοίωση ενός Συστήματος Αναμονής. 3.1. Διατύπωση του Προβλήματος. Τα συστήματα αναμονής (queueing systems), βρίσκονται πίσω από τα περισσότερα μοντέλα μελέτης της απόδοσης υπολογιστικών συστημάτων,

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

Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 5

Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 5 Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 5 ιδασκοντες: Ν. Μαρµαρίδης - Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος : http://users.uoi.gr/abeligia/algebraicstructuresi/asi.html Παρασκευή 16 & Τετάρτη 21 Νοεµβρίου

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

Αποφασισιµότητα / Αναγνωρισιµότητα. Μη Επιλύσιµα Προβλήµατα. Η έννοια της αναγωγής. Τερµατίζει µια δεδοµένη TM για δεδοµένη είσοδο;

Αποφασισιµότητα / Αναγνωρισιµότητα. Μη Επιλύσιµα Προβλήµατα. Η έννοια της αναγωγής. Τερµατίζει µια δεδοµένη TM για δεδοµένη είσοδο; Αποφασισιµότητα / Αναγνωρισιµότητα Ορέστης Τελέλης telelis@unipi.gr Μη Επιλύσιµα Προβλήµατα Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς 2/12/2015 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Αποφασισιµότητα 2/12/2015

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

for for for for( . */

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

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

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 4

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 4 ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Τµηµα Β Λυσεις Ασκησεων - Φυλλαδιο 4 ιδασκων: Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος : http://users.uoi.gr/abeligia/numbertheory/nt2016/nt2016.html Πέµπτη 10 Νοεµβρίου 2016 Ασκηση 1. Να ϐρεθούν

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

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοηµοσύνη Ι» 7ο Φροντιστήριο 15/1/2008

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοηµοσύνη Ι» 7ο Φροντιστήριο 15/1/2008 Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοηµοσύνη Ι» 7ο Φροντιστήριο 5//008 Πρόβληµα ο Στα παρακάτω ερωτήµατα επισηµαίνουµε ότι perceptron είναι ένας νευρώνας και υποθέτουµε, όπου χρειάζεται, τη χρήση δικτύων

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

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Λυσεις Ασκησεων - Φυλλαδιο 1

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Λυσεις Ασκησεων - Φυλλαδιο 1 ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Λυσεις Ασκησεων - Φυλλαδιο ιδασκοντες: Α. Μπεληγιάννης - Σ. Παπαδάκης Ιστοσελιδα Μαθηµατος : http://users.uoi.gr/abeligia/numbertheory/nt.html Τετάρτη 7 Φεβρουαρίου 03 Ασκηση. είξτε ότι

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

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

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

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Παναγιώτα Παναγοπούλου 11η Διάλεξη 12 Ιανουαρίου 2017 1 Ανεξάρτητο σύνολο Δοθέντος ενός μη κατευθυνόμενου γραφήματος G = (V, E), ένα ανεξάρτητο σύνολο (independent set) είναι ένα

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

Γ. Κορίλη Αλγόριθµοι ροµολόγησης

Γ. Κορίλη Αλγόριθµοι ροµολόγησης - Γ. Κορίλη Αλγόριθµοι ροµολόγησης http://www.seas.upenn.edu/~tcom50/lectures/lecture.pdf ροµολόγηση σε ίκτυα εδοµένων Αναπαράσταση ικτύου µε Γράφο Μη Κατευθυνόµενοι Γράφοι Εκτεταµένα έντρα Κατευθυνόµενοι

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

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

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

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

Εισαγωγή στην Τοπολογία

Εισαγωγή στην Τοπολογία Ενότητα: Συµπάγεια Γεώργιος Κουµουλλής Τµήµα Μαθηµατικών Αδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου

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

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

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

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

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

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

Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25)

Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25) Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Ο αλγόριθµος των BellmanFord Ο αλγόριθµος του Dijkstra ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 61

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

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

Θεωρήµατα Ιεραρχίας Ειδικά Θέµατα Υπολογισµού και Πολυπλοκότητας, Μάθηµα Βασικής Επιλογής Εαρινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Θεωρήµατα Ιεραρχίας Ειδικά Θέµατα Υπολογισµού και Πολυπλοκότητας, Μάθηµα Βασικής Επιλογής Εαρινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Απόστολος Φίλιππας Τµήµα Μηχανικών Η/Υ και Πληροφορικής 19 Μαΐου,

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

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Χρονικά αυτόµατα Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Συστήµατα πραγµατικού Χρόνου ιακριτός και συνεχής χρόνος Χρονικά αυτόµατα Χρονική CTL ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστηµάτων 12-1 Συστήµατα

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

HY118- ιακριτά Μαθηµατικά. Παράδειγµα. Από τα συµπεράσµατα στις υποθέσεις Αποδείξεις - Θεωρία συνόλων. Από τις υποθέσεις στα συµπεράσµατα...

HY118- ιακριτά Μαθηµατικά. Παράδειγµα. Από τα συµπεράσµατα στις υποθέσεις Αποδείξεις - Θεωρία συνόλων. Από τις υποθέσεις στα συµπεράσµατα... HY118- ιακριτά Μαθηµατικά Παρασκευή, 11/03/2016 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr Το υλικό των διαφανειών έχει βασιστεί σε διαφάνειες του Kees van Deemter, από το University of Aberdeen 3/15/2016

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΡΥΠΤΟΛΟΓΙΑ ΣΗΜΕΙΩΣΕΙΣ #6 ΘΕΟ ΟΥΛΟΣ ΓΑΡΕΦΑΛΑΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΡΥΠΤΟΛΟΓΙΑ ΣΗΜΕΙΩΣΕΙΣ #6 ΘΕΟ ΟΥΛΟΣ ΓΑΡΕΦΑΛΑΚΗΣ 1. Το προβληµα του διακριτου λογαριθµου Στο µάθηµα αυτό ϑα δούµε κάποιους αλγόριθµους για υπολογισµό διακριτών λογάριθµων. Θυµίζουµε ότι στο

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

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

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

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

Η εξίσωση του Fermat για τον εκθέτη n=3. Μία στοιχειώδης προσέγγιση

Η εξίσωση του Fermat για τον εκθέτη n=3. Μία στοιχειώδης προσέγγιση Η εξίσωση του Fermat για τον εκθέτη n=3. Μία στοιχειώδης προσέγγιση Αλέξανδρος Γ. Συγκελάκης 6 Απριλίου 2006 Περίληψη Θέµα της εργασίας αυτής, είναι η απόδειξη οτι η εξίσωση x 3 + y 3 = z 3 όπου xyz 0,

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

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

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

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

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

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

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

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

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

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

2 o Καλοκαιρινό σχολείο Μαθηµατικών Νάουσα 2008

2 o Καλοκαιρινό σχολείο Μαθηµατικών Νάουσα 2008 2 o Καλοκαιρινό σχολείο Μαθηµατικών Νάουσα 2008 Μικρό Θεώρηµα του Fermat, η συνάρτηση του Euler και Μαθηµατικοί ιαγωνισµοί Αλέξανδρος Γ. Συγκελάκης ags@math.uoc.gr Αύγουστος 2008 Αλεξανδρος Γ. Συγκελακης

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

ÏÌÉÊÑÏÍ ÖÑÏÍÔÉÓÔÇÑÉÏ ÊÏÑÄÅËÉÏ

ÏÌÉÊÑÏÍ ÖÑÏÍÔÉÓÔÇÑÉÏ ÊÏÑÄÅËÉÏ ΤΑΞΗ: 3 η ΤΑΞΗ ΕΠΑ.Λ. (Α Β ΟΜΑ Α) ΜΑΘΗΜΑ: ΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΙ ΙΚΟΤΗΤΑΣ ΘΕΜΑ Α Ηµεροµηνία: Κυριακή 4 Μαΐου 2014 ιάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν,

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

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 6 Μαΐου 2015 1 / 42 Εύρεση Ελάχιστου Μονοπατιού

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

Θεωρία Υπολογισµού Theory of Computation

Θεωρία Υπολογισµού Theory of Computation 1 ο µέρος Θεωρία Υπολογισµού Theory of Computation 1 Υπολογισιµότητα - Computability o Υπολογισιµότητα (Computability) n Τι µπορεί να υπολογιστεί και τι όχι; o Υπολογιστική πολυπλοκότητα (Computational

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

7.9 ροµολόγηση. Ερωτήσεις

7.9 ροµολόγηση. Ερωτήσεις 7.9 ροµολόγηση Ερωτήσεις 1. Να δώσετε τον ορισµό της δροµολόγησης; 2. Από τι εξαρτάται η χρονική στιγµή στην οποία λαµβάνονται οι αποφάσεις δροµολόγησης; Να αναφέρετε ποια είναι αυτή στην περίπτωση των

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

ΚΕΦΑΛΑΙΟ 5: Αλγόριθµοι

ΚΕΦΑΛΑΙΟ 5: Αλγόριθµοι ΚΕΦΑΛΑΙΟ 5: Αλγόριθµοι 5.1 Η έννοια του αλγορίθµου 5.2 Αναπαράσταση αλγορίθµων 5.3 Επινόηση αλγορίθµων 5.4 Δοµές επανάληψης 5.5 Αναδροµικές δοµές 1 Αλγόριθµος: Ορισµός Ένας αλγόριθµος είναι ένα διατεταγµένο

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

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

Επισκόπηση. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Simulation Commands Επισκόπηση Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Χρήστος Κονίνης Ορέστης Ακριβόπουλος Τρίτη, 2 Νοεµβρίου 2010 Υπολογιστικό Examples Πώς

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

2 η Σειρά Ασκήσεων Data Link Layer

2 η Σειρά Ασκήσεων Data Link Layer HY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2017-2018 Διδάσκουσα: Μαρία Παπαδοπούλη Τμήμα Επιστήμης Υπολογιστών, Πανεπιστημίου Κρήτης 2 η Σειρά Ασκήσεων Data Link Layer Άσκηση 1 Αναφέρεται τα 4 επιθυμητά

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

Επαναληπτικές Διαδικασίες

Επαναληπτικές Διαδικασίες Επαναληπτικές Διαδικασίες Οι επαναληπτικές δομές ( εντολές επανάληψης επαναληπτικά σχήματα ) χρησιμοποιούνται, όταν μια ομάδα εντολών πρέπει να εκτελείται αρκετές- πολλές φορές ανάλογα με την τιμή μιας

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