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

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

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

Transcript

1 Σύγχρονα Κατανεμημένα Συστήματα 13 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου

2 Περίληψη 1 Σύγχρονα Κατανεμημένα Συστήματα 2 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS

3 1 Σύγχρονα Κατανεμημένα Συστήματα 2 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS

4 Σύγχρονο δικτυακό σύστημα Αποτελείται από μια συλλογή υπολογιστικών στοιχείων που βρίσκονται στους κόμβους ενός δικτύου Θεωρούμε ότι τα υπολογιστικά στοιχεία είναι διεργασίες Οι διεργασίες είναι συνδεδεμένες με ένα συνεκτικό δίκτυο (υπάρχει μονοπάτι μεταξύ οποιουδήποτε ζεύγους διεργασιών) Μοντελοποιούμε το δίκτυο ως ένα κατευθυνόμενο γράφημα G = (V, E) που ορίζεται από 1 Ένα πεπερασμένο σύνολο V απο κόμβους ή κορυφές που αντιστοιχούν στις διεργασίες του συστήματος Συμβολίζουμε n = V 2 Ένα σύνολο κατευθυνόμενων πλευρών ή ακμών E που αποτελείται από διατεταγμένα ζεύγη του V (δηλαδή E V 2 ) και αντιστοιχοούν στα κανάλια επικοινωνίας του δικτύου Συμβολίζουμε m = E

5 Γειτονικοί κόμβοι Σύγχρονα Κατανεμημένα Συστήματα Μια κορυφή (ή κόμβος) v ονομάζεται εξερχόμενη γειτονική της κορυφής u όταν η (u, v) είναι μια ακμή του G (δηλαδή (u, v) E) Μια κορυφή u ονομάζεται εισερχόμενη γειτονική της κορυφής v όταν η (u, v) είναι μια ακμή του G (δηλαδή (u, v) E) Συμβολίζουμε με out_nbrs i = {j (i, j) E} όλες τις κορυφές που είναι εξερχόμενες γειτονικές της κορυφής i Συμβολίζουμε με in_nbrs i = {j (j, i) E} όλες τις κορυφές που είναι εισερχόμενες γειτονικές της κορυφής i Η 5 είναι εξερχόμενη γειτονική της 8 Η 8 είναι εισερχόμενη γειτονική της 5 out_nbrs 9 = {1, 4} in_nbrs 9 = {2, 5, 6, 8}

6 Απόσταση και διάμετρος Απόσταση dist(i, j) Είναι το μήκος του συντομότερου κατευθυνόμενου μονοπατιού από τον κόμβο i στον κόμβο j, αν υπάρχει τέτοιο μονοπάτι Διαφορετικά, dist(i, j) = Διάμετρος diam Είναι η μέγιστη απόσταση ανάμεσα σε οποιουσδήποτε δύο κόμβους του δικτύου, δηλαδή diam = max {dist(i, j)} i V,j V dist(6, 1) = 2 diam =

7 Τοπολογία δικτύου και αρχική γνώση Ένας αλγόριθμος μπορεί να σχεδιαστεί για μια συγκεκριμένη τοπολογία δακτύλιο, δένδρο, πλήρες γράφημα, Μερικές φορες μπορεί ένας αλγόριθμος να υποθέσει μια συγκεκριμένη τοπολογία λέμε οτι ο αλγόριθμος έχει αρχική γνώση Ένας αλγόριθμος που απαιτεί πολλές υποθέσεις ως προς το δίκτυο όπου εκτελείται λέγεται ασθενής Διαφορετικά λέμε ότι είναι ισχυρός (επειδή μπορεί να εκτελεστεί σε μεγαλύτερο εύρος πιθανών δικτύων)

8 Διεργασίες Σύγχρονα Κατανεμημένα Συστήματα Με κάθε κόμβο i σχετίζεται μια διεργασία που χαρακτηρίζεται από 1 Ένα σύνολο καταστάσεων states i, όπου ορισμένες είναι αρχικές καταστάσεις (υποσύνολο start i ) ορισμένες είναι καταστάσεις τερματισμού (υποσύνολο halt i ) 2 Μια γεννήτρια εξερχομένων μηνυμάτων msgs i : states i out_nbrs i M {null}, όπου M είναι το αλφάβητο των μηνυμάτων και με null δηλώνουμε την απουσία μηνύματος: δεδομένης της τρέχουσας κατάστασης, δημιουργεί το πολύ ένα μήνυμα για κάθε εξερχόμενη γειτονική διεργασία 3 Μια συνάρτηση αλλαγής κατάστασης trans i : states i (M {null}) in_nbrs i states i δεδομένης της τρέχουσας κατάστασης και των μηνυμάτων που παραλήφθηκαν, υπολογίζει την επόμενη κατάσταση της διεργασίας

9 Κανάλια επικοινωνίας Με κάθε ακμή (i, j) σχετίζεται ένα κανάλι επικοινωνίας, ή σύνδεσμος Η επικοινωνία μέσω των καναλιών γίνεται με την ανταλλαγή μηνυμάτων Υποθέτουμε ότι κάθε κανάλι επικοινωνίας μπορεί να κρατάει μόνο ένα μήνυμα τη φορά Θεωρούμε ότι υπάρχει ένα δεδομένο αλφάβητο μηνυμάτων M Το M παραμένει σταθερό Το σύμβολο null δηλώνει την απουσία μηνύματος

10 Εκτέλεση αλγορίθμου, βήματα και γύροι Όλες οι διεργασίες επαναλαμβάνουν συντονισμένα τα ακόλουθα δύο βήματα: 1ο βήμα 1 Εφαρμογή της γεννήτριας μηνυμάτων για την παραγωγή μηνυμάτων για τους εξερχόμενους γείτονες 2 Αποστολή μηνυμάτων μέσω των αντίστοιχων καναλιών 2ο βήμα 1 Εφαρμογή της συνάρτησης αλλαγής κατάστασης και τη μετάβαση στη νέα κατάσταση 2 Διαγραφή όλων των μηνυμάτων από τα κανάλια Ο συνδυασμός των δύο βημάτων ονομάζεται γύρος

11 Σύγχρονα Κατανεμημένα Συστήματα Παράδειγμα states u = {a, b, c}, M = {m 1, m 2 } (υπάρχει και το null) msgs u (a, 1) = m 1, msgs u (a, 2) = null, msgs u (a, 3) = m 2 trans u (a, (m 1, m 2, null, m 2 )) = b u

12 Παράδειγμα Σύγχρονα Κατανεμημένα Συστήματα states u = {a, b, c}, M = {m 1, m 2 } (υπάρχει και το null) msgs u (a, 1) = m 1, msgs u (a, 2) = null, msgs u (a, 3) = m u a 3 m msgs 1 null u u a 3 m 2 2

13 Παράδειγμα Σύγχρονα Κατανεμημένα Συστήματα states u = {a, b, c}, M = {m 1, m 2 } (υπάρχει και το null) trans u (a, (m 1, m 2, null, m 2 )) = b 2 3 m a null trans u u b u m 1 m

14 Εκτέλεση ενός κατανεμημένου αλγορίθμου (1) Παράδειγμα εκτέλεσης ενός σύγχρονου συστήματος: Αρχικά: όλες οι διεργασίες βρίσκονται σε κάποια αρχική κατάσταση, όλα τα κανάλια είναι άδεια Οι διεργασίες εκτελούν συντονισμένα το πρωτόκολλο Εκτέλεση σύγχρονου συστήματος oς Γύρος 1 o Βήμα 1α εφαρμογή γεν μην 1 oς Γύρος 1 o Βήμα 1α εφαρμογή γεν μην

15 Εκτέλεση ενός κατανεμημένου αλγορίθμου (1) Παράδειγμα εκτέλεσης ενός σύγχρονου συστήματος: Αρχικά: όλες οι διεργασίες βρίσκονται σε κάποια αρχική κατάσταση, όλα τα κανάλια είναι άδεια Οι διεργασίες εκτελούν συντονισμένα το πρωτόκολλο Εκτέλεση σύγχρονου συστήματος oς Γύρος 1 o Βήμα 1α εφαρμογή γεν μην 1 oς Γύρος 1 o Βήμα 1α εφαρμογή γεν μην

16 Εκτέλεση ενός κατανεμημένου αλγορίθμου (1) Παράδειγμα εκτέλεσης ενός σύγχρονου συστήματος: Αρχικά: όλες οι διεργασίες βρίσκονται σε κάποια αρχική κατάσταση, όλα τα κανάλια είναι άδεια Οι διεργασίες εκτελούν συντονισμένα το πρωτόκολλο Εκτέλεση σύγχρονου συστήματος o Βήμα 1α εφαρμογή γεν μην 1β παραγωγή μην 1 o Βήμα 1α εφαρμογή γεν μην 1β παραγωγή μην

17 Εκτέλεση ενός κατανεμημένου αλγορίθμου (1) Παράδειγμα εκτέλεσης ενός σύγχρονου συστήματος: Αρχικά: όλες οι διεργασίες βρίσκονται σε κάποια αρχική κατάσταση, όλα τα κανάλια είναι άδεια Οι διεργασίες εκτελούν συντονισμένα το πρωτόκολλο Εκτέλεση σύγχρονου συστήματος 1α εφαρμογή γεν μην 1β παραγωγή μην 1γ αποστολή μην M 1 2 M 1α εφαρμογή γεν μην 1β παραγωγή μην 1γ αποστολή μην

18 Εκτέλεση ενός κατανεμημένου αλγορίθμου (1) Παράδειγμα εκτέλεσης ενός σύγχρονου συστήματος: Αρχικά: όλες οι διεργασίες βρίσκονται σε κάποια αρχική κατάσταση, όλα τα κανάλια είναι άδεια Οι διεργασίες εκτελούν συντονισμένα το πρωτόκολλο Εκτέλεση σύγχρονου συστήματος M 1 2 1β παραγωγή μην 1γ αποστολή μην 2 o Βήμα M 1β παραγωγή μην 1γ αποστολή μην 2 o Βήμα

19 Εκτέλεση ενός κατανεμημένου αλγορίθμου (1) Παράδειγμα εκτέλεσης ενός σύγχρονου συστήματος: Αρχικά: όλες οι διεργασίες βρίσκονται σε κάποια αρχική κατάσταση, όλα τα κανάλια είναι άδεια Οι διεργασίες εκτελούν συντονισμένα το πρωτόκολλο Εκτέλεση σύγχρονου συστήματος 1γ αποστολή μην 2 o Βήμα 2α συν αλλαγής κατ 1 2 M M 1γ αποστολή μην 2 o Βήμα 2α συν αλλαγής κατ

20 Εκτέλεση ενός κατανεμημένου αλγορίθμου (1) Παράδειγμα εκτέλεσης ενός σύγχρονου συστήματος: Αρχικά: όλες οι διεργασίες βρίσκονται σε κάποια αρχική κατάσταση, όλα τα κανάλια είναι άδεια Οι διεργασίες εκτελούν συντονισμένα το πρωτόκολλο Εκτέλεση σύγχρονου συστήματος 2 o Βήμα 2α συν αλλαγής κατ 2β διαγραφή μην 1 2 M M 2 o Βήμα 2α συν αλλαγής κατ 2β διαγραφή μην

21 Εκτέλεση ενός κατανεμημένου αλγορίθμου (1) Παράδειγμα εκτέλεσης ενός σύγχρονου συστήματος: Αρχικά: όλες οι διεργασίες βρίσκονται σε κάποια αρχική κατάσταση, όλα τα κανάλια είναι άδεια Οι διεργασίες εκτελούν συντονισμένα το πρωτόκολλο Εκτέλεση σύγχρονου συστήματος 1 2 2α συν αλλαγής κατ 2β διαγραφή μην 2 oς Γύρος 2α συν αλλαγής κατ 2β διαγραφή μην 2 oς Γύρος

22 Εκτέλεση ενός κατανεμημένου αλγορίθμου (1) Παράδειγμα εκτέλεσης ενός σύγχρονου συστήματος: Αρχικά: όλες οι διεργασίες βρίσκονται σε κάποια αρχική κατάσταση, όλα τα κανάλια είναι άδεια Οι διεργασίες εκτελούν συντονισμένα το πρωτόκολλο Εκτέλεση σύγχρονου συστήματος 1 2 2β διαγραφή μην 2 oς Γύρος 1 o Βήμα 2β διαγραφή μην 2 oς Γύρος 1 o Βήμα

23 Εκτέλεση ενός κατανεμημένου αλγορίθμου (1) Παράδειγμα εκτέλεσης ενός σύγχρονου συστήματος: Αρχικά: όλες οι διεργασίες βρίσκονται σε κάποια αρχική κατάσταση, όλα τα κανάλια είναι άδεια Οι διεργασίες εκτελούν συντονισμένα το πρωτόκολλο Εκτέλεση σύγχρονου συστήματος oς Γύρος 1 o Βήμα 1α εφαρμογή γεν μην 2 oς Γύρος 1 o Βήμα 1α εφαρμογή γεν μην

24 Εκτέλεση ενός κατανεμημένου αλγορίθμου (1) Παράδειγμα εκτέλεσης ενός σύγχρονου συστήματος: Αρχικά: όλες οι διεργασίες βρίσκονται σε κάποια αρχική κατάσταση, όλα τα κανάλια είναι άδεια Οι διεργασίες εκτελούν συντονισμένα το πρωτόκολλο Εκτέλεση σύγχρονου συστήματος o Βήμα 1α εφαρμογή γεν μην 1β παραγωγή μην 1 o Βήμα 1α εφαρμογή γεν μην 1β παραγωγή μην

25 Εκτέλεση ενός κατανεμημένου αλγορίθμου (1) Παράδειγμα εκτέλεσης ενός σύγχρονου συστήματος: Αρχικά: όλες οι διεργασίες βρίσκονται σε κάποια αρχική κατάσταση, όλα τα κανάλια είναι άδεια Οι διεργασίες εκτελούν συντονισμένα το πρωτόκολλο Εκτέλεση σύγχρονου συστήματος 1α εφαρμογή γεν μην 1β παραγωγή μην 1γ αποστολή μην M 1 2 M 1α εφαρμογή γεν μην 1β παραγωγή μην 1γ αποστολή μην

26 Εκτέλεση ενός κατανεμημένου αλγορίθμου (1) Παράδειγμα εκτέλεσης ενός σύγχρονου συστήματος: Αρχικά: όλες οι διεργασίες βρίσκονται σε κάποια αρχική κατάσταση, όλα τα κανάλια είναι άδεια Οι διεργασίες εκτελούν συντονισμένα το πρωτόκολλο Εκτέλεση σύγχρονου συστήματος M 1 2 1β παραγωγή μην 1γ αποστολή μην 2 o Βήμα M 1β παραγωγή μην 1γ αποστολή μην 2 o Βήμα

27 Εκτέλεση ενός κατανεμημένου αλγορίθμου (1) Παράδειγμα εκτέλεσης ενός σύγχρονου συστήματος: Αρχικά: όλες οι διεργασίες βρίσκονται σε κάποια αρχική κατάσταση, όλα τα κανάλια είναι άδεια Οι διεργασίες εκτελούν συντονισμένα το πρωτόκολλο Εκτέλεση σύγχρονου συστήματος 1γ αποστολή μην 2 o Βήμα 2α συν αλλαγής κατ 1 2 M M 1γ αποστολή μην 2 o Βήμα 2α συν αλλαγής κατ

28 Εκτέλεση ενός κατανεμημένου αλγορίθμου (1) Παράδειγμα εκτέλεσης ενός σύγχρονου συστήματος: Αρχικά: όλες οι διεργασίες βρίσκονται σε κάποια αρχική κατάσταση, όλα τα κανάλια είναι άδεια Οι διεργασίες εκτελούν συντονισμένα το πρωτόκολλο Εκτέλεση σύγχρονου συστήματος 2 o Βήμα 2α συν αλλαγής κατ 2β διαγραφή μην 1 2 M M 2 o Βήμα 2α συν αλλαγής κατ 2β διαγραφή μην

29 Εκτέλεση ενός κατανεμημένου αλγορίθμου (1) Παράδειγμα εκτέλεσης ενός σύγχρονου συστήματος: Αρχικά: όλες οι διεργασίες βρίσκονται σε κάποια αρχική κατάσταση, όλα τα κανάλια είναι άδεια Οι διεργασίες εκτελούν συντονισμένα το πρωτόκολλο Εκτέλεση σύγχρονου συστήματος 1 2 2α συν αλλαγής κατ 2β διαγραφή μην 3 oς Γύρος 2α συν αλλαγής κατ 2β διαγραφή μην 3 oς Γύρος

30 Εκτέλεση ενός κατανεμημένου αλγορίθμου (1) Παράδειγμα εκτέλεσης ενός σύγχρονου συστήματος: Αρχικά: όλες οι διεργασίες βρίσκονται σε κάποια αρχική κατάσταση, όλα τα κανάλια είναι άδεια Οι διεργασίες εκτελούν συντονισμένα το πρωτόκολλο Εκτέλεση σύγχρονου συστήματος 1 2 2β διαγραφή μην 3 oς Γύρος 1 o Βήμα 2β διαγραφή μην 3 oς Γύρος 1 o Βήμα

31 Εκτέλεση ενός κατανεμημένου αλγoρίθμου (2) Θέλουμε να περιγράψουμε την εκτέλεση ενός κατανεμημένου αλγορίθμου Θεωρούμε μια ακολουθία μεταβάσεων της κατάστασης των διεργασιών του συστήματος που προέρχονται από την αποστολή και παραλαβή μηνυμάτων, εσωτερικές αλλαγές Έστω μια δεδομένη χρονική στιγμή/γύρος r Kάθε διεργασία u στο τέλος του r βρίσκεται σε κάποια κατάσταση από το states u O χαρακτηρισμός της κατάστασης όλων των διεργασιών καθορίζει τη συνολική κατάσταση του συστήματος C r

32 Εκτέλεση ενός κατανεμημένου αλγόριθμου (3) Στη συνέχεια, οι διεργασίες εκτελούν τον επόμενο γύρο του αλγορίθμου, δηλαδή τον r + 1 Πραγματοποιούνται ορισμένες αποστολές μηνυμάτων M r+1 Πραγματοποιούνται κάποιες παραλαβές μηνυμάτων N r+1 (ο λόγος που διαχωρίζουμε τα δύο σύνολα είναι γιατί σε περιπτώσεις ύπαρξης σφαλμάτων μπορεί τα μηνύματα που παραλαμβάνονται να είναι διαφορετικά από αυτά που στάλθηκαν, πχ να λείπουν κάποια επειδή χάθηκαν) Στο τέλος του γύρου r + 1, το σύστημα λέμε ότι βρίσκεται στην κατάσταση C r+1 Επομένως, η εκτέλεση ενός κατανεμημένου αλγορίθμου μπορεί να οριστεί ως μια άπειρη ακολουθία C 0, M 1, N 1, C 1, M 2, N 2, C 2,

33 Είσοδοι και έξοδοι Σύγχρονα Κατανεμημένα Συστήματα Σύμβαση: H είσοδος και η έξοδος του κατανεμημένου αλγορίθμου είναι κωδικοποιημένη στις καταστάσεις Η είσοδος δίνεται από μεταβλητές εισόδου στις αρχικές καταστάσεις Πολλές αρχικές καταστάσεις πολλές διαφορετικές τιμές εισόδου Ο μόνος λόγος που έχουμε πολλές αρχικές καταστάσεις είναι η δυνατότητα διαφορετικών τιμών εισόδου Η έξοδος δίνεται από μεταβλητές εξόδου Μια μεταβητή εξόδου μπορεί να γραφτεί μόνο μία φορά (write-once μεταβλητές), αλλά μπορεί να διαβαστεί όσες φορές χρειαστεί

34 Σύγχρονα Κατανεμημένα Συστήματα Ορίζουμε δύο τύπους σφαλμάτων: 1 που παρουσιάζονται κατά την αποστολή μηνυμάτων 2 που παρουσιάζονται στις υπολογιστικές μονάδες (στους επεξεργαστές) Σφάλμα επικοινωνίας: αποτυχία κατά την αποστολή ενός μηνύματος σε ένα κανάλι του δικτύου Τερματικό σφάλμα: Η διεργασία σταματάει είτε πριν, είτε μετά, είτε κατά την εκτέλεση κάποιου τμήματος του 1ου ή του 2ου βήματος ενός γύρου Επομένως, μπορεί να συμβεί ένα σφάλμα κατά την παραγωγή των μηνυμάτων, οπότε να σταλεί ένα μέρος των εξερχόμενων μηνυμάτων

35 Βυζαντινά σφάλματα Το δίκτυο περιέχει ελαττωματικές διεργασίες που δεν σταματούν αλλά συνεχίζουν να συμμετέχουν στην εκτέλεση του αλγορίθμου Η συμπεριφορά των διεργασιών μπορεί να είναι τελείως ανεξέλεγκτη Η εσωτερική κατάσταση μιας ελαττωματικής διεργασίας μπορεί να αλλάξει κατά τη διάρκεια ενός γύρου χωρίς να υπάρχει κάποιο μήνυμα Μια ελαττωματική διεργασία μπορεί να στείλει μηνύματα με οποιοδήποτε περιεχόμενο, ανεξάρτητα από τις οδηγίες του κατανεμημένου αλγορίθμου που θα έπρεπε να τρέχει Ονομάζουμε τέτοιου είδους σφάλματα Βυζαντινά σφάλματα Μπορούμε να μοντελοποιήσουμε εχθρική συμπεριφορά (πχ θέματα ασφάλειας)

36 Μέτρηση πολυπλοκότητας Επιλογή κατάλληλου σύγχρονου κατανεμημένου αλγόριθμου: Πως μπορούμε να μετρήσουμε την απόδοση; Χρησιμοποιούμε δύο μετρικές για τη μέτρηση της πολυπλοκότητας των κατανεμημένων αλγόριθμων: 1 χρόνου 2 επικοινωνίας

37 Χρονική πολυπλοκότητα Χρονική πολυπλοκότητα Η χρονική πολυπλοκότητα σε ένα σύγχρονο σύστημα ορίζεται ως το πλήθος των γύρων που απαιτούνται για να παραχθούν όλες οι ζητούμενες έξοδοι, ή μέχρι να τερματιστούν όλες οι διεργασίες (δηλ να βρεθούν σε μια τερματική κατάσταση) Σχετίζεται άμεσα με τον χρόνο εκτέλεσης Στην πράξη, ο χρόνος εκτέλεσης ενός κατανεμημένου αλγόριθμου είναι η πιο σημαντική μετρική της απόδοσης

38 επικοινωνίας (1) επικοινωνίας Η πολυπλοκότητα επικοινωνίας ενός σύγχρονου συστήματος ορίζεται ως ο συνολικός αριθμός μη μηδενικών μηνυμάτων (δηλ δεν προσμετρούνται τα null μηνύματα) που αποστέλλονται Μερικές φορές, υπολογίζεται επίσης και ο αριθμός των bits των μηνυμάτων Θέμα μελέτης όταν ο όγκος των μηνυμάτων προκαλεί συμφόρηση στο δίκτυο: επιβραδύνεται η εκτέλεση του αλγορίθμου

39 επικοινωνίας (2) Σε πραγματικές συνθήκες: Εκτελούνται ταυτόχρονα πολλοί αλγόριθμοι Μοιράζονται τα ίδια κανάλια επικοινωνίας Πόσο συνεισφέρει κάθε αλγόριθμος στη συνολική συμφόρηση του δικτύου; Δύσκολο να ποσοτικοποιήσουμε την επίδραση που έχουν τα μηνύματα οποιουδήποτε αλγόριθμου στη χρονική απόδοση άλλων αλγορίθμων Γενικότερα, προσπαθούμε να ελαχιστοποιήσουμε τον αριθμό των μηνυμάτων που παράγονται από κάθε αλγόριθμο ξεχωριστά

40 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS 1 Σύγχρονα Κατανεμημένα Συστήματα 2 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS

41 Γενικά Σύγχρονα Κατανεμημένα Συστήματα Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Πρόβλημα εκλογής αρχηγού (leader elec on) Η εκλογή αρχηγού σε ένα δίκτυο απαιτεί την επιλογή μιας μοναδικής διεργασίας που θα βρεθεί στην κατάσταση αρχηγός (ή εκλεγμένη) ενώ όλες οι άλλες διεργασίες βρίσκονται στην κατάσταση μη-αρχηγός (ή μη εκλεγμένη) Παρουσιάστηκε για πρώτη φορά από τον Le Lann (1977) Αποτυπώνει τα βασικά χαρακτηριστικά μιας μεγάλης ομάδας προβλημάτων που αντιμετωπίζουν τα πραγματικά κατανεμημένα συστήματα Παρουσιάζει πολλές παραλλαγές Για αρχή, μελετάμε το πρόβλημα σε δίκτυα δακτυλίου

42 Περισσότερα από 1 από το καθένα Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Ο πλεονασμός (redundancy) είναι μια κοινή τεχνική για την επίτευξη αξιοπιστίας (robustness) σε περίπτωση σφαλμάτων Μερικές φορές μια υπηρεσία εγκαθιστάται σε πολλαπλές μηχανές για λόγους αξιοπιστίας, όμως μόνο μια διεργασία είναι ενεργή σε κάθε χρονική στιγμή Όμως, δεν μπορούμε να καταστήσουμε έναν άνθρωπο (πχ sys admin) υπεύθυνο για την κατάσταση των κρίσιμων διεργασιών Μια αυτοματοποιημένη διαδικασία είναι απαραίτητη για να ενεργοποιεί τις πλεονάζουσες διεργασίες εξασφαλίζοντας πάντα 1 ενεργή διεργασία στο περιβάλλον παραγωγής (produc on environment)

43 Ορισμός του προβλήματος Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Ένας αλγόριθμος λύνει το πρόβλημα εκλογής αρχηγού εφόσον πληροί τις παρακάτω προδιαγραφές: Όλες οι καταστάσεις τερματισμού χωρίζονται σε δύο σύνολα: 1 καταστάσεις που αναδεικνύουν την διεργασία ως εκλεγμένη 2 καταστάσεις που θεωρούν την διεργασία ως μη εκλεγμένη Σε κάθε εκτέλεση του αλγορίθμου: μία και μόνο μία διεργασία είναι εκλεγμένη οι άλλες διεργασίες βρίσκονται σε κατάσταση μη-εκλεγμένη

44 Δίκτυα δακτυλίου Σύγχρονα Κατανεμημένα Συστήματα Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Θεωρούμε ένα σύγχρονο κατανεμημένο σύστημα από n διεργασίες Είναι τοποθετημένες σε ένα δίκτυο δακτυλίου με n κόμβους Οι διεργασίες έχουν μοναδικές ταυτότητες Δεν γνωρίζουν τις ταυτότητες των υπολοίπων διεργασιών Μπορούν να ξεχωρίσουν τον δεξιόστροφο γείτονα τους από τον αριστερόστροφο Διεργασίες σε δακτύλιο Θεωρούμε ότι οι κόμβοι είναι αριθμημένοι από το 1 έως το n με δεξιόστροφη κατεύθυνση Οι διεργασίες δεν έχουν γνώση αυτού του τρόπου αρίθμησης

45 Παραλλαγές Σύγχρονα Κατανεμημένα Συστήματα Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Το πρόβλημα της εκλογής αρχηγού παρουσιάζει πολλές παραλλαγές: Μπορεί να απαιτείται όλες οι διεργασίες που βρίσκονται σε κάποια κατάσταση μη-εκλεγμένη να ανακοινώσουν το γεγονός ότι δεν είναι αρχηγοί, πχ μεταβάλλοντας μια μεταβλητή στην τιμή μη-αρχηγός Ο δακτύλιος μπορεί να είναι είτε μονής είτε διπλής κατεύθυνσης O αριθμός n των κόμβων που εκτελούν τον αλγόριθμο μπορεί να είναι γνωστός ή άγνωστος Οι διεργασίες μπορούν να διαχωριστούν απο τις υπόλοιπες, πχ χρησιμοποιώντας κάποια μοναδική ταυτότητα (unique id, UID) ή όχι Οι ταυτότητες μπορεί να επιλέγονται απο ένα περιορισμένο σύνολο, ή από όλο το σύνολο των θετικών ακέραιων N +

46 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Aδυναμία αντιμετώπισης του προβλήματος (1) Παρατηρούμε ότι εάν οι διεργασίες δεν μπορούν να διαχωριστούν μεταξύ τους, τότε δεν μπορεί να βρεθεί κάποιος αλγόριθμος που να δίνει λύση στο πρόβλημα Θεώρημα Έστω ένα σύστημα A από n διεργασίες συνδεδεμένες μέσω ενός δικτύου δακτυλίου Αν όλες οι διεργασίες είναι πανομοιότυπες και δεν μπορούν να ξεχωρίσουν η μία την άλλη, τότε κανένας αλγόριθμος δεν μπορεί να λύσει το πρόβλημα εκλογής αρχηγού για το σύστημα A Το θεώρημα ισχύει ακόμα και όταν ο συνολικός αριθμός των διεργασιών n είναι γνωστός σε κάθε διεργασία, ή όταν το δίκτυο έχει συγκεκριμένες ιδιότητες, πχ τα κανάλια είναι μονής ή διπλής κατεύθυνσης

47 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Aδυναμία αντιμετώπισης του προβλήματος (2) Απόδειξη Χρησιμοποιούμε τη μέθοδο της απαγωγής σε άτοπο Έστω αλγόριθμος που λύνει το πρόβλημα για το A Υποθέτουμε ότι κάθε διεργασία έχει μόνο μία αρχική κατάσταση Άρα το A μπορεί να εκτελεστεί με μοναδικό τρόπο Επαγωγικά: τον γύρο r όλες οι διεργασίες θα βρίσκονται στην ίδια κατάσταση Αν κάποια διεργασία βρεθεί σε κατάσταση εκλεγμένη, τότε όλες οι άλλες διεργασίες θα έχουν βρεθεί στην ίδια κατάσταση, άρα δεν υπάρχει μία και μόνο μία διεργασία αρχηγός

48 Μοναδικές ταυτότητες Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Ο μόνος τρόπος να λύσουμε το πρόβλημα εκλογής αρχηγού είναι να σπάσουμε τη συμμετρία Υπόθεση: οι διεργασίες είναι πανομοιότυπες, με την εξαίρεση ότι έχουν ένα UID

49 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Ο Αλγόριθμος των Le Lann, Chang και Roberts Δεν γνωρίζει τον συνολικό αριθμό των διεργασιών Υποθέτει ότι οι διεργασίες μπορούν να επικοινωνήσουν μόνο προς μία κατεύθυνση (δεξιόστροφα) Βασίζεται σε απλές πράξεις σύγκρισης ταυτοτήτων Αποκεντρικοποιημένος αλγόριθμος

50 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Ο Αλγόριθμος των Le Lann, Chang και Roberts Αλγόριθμος LCR Οι διεργασίες διατηρούν μια μεταβλητή αρχηγός η οποία αρχικά είναι false Oι διεργασίες εκπέμπουν την ταυτότητα τους στο δεξιόστροφο γείτονα τους Μόλις λάβουν μία ταυτότητα απο τον αριστερόστροφο γείτονα, τη συγκρίνουν με την δικιά τους Αν είναι μεγαλύτερη, την προωθούν στον δεξιόστροφο γείτονα Αν είναι μικρότερη, δεν κάνουν τίποτα Αν είναι ίδια, μεταβαίνουν στην κατάσταση εκλεγμένη θέτοντας την μεταβλητή αρχηγός στην τιμή true

51 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Παράδειγμα εκτέλεσης αλγορίθμου LCR Έστω ένα σύγχρονο κατανεμημένο σύστημα από n = 8 διεργασίες Δίκτυο δακτυλίου Οι κόμβοι αριθμημένοι από 1 έως 8 δεξιόστροφα Διεργασίες σε δακτύλιο

52 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Παράδειγμα εκτέλεσης αλγορίθμου LCR Έστω ένα σύγχρονο κατανεμημένο σύστημα από n = 8 διεργασίες Δίκτυο δακτυλίου Οι κόμβοι αριθμημένοι από 1 έως 8 δεξιόστροφα Διεργασίες σε δακτύλιο Οι διεργασίες έχουν μοναδικές ταυτότητες Δεν γνωρίζουν την ταυτότητα των υπόλοιπων διεργασιών

53 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Παράδειγμα εκτέλεσης αλγορίθμου LCR Έστω ένα σύγχρονο κατανεμημένο σύστημα από n = 8 διεργασίες Δίκτυο δακτυλίου Οι κόμβοι αριθμημένοι από 1 έως 8 δεξιόστροφα Διεργασίες σε δακτύλιο Οι διεργασίες έχουν μοναδικές ταυτότητες Δεν γνωρίζουν την ταυτότητα των υπόλοιπων διεργασιών Πρώτος γύρος αποστολή μηνυμάτων

54 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Παράδειγμα εκτέλεσης αλγορίθμου LCR Έστω ένα σύγχρονο κατανεμημένο σύστημα από n = 8 διεργασίες Δίκτυο δακτυλίου Οι κόμβοι αριθμημένοι από 1 έως 8 δεξιόστροφα Διεργασίες σε δακτύλιο Οι διεργασίες έχουν μοναδικές ταυτότητες Δεν γνωρίζουν την ταυτότητα των υπόλοιπων διεργασιών Πρώτος γύρος αποστολή μηνυμάτων Δεύτερος γύρος

55 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Παράδειγμα εκτέλεσης αλγορίθμου LCR Έστω ένα σύγχρονο κατανεμημένο σύστημα από n = 8 διεργασίες Δίκτυο δακτυλίου Οι κόμβοι αριθμημένοι από 1 έως 8 δεξιόστροφα Διεργασίες σε δακτύλιο Οι διεργασίες έχουν μοναδικές ταυτότητες Δεν γνωρίζουν την ταυτότητα των υπόλοιπων διεργασιών Πρώτος γύρος αποστολή μηνυμάτων Δεύτερος γύρος Επόμενοι γύροι

56 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Παράδειγμα εκτέλεσης αλγορίθμου LCR Έστω ένα σύγχρονο κατανεμημένο σύστημα από n = 8 διεργασίες Δίκτυο δακτυλίου Οι κόμβοι αριθμημένοι από 1 έως 8 δεξιόστροφα Διεργασίες σε δακτύλιο Οι διεργασίες έχουν μοναδικές ταυτότητες Δεν γνωρίζουν την ταυτότητα των υπόλοιπων διεργασιών Πρώτος γύρος αποστολή μηνυμάτων Δεύτερος γύρος Επόμενοι γύροι

57 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Παράδειγμα εκτέλεσης αλγορίθμου LCR Έστω ένα σύγχρονο κατανεμημένο σύστημα από n = 8 διεργασίες Δίκτυο δακτυλίου Οι κόμβοι αριθμημένοι από 1 έως 8 δεξιόστροφα Διεργασίες σε δακτύλιο Οι διεργασίες έχουν μοναδικές ταυτότητες Δεν γνωρίζουν την ταυτότητα των υπόλοιπων διεργασιών Πρώτος γύρος αποστολή μηνυμάτων Δεύτερος γύρος Επόμενοι γύροι

58 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Παράδειγμα εκτέλεσης αλγορίθμου LCR Έστω ένα σύγχρονο κατανεμημένο σύστημα από n = 8 διεργασίες Δίκτυο δακτυλίου Οι κόμβοι αριθμημένοι από 1 έως 8 δεξιόστροφα Διεργασίες σε δακτύλιο Οι διεργασίες έχουν μοναδικές ταυτότητες Δεν γνωρίζουν την ταυτότητα των υπόλοιπων διεργασιών Πρώτος γύρος αποστολή μηνυμάτων Δεύτερος γύρος Επόμενοι γύροι

59 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Παράδειγμα εκτέλεσης αλγορίθμου LCR Έστω ένα σύγχρονο κατανεμημένο σύστημα από n = 8 διεργασίες Δίκτυο δακτυλίου Οι κόμβοι αριθμημένοι από 1 έως 8 δεξιόστροφα Διεργασίες σε δακτύλιο Οι διεργασίες έχουν μοναδικές ταυτότητες Δεν γνωρίζουν την ταυτότητα των υπόλοιπων διεργασιών Πρώτος γύρος αποστολή μηνυμάτων Δεύτερος γύρος Επόμενοι γύροι

60 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Παράδειγμα εκτέλεσης αλγορίθμου LCR Έστω ένα σύγχρονο κατανεμημένο σύστημα από n = 8 διεργασίες Δίκτυο δακτυλίου Οι κόμβοι αριθμημένοι από 1 έως 8 δεξιόστροφα Διεργασίες σε δακτύλιο Οι διεργασίες έχουν μοναδικές ταυτότητες Δεν γνωρίζουν την ταυτότητα των υπόλοιπων διεργασιών Πρώτος γύρος αποστολή μηνυμάτων Δεύτερος γύρος Επόμενοι γύροι Εκλογή αρχηγού διεργασία 2

61 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Χαρακτηριστικά του Αλγόριθμου LCR Έστω n διεργασίες, όπου η διεργασία με τη μεγαλύτερη ταυτότητα είναι η i max Η διεργασία i max εκλέγεται αρχηγός στο τέλος του γύρου n Καμμία διεργασία εκτός της i max δεν είναι σε κατάσταση εκλεγμένη Η χρονική πολυπλοκότητα είναι O(n) Η πολυπλοκότητα επικοινωνίας είναι O(n 2 )

62 Απόδειξη Ορθότητας (1) Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Η αρίθμηση των διεργασιών είναι modulo n Το μήνυμα που στέλνει η διεργασία i αναφέρεται ως send i Λήμμα Η διεργασία i max εκλέγεται αρχηγός στο τέλος του γύρου n Απόδειξη Μετά απο r γύρους, το send imax +r είναι η ταυτότητα του i max Για r = 0 ισχύει, εφόσον send imax = i max Επαγωγικά, στο τέλος του γύρου r, η διεργασία i max + r λαμβάνει την ταυτότητα του i max και στέλνει send imax +r = i max Άρα στο γύρο n η διεργασία i max 1 θα στείλει στην i max την ταυτότητα της i max οπότε η i max θα θέσει την μεταβλητή αρχηγός στην τιμή true

63 Απόδειξη Ορθότητας (2) Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Λήμμα Καμμία διεργασία πλην της i max δεν εκλέγεται αρχηγός Απόδειξη Για κάθε διεργασία i σε οποιοδήποτε γύρο r οι διεργασίες i max, i max+1,, i 1, i δεν θα στείλουν την ταυτότητα της i Άρα η i δεν θα λάβει ποτέ την ταυτότητα της επομένως δεν θα θέσει ποτέ την μεταβλητή αρχηγός στην τιμή true Θεώρημα Ο αλγόριθμος LCR λύνει το πρόβλημα της εκλογής αρχηγού σε σύγχρονα δίκτυα δακτυλίου

64 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Ο Αλγόριθμος των Hirschberg και Sinclair (HS) Βελτιώνει την πολυπλοκότητα επικοινωνίας σε O(n log n) διατηρώντας τον χρόνο O(n) Δεν γνωρίζει τον συνολικό αριθμό των διεργασιών Υποθέτει επικοινωνία διπλής κατεύθυνσης Βασίζεται σε απλές πράξεις σύγκρισης ταυτοτήτων Όπως και ο LCR εκλέγει τη διεργασία με το μεγαλύτερο UID

65 Αλγόριθμος HS (άτυπη περιγραφή) Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Ο υπολογισμός χωρίζεται σε φάσεις l = 0, 1, Σε κάθε φάση l, κάθε awake διεργασία i στέλνει σκυτάλες που περιλαμβάνουν το UID της, u i, και προς τις δύο κατευθύνσεις Κάθε σκυτάλη προσπαθεί να ταξιδέψει απόσταση 2 l και έπειτα να επιστρέψει στην i Αν και οι δύο σκυτάλες της i επιστρέψουν, τότε η i συνεχίζει στην επόμενη φάση (παραμένει awake), αλλιώς σταματάει να παράγει σκυτάλες (συνεχίζει όμως να προωθεί σκυτάλες άλλων διεργασιών) Μία σκυτάλη της i χάνεται αν καθώς απομακρύνεται από την i συναντήσει διεργασία της οποίας το UID είναι μεγαλύτερο από το δικό της

66 Αλγόριθμος HS (άτυπη περιγραφή) Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Αν μία σκυτάλη της i, καθώς απομακρύνεται από την i, συναντήσει την i, τότε έχει διαγράψει μια πλήρη περιστροφή και η i εκλέγεται αρχηγός Οι σκυτάλες που ταξιδεύουν προς τα μέσα (δηλ κατά την επιστροφή τους) προωθούνται από όλες τις διεργασίες χωρίς έλεγχο Για να ξέρουν πόσο πρέπει να ταξιδέψουν οι σκυτάλες, η i τους συμπεριλαμβάνει έναν μετρητή απόστασης (hop-count)

67 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Αλγόριθμος HS: Ανάλυση πολυπλοκότητας επικοινωνίας Θεώρημα Η πολυπλοκότητα επικοινωνίας του αλγορίθμου HS είναι O(n log n) Απόδειξη Στη φάση 0, και οι n διεργασίες στέλνουν δύο σκυτάλες για ένα βήμα προς τα έξω και ένα προς τα μέσα (απόσταση 2 0 ) δηλαδή 4 βήματα, άρα συνολικά 4n μηνύματα Στη φάση l > 0, η i στέλνει σκυτάλη μόνο εάν είχε παραλάβει και τις δύο σκυτάλες της στη φάση l 1 Στη φάση l 1, παρατηρούμε ότι η i στέλνει σκυτάλη σε απόσταση 2 l 1 και λαμβάνει σκυτάλη από όλες τις διεργασίες που είναι ακόμα awake σε αυτό το υποδιάστημα του δακτυλίου Επομένως, σε κάθε υποδιάστημα μήκους 2 l κόμβων, όλες οι awake διεργασίες θα ανταλλάξουν μεταξύ τους σκυτάλες

68 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Αλγόριθμος HS: Ανάλυση πολυπλοκότητας επικοινωνίας Απόδειξη Παρατηρούμε ότι μεταξύ αυτών υπάρχει ένα μοναδικό μέγιστο UID (σε κάθε διάστημα υπάρχει ένα μέγιστο) επομένως το πολύ μία από αυτές τις διεργασίες θα παραμείνει awake στην επόμενη φάση Επομένως, αν χωρίσουμε τον δακτύλιο αυθαίρετα σε διαστήματα μήκους 2 l 1 n + 1, παίρνουμε διαστήματα (ένα από αυτά 2 l 1 +1 μπορεί να έχει μικρότερο μήκος) και απ το καθένα περνάει το πολύ μία διεργασία στη φάση l Άρα, το πολύ n 2 l 1 +1 διεργασίες στέλνουν σκυτάλες στη φάση l Κάθε τέτοια σκυτάλη θα ταξιδέψει απόσταση 2 l προς τα έξω, επί 2 για να επιστρέψει, επί 2 γιατί κάθε διεργασία στέλνει δύο σκυτάλες, επί # awake κόμβων Άρα, το πλήθος των μηνυμάτων στη φάση l είναι 4 2 l n 2 l = 8 2l 1 n 2 l 1 + 1

69 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Αλγόριθμος HS: Ανάλυση πολυπλοκότητας επικοινωνίας Απόδειξη 4 2 l n 2 l = 8 n 2l 1 2 l ( n ) < 8 2 l 1 2 l = 8(n + 2 l 1 ) 8(n + 2 log n 1 ) < 8(n + 2 log n ) = 16n Η προτελευταία ανισότητα προκύπτει επειδή l log n Αυτό ισχύει διότι όταν l = log n τότε η σκυτάλη της i max θα ταξιδέψει 2 log n n βήματα και άρα θα συναντήσει την i max και ο αλγόριθμος θα τερματίσει Αν λάβουμε υπόψη και τη φάση 0, ο συνολικός αριθμός των φάσεων είναι 1 + log n

70 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Αλγόριθμος HS: Ανάλυση πολυπλοκότητας επικοινωνίας Απόδειξη Άρα ο συνολικός αριθμός μηνυμάτων είναι 1 + log n φάσεις επί 16n μηνύματα σε κάθε φάση = O(n log n)

71 Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Αλγόριθμος HS: Ανάλυση χρονικής πολυπλοκότητας Θεώρημα Η χρονική πολυπλοκότητα του αλγορίθμου HS είναι O(n) Απόδειξη Η φάση l παίρνει χρόνο 2 2 l = 2 l+1, γιατί τα tokens ταξιδεύουν απόσταση 2 l με επιστροφή Η προτελευταία φάση είναι η l = log n 1 και παίρνει χρόνο μεγαλύτερο από όλες οι προηγούμενες φάσεις μαζί, επειδή ισχύει ότι, x 1, 2 x > x 1 i=0 2i (απόδειξη με επαγωγή) Επομένως, όλες οι φάσεις μέχρι και την προτελευταία παίρνουν μαζί χρόνο μικρότερο από 2 2 log n Η τελευταία φάση παίρνει χρόνο n Άρα ο συνολικός χρόνος είναι < 2 2 log n + n δηλαδή O(n)

72 Περαιτέρω βελτιώσεις Το πρόβλημα εκλογής αρχηγού Ο αλγόριθμος LCR Ο αλγόριθμος HS Αν η μόνη πράξη που επιτρέπεται να εφαρμόσουν οι διεργασίες πάνω στα UIDs είναι η σύγκριση, τότε είναι αδύνατον να κατασκευάσουμε αλγόριθμο που να επιτυγχάνει πολυπλοκότητα επικοινωνίας ασυμπτωτικά καλύτερη από n log n Σε αυτή την περίπτωση λέμε ότι υπάρχει κάτω φράγμα Ω(n log n) στην πολυπλοκότητα μηνυμάτων Αν επιτρέψουμε πιο σύνθετο χειρισμό των UIDs (πχ αν επιτρέψουμε γενικές αριθμητικές πράξεις) τότε το παραπάνω κάτω φράγμα παύει να ισχύει και μπορούμε να κατασκευάσουμε αλγορίθμους που επιτυγχάνουν πολυπλοκότητα μηνυμάτων O(n)

73 Σύγχρονα Κατανεμημένα Συστήματα Σύνοψη μαθήματος Σύγχρονα Κατανεμημένα Συστήματα Μοντελοποίηση συστήματος Πρόβλημα εκλογής αρχηγού σε δίκτυα δακτυλίου Αλγόριθμος των Le Lann, Chang και Roberts Αλγόριθμος των Hirschberg και Sinclair

74 Βιβλιογραφία Σύγχρονα Κατανεμημένα Συστήματα Σημειώσεις του μαθήματος Βιβλίο Distributed Algorithms (NLynch) 1 Κεφάλαιο 2: Modelling I: Synchronous Network Model 2 Κεφάλαιο 3: Leader Elec on in a Synchronous Ring Ενότητες 31 έως και 35 Βιβλίο Κατανεμημένα Συστήματα με Java (ΙΚ Κάβουρας, ΙΖ Μήλης, ΓΒ Ξυλωμένος, ΑΑ Ρουκουνάκη) 1 Κεφάλαιο 6: Εκλογή Αρχηγού

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κατανεμημένα Συστήματα Ι Ασύγχρονα Κατανεμημένα Συστήματα Κατανεμημένα Συστήματα Ι 6η Διάλεξη 24 Νοεμβρίου 2016 Παναγιώτα Παναγοπούλου Κατανεμημένα Συστήματα Ι 6η Διάλεξη 1 Ασύγχρονα Κατανεμημένα Συστήματα Περίληψη 1 Ασύγχρονα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Παναγιώτα Παναγοπούλου Χριστίνα Σπυροπούλου 8η Διάλεξη 8 Δεκεμβρίου 2016 1 Ασύγχρονη κατασκευή BFS δέντρου Στα σύγχρονα συστήματα ο αλγόριθμος της πλημμύρας είναι ένας απλός αλλά

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες Κατευθυνόμενο γράφημα Συνάρτηση χωρητικότητας 12 16 2 Ροή δικτύου Συνάρτηση αφετηρίακός κόμβος 13 1 με τις ακόλουθες ιδιότητες 4 14 9 7 4 τερματικός κόμβος Περιορισμός χωρητικότητας: Αντισυμμετρία: Διατήρηση

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

Θεωρία Γραφημάτων 6η Διάλεξη

Θεωρία Γραφημάτων 6η Διάλεξη Θεωρία Γραφημάτων 6η Διάλεξη Α. Συμβώνης Εθνικο Μετσοβειο Πολυτεχνειο Σχολη Εφαρμοσμενων Μαθηματικων και Φυσικων Επιστημων Τομεασ Μαθηματικων Φεβρουάριος 2016 Α. Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 6η Διάλεξη

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Δυναμικός προγραμματισμός για δέντρα

Δυναμικός προγραμματισμός για δέντρα ΘΕ5 Ιδιότητες Δέντρων και Αναδρομή για Δέντρα Δυναμικός προγραμματισμός για δέντρα Έστω ότι, για k=1,..., m, το γράφημα Γ k = (V k, E k ) είναι δέντρο. Έστω w V 1... V m, z k V k, για k=1,..., m. Συμβολίζουμε

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

Θεωρία Γραφημάτων 5η Διάλεξη

Θεωρία Γραφημάτων 5η Διάλεξη Θεωρία Γραφημάτων 5η Διάλεξη Α. Συμβώνης Εθνικο Μετσοβειο Πολυτεχνειο Σχολη Εφαρμοσμενων Μαθηματικων και Φυσικων Επιστημων Τομεασ Μαθηματικων Φεβρουάριος 2016 Α. Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 5η Διάλεξη

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

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

ΣΥΝΕΚΤΙΚΟΤΗΤΑ ΓΡΑΦΗΜΑΤΩΝ Συνεκτικότητα Γραφημάτων 123 ΚΕΦΑΛΑΙΟ 4 ΣΥΝΕΚΤΙΚΟΤΗΤΑ ΓΡΑΦΗΜΑΤΩΝ 4.1 Τοπική και Ολική Συνεκτικότητα Γραφημάτων 4.2 Συνεκτικότητα Μη-κατευθυνόμενων Γραφημάτων 4.3 Συνεκτικότητα Κατευθυνόμενων Γραφημάτων

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

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

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

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

Θεωρία Γραφημάτων 5η Διάλεξη

Θεωρία Γραφημάτων 5η Διάλεξη Θεωρία Γραφημάτων 5η Διάλεξη Α. Συμβώνης Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Τομέας Μαθηματικών Φεβρουάριος 2017 Α. Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 5η Διάλεξη

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σειρά Προβλημάτων 1 Λύσεις ΕΠΛ2: Θεωρία Υπολογισμού και Πολυπλοκότητα Σειρά Προβλημάτων Λύσεις Άσκηση Να βρείτε το σφάλμα στην πιο κάτω απόδειξη. Ισχυρισμός: Όλα τα βιβλία που έχουν γραφτεί στη Θεωρία Υπολογισμού έχουν τον ίδιο

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

Κεφάλαιο 11 Ένωση Ξένων Συνόλων

Κεφάλαιο 11 Ένωση Ξένων Συνόλων Κεφάλαιο 11 Ένωση Ξένων Συνόλων Περιεχόμενα 11.1 Εισαγωγή... 227 11.2 Εφαρμογή στο Πρόβλημα της Συνεκτικότητας... 228 11.3 Δομή Ξένων Συνόλων με Συνδεδεμένες Λίστες... 229 11.4 Δομή Ξένων Συνόλων με Ανοδικά

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

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες Κατευθυνόμενο γράφημα Συνάρτηση χωρητικότητας 2 6 20 Ροή δικτύου Συνάρτηση αφετηρίακός κόμβος 0 με τις ακόλουθες ιδιότητες 9 7 τερματικός κόμβος Περιορισμός χωρητικότητας: Αντισυμμετρία: Διατήρηση ροής:

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

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

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

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

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

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

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

Διάλεξη 4: Απόδειξη: Για την κατεύθυνση, παρατηρούμε ότι διαγράφοντας μια κορυφή δεν μπορούμε να διαχωρίσουμε τα u και v. Αποδεικνύουμε

Διάλεξη 4: Απόδειξη: Για την κατεύθυνση, παρατηρούμε ότι διαγράφοντας μια κορυφή δεν μπορούμε να διαχωρίσουμε τα u και v. Αποδεικνύουμε Διάλεξη 4: 20.10.2016 Θεωρία Γραφημάτων Γραφέας: Σ. Κ. Διδάσκων: Σταύρος Κολλιόπουλος 4.1 2-συνεκτικά γραφήματα (συνέχεια) Πρόταση 4.1 Δύο μπλοκ ενός γραφήματος G μοιράζονται το πολύ μία κορυφή. Απόδειξη:

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

num(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k ))

num(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k )) Υπολογισμοί με Μ.Τ. Εστω M = (K, Σ, δ, s, {y, n}) μια Μ.Τ. Κάθε συνολική κατάσταση τερματισμού της οποίας η κατάσταση τερματισμού είναι το y, θα ονομάζεται συνολική κατάσταση αποδοχής, ενώ αν η κατάσταση

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 2: Μαθηματικό Υπόβαθρο

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 2: Μαθηματικό Υπόβαθρο ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 2: Μαθηματικό Υπόβαθρο Τι θα κάνουμε σήμερα Συναρτήσεις & Σχέσεις (0.2.3) Γράφοι (Γραφήματα) (0.2.4) Λέξεις και Γλώσσες (0.2.5) Αποδείξεις (0.3) 1

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

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

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

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

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

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

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

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

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

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

Διάλεξη 4: Θεωρία Γραφημάτων Γραφέας: Σ. Κ. Διδάσκων: Σταύρος Κολλιόπουλος συνεκτικά γραφήματα (συνέχεια) Πρόταση 4.1 Δύο μπλοκ ενός

Διάλεξη 4: Θεωρία Γραφημάτων Γραφέας: Σ. Κ. Διδάσκων: Σταύρος Κολλιόπουλος συνεκτικά γραφήματα (συνέχεια) Πρόταση 4.1 Δύο μπλοκ ενός Διάλεξη 4: 20.10.2016 Θεωρία Γραφημάτων Γραφέας: Σ. Κ. Διδάσκων: Σταύρος Κολλιόπουλος 4.1 2-συνεκτικά γραφήματα (συνέχεια) Πρόταση 4.1 Δύο μπλοκ ενός γραφήματος G μοιράζονται το πολύ μία κορυφή. Απόδειξη:

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

Αλγόριθμοι για αυτόματα

Αλγόριθμοι για αυτόματα Κεφάλαιο 8 Αλγόριθμοι για αυτόματα Κύρια βιβλιογραφική αναφορά για αυτό το Κεφάλαιο είναι η Hopcroft, Motwani, and Ullman 2007. 8.1 Πότε ένα DFA αναγνωρίζει κενή ή άπειρη γλώσσα Δοθέντος ενός DFA M καλούμαστε

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

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

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

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

Μη κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Υπογραφήµατα.

Μη κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Υπογραφήµατα. Κατευθυνόµενα γραφήµατα Απλό κατευθυνόµενο Γράφηµα G είναι διατεταγµένο Ϲεύγος (V, E), µε: Στοιχεία Θεωρίας Γραφηµάτων (1) σύνολο κορυφών / κόµβων V, Ορέστης Τελέλης tllis@unipi.r Τµήµα Ψηφιακών Συστηµάτων,

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

ΑΣΚΗΣΗ 1 Για τις ερωτήσεις 1-4 θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι;

ΑΣΚΗΣΗ 1 Για τις ερωτήσεις 1-4 θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι; ΘΕΜΑΤΑ ΔΕΝΔΡΩΝ ΓΙΑ ΤΙΣ ΕΞΕΤΑΣΕΙΣ ΠΛΗ0 ΑΣΚΗΣΗ Για τις ερωτήσεις - θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι; Β Ε Α 6 Δ 5 9 8 0 Γ 7 Ζ Η. Σ/Λ Δυο από τα συνδετικά

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Σύνολα Συναρτήσεις και Σχέσεις Γραφήματα Λέξεις και Γλώσσες Αποδείξεις ΕΠΛ 211 Θεωρία

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

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

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

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 6 η Βρόχοι Επανάληψης Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή

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

Τίτλος Μαθήματος: Θεωρία Γραφημάτων. Ενότητα: Συνεκτικότητα και Δισυνεκτικότητα. Διδάσκων: Λέκτορας Xάρης Παπαδόπουλος. Τμήμα: Μαθηματικών

Τίτλος Μαθήματος: Θεωρία Γραφημάτων. Ενότητα: Συνεκτικότητα και Δισυνεκτικότητα. Διδάσκων: Λέκτορας Xάρης Παπαδόπουλος. Τμήμα: Μαθηματικών Τίτλος Μαθήματος: Θεωρία Γραφημάτων Ενότητα: Συνεκτικότητα και Δισυνεκτικότητα Διδάσκων: Λέκτορας Xάρης Παπαδόπουλος Τμήμα: Μαθηματικών Θεωρία Γραφημάτων Χάρης Παπαδόπουλος 2012, Διάλεξη Κεφαλαίου 2 Περιεχόμενα

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

u v 4 w G 2 G 1 u v w x y z 4

u v 4 w G 2 G 1 u v w x y z 4 Διάλεξη :.0.06 Θεωρία Γραφημάτων Γραφέας: Σ. Κ. Διδάσκων: Σταύρος Κολλιόπουλος. Εισαγωγικοί ορισμοί Ορισμός. Γράφημα G καλείται ένα ζεύγος G = (V, E) όπου V είναι το σύνολο των κορυφών (ή κόμβων) και E

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

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός Κατευθυνόμενα γραφήματα Μαθηματικά Πληροφορικής 6ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Κατευθυνόμενο γράφημα G είναι ένα ζεύγος (V, E ) όπου V πεπερασμένο σύνολο του οποίου

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

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { Μ η Μ είναι μια ΤΜ η οποία διαγιγνώσκει το πρόβλημα ΙΣΟΔΥΝΑΜΙΑ ΤΜ (διαφάνεια 9 25)} (α) Γνωρίζουμε ότι το

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

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

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

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

Λύσεις Παλιών Θεµάτων. Συστήµατα Παράλληλης Επεξεργασίας, 9ο εξάµηνο Υπεύθ. Καθ. Νεκτάριος Κοζύρης

Λύσεις Παλιών Θεµάτων. Συστήµατα Παράλληλης Επεξεργασίας, 9ο εξάµηνο Υπεύθ. Καθ. Νεκτάριος Κοζύρης Λύσεις Παλιών Θεµάτων Συστήµατα Παράλληλης Επεξεργασίας, 9ο εξάµηνο Υπεύθ. Καθ. Νεκτάριος Κοζύρης Θέµα Φεβρουάριος 2003 1) Έστω ένας υπερκύβος n-διαστάσεων. i. Να βρεθεί ο αριθµός των διαφορετικών τρόπων

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

Θεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος

Θεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος Περιγραφή μαθήματος Θεωρία Υπολογισμού Άρτιοι ΑΜ Σκοπός του μαθήματος είναι η εισαγωγή στη Θεωρία Υπολογισμού και στη Θεωρία Υπολογιστικής Πολυπλοκότητας (Θεωρία Αλγορίθμων). Διδάσκων: Σταύρος Κολλιόπουλος

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

Θεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr

Θεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr Θεωρία Υπολογισμού Άρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr Περιγραφή μαθήματος Σκοπός του μαθήματος είναι η εισαγωγή στη Θεωρία Υπολογισμού και στη Θεωρία Υπολογιστικής Πολυπλοκότητας

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

f(t) = (1 t)a + tb. f(n) =

f(t) = (1 t)a + tb. f(n) = Παράρτημα Αʹ Αριθμήσιμα και υπεραριθμήσιμα σύνολα Αʹ1 Ισοπληθικά σύνολα Ορισμός Αʹ11 (ισοπληθικότητα) Εστω A, B δύο μη κενά σύνολα Τα A, B λέγονται ισοπληθικά αν υπάρχει μια συνάρτηση f : A B, η οποία

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

Θεωρία Γραφημάτων 4η Διάλεξη

Θεωρία Γραφημάτων 4η Διάλεξη Θεωρία Γραφημάτων 4η Διάλεξη Α. Συμβώνης Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Τομέας Μαθηματικών Φεβρουάριος 2017 Α. Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 4η Διάλεξη

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

Chapter 7, 8 : Time, Space Complexity

Chapter 7, 8 : Time, Space Complexity CSC 314: Switching Theory Chapter 7, 8 : Time, Space Complexity 12 December 2008 1 1 Υπολογίσιμα και Εφικτά Υπολογίσιμα Προβλήματα Είδαμε ότι 1. Οτιδήποτεμπορούμεναπεριγράψουμεμεένααλγόριθμο μπορεί να

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

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

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1)

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1) Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες () Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Πεπερασμένα Αυτόματα (Κεφάλαιο., Sipser) Ορισμός πεπερασμένων αυτομάτων και ορισμός του

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

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός Κατευθυνόμενα γραφήματα Μαθηματικά Πληροφορικής 6ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Κατευθυνόμενο γράφημα G είναι ένα ζεύγος (V, E ) όπου V πεπερασμένο σύνολο του οποίου

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

f x 0 για κάθε x και f 1

f x 0 για κάθε x και f 1 06 4.2 Το Λήμμα του Uysoh το Λήμμα της εμφύτευσης και το θεώρημα μετρικοποίησης του Uysoh. Ο κύριος στόχος αυτής της παραγράφου είναι η απόδειξη ενός θεμελιώδους αποτελέσματος γνωστού ως το Λήμμα του Uysoh.

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 24: Μη Ντεντερμινιστικές Μηχανές Turing Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως

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

Γνωστό: P (M) = 2 M = τρόποι επιλογής υποσυνόλου του M. Π.χ. M = {A, B, C} π. 1. Π.χ.

Γνωστό: P (M) = 2 M = τρόποι επιλογής υποσυνόλου του M. Π.χ. M = {A, B, C} π. 1. Π.χ. Παραδείγματα Απαρίθμησης Γνωστό: P (M 2 M τρόποι επιλογής υποσυνόλου του M Τεχνικές Απαρίθμησης Πχ M {A, B, C} P (M 2 3 8 #(Υποσυνόλων με 2 στοιχεία ( 3 2 3 #(Διατεταγμένων υποσυνόλων με 2 στοιχεία 3 2

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

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

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

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

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

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

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 21: Υπολογισμοί ΜΤ - Αναδρομικές Γλώσσες Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως

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

Κατανεµηµένα Συστήµατα Ένα κατανεµηµένο σύστηµα είναι µια συλλογή από αυτόνοµες διεργασίες οι οποίες έχουν τη δυνατότητα να επικοινωνούν µεταξύ τους.

Κατανεµηµένα Συστήµατα Ένα κατανεµηµένο σύστηµα είναι µια συλλογή από αυτόνοµες διεργασίες οι οποίες έχουν τη δυνατότητα να επικοινωνούν µεταξύ τους. Εισαγωγή Μοντέλο Βασικοί Αλγόριθµοι Γράφων Παναγιώτα Φατούρου Κατανεµηµένος Υπολογισµός 1 Κατανεµηµένα Συστήµατα Ένα κατανεµηµένο σύστηµα είναι µια συλλογή από αυτόνοµες διεργασίες οι οποίες έχουν τη δυνατότητα

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

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

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

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

Το πρόβλημα μονοδρόμησης (The One-Way Street Problem)

Το πρόβλημα μονοδρόμησης (The One-Way Street Problem) Το πρόβλημα μονοδρόμησης (The One-Way Street Problem) Το πρόβλημα Σχετίζεται με τη διαχείριση της κίνησης οχημάτων στους δρόμους Αν δεν υπήρχαν καθυστερήσεις στην κίνηση στις πόλεις Αποφυγή σπατάλης ενέργειας

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

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) ({ G η G είναι μια ασυμφραστική γραμματική που δεν παράγει καμιά λέξη με μήκος μικρότερο του 2 } (β) { Μ,w

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

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 9 Απριλίου 2009 1 / 0 Παραδείγµατα γράφων

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

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόγχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόγχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός Κατευθυνόμενα γραφήματα Μαθηματικά Πληροφορικής 6ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Κατευθυνόμενο γράφημα G είναι ένα ζεύγος (V, E ) όπου V πεπερασμένο σύνολο του οποίου

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

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

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

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

for for for for( . */

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

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

E(G) 2(k 1) = 2k 3.

E(G) 2(k 1) = 2k 3. Διάλεξη :..06 Θεωρία Γραφημάτων Διδάσκων: Σταύρος Κολλιόπουλος Γραφέας: Τζαλάκας Ανδρέας & Σ.Κ.. Εξωεπίπεδα γραφήματα (συνέχεια) Ορισμός. Εστω γράφημα G = (V, E) και S V. S-λοβός (S-lobe) ενάγεται από

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

Τυχαιοκρατικοί Αλγόριθμοι

Τυχαιοκρατικοί Αλγόριθμοι Πιθανότητες και Αλγόριθμοι Ανάλυση μέσης περίπτωσης Μελέτα τη συμπεριφορά ενός αλγορίθμου σε μια «μέση» είσοδο (ως προς κάποια κατανομή) Τυχαιοκρατικός αλγόριθμος Λαμβάνει τυχαίες αποφάσεις καθώς επεξεργάζεται

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

HY118-Διακριτά Μαθηματικά. Τι είδαμε την προηγούμενη φορά. Θεωρία γράφων / γραφήματα. 25 -Γράφοι. ΗΥ118, Διακριτά Μαθηματικά Άνοιξη 2017

HY118-Διακριτά Μαθηματικά. Τι είδαμε την προηγούμενη φορά. Θεωρία γράφων / γραφήματα. 25 -Γράφοι. ΗΥ118, Διακριτά Μαθηματικά Άνοιξη 2017 HY118-Διακριτά Μαθηματικά Τι είδαμε την προηγούμενη φορά Παρασκευή, 12/05/2017 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr Υπογράφημα Συμπληρωματικά γραφήματα Ισομορφισμός γράφων Υπολογιστική πολυπλοκότητα

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

Προβλήµατα. 1st International Olympiad in Informatics Held in Pravetz, Bulgaria May 16-19, 1989.

Προβλήµατα. 1st International Olympiad in Informatics Held in Pravetz, Bulgaria May 16-19, 1989. 1989-1 η ιεθνής Ολυµπιάδα Πληροφορικής Προβλήµατα 1st International Olympiad in Informatics Held in Pravetz, Bulgaria May 16-19, 1989. Έξι Προβλήµατα Παρουσιάστηκαν στη διενέργεια της ΙΟΙ 89 ***PROBLEM

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

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX ΚΕΦΑΛΑΙΟ 3 ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX 3.1 Εισαγωγή Ο αλγόριθμος Simplex θεωρείται πλέον ως ένας κλασικός αλγόριθμος για την επίλυση γραμμικών προβλημάτων. Η πρακτική αποτελεσματικότητά του έχει

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

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

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

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

2 ) d i = 2e 28, i=1. a b c

2 ) d i = 2e 28, i=1. a b c ΑΣΚΗΣΕΙΣ ΘΕΩΡΙΑΣ ΓΡΑΦΩΝ (1) Εστω G απλός γράφος, που έχει 9 κορυφές και άθροισμα βαθμών κορυφών μεγαλύτερο του 7. Αποδείξτε ότι υπάρχει μια κορυφή του G με βαθμό μεγαλύτερο ή ίσο του 4. () Αποδείξτε ότι

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