Τμήμα Πληροφορικής, Εαρινό Εξάμηνο Ακ. Έτους 2008-09

Η/Υ Ε07: Κατανεμημένα Συστήματα

Μάθημα Επιλογής  



Γενικά | Ημερολόγιο | Διαφάνειες Διαλέξεων & Άλλο Υλικό


Γενικές Πληροφορίες

Διδάσκουσα:                                       Παναγιώτα Φατούρου
Γραφείο:                                              26 (Α’ ορόφου)
Ώρες Γραφείου:                                  Δευτέρα:
15:00 – 16:00
Hλεκτρονική Διεύθυνση:                   
Τηλέφωνο:                                          (26510) 98808

Ηλεκτρονική Διεύθυνση Μαθήματος: 

Ηλεκτρονική Διεύθυνση Λίστας Μαθήματος:


Ώρες και Αίθουσες Διδασκαλίας

Δευτέρα, 10:00-13:00, στην αίθουσα Ι3.  

 

Σύνοψη Μαθήματος

 Το μάθημα θα μελετήσει τεχνικές σχεδίασης και βασικά πρωτόκολλα κατανεμημένων συστημάτων. Πιο συγκεκριμένα, θα μελετηθούν θέματα επικοινωνίας και ονομασίας σε κατανεμημένα συστήματα, διεργασίες, βασικά προβλήματα συγχρονισμού, θέματα ανοχής σε σφάλματα, και άλλα ενδιαφέροντα προβλήματα του κατανεμημένου υπολογισμού.
 

Βιβλία

·       Andrew S. Tanenbaum and Maarten van Steen, “ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ: Αρχές και Υποδείγματα”, Εκδόσεις Κλειδάριθμος, 2005.

·       Gadi Taubenfeld, Synchronization Algorithms and Concurrent Programming, Pearson / Prentice Hall, 2006.

·       H. Attiya and J. Welch, “Distributed Computing, Fundamentals, Simulations and Advanced Topics”, Mc Graw Hill, England, 1998.

·       Nancy A. Lynch, "Distributed Algorithms", Morgan Kaufmann Publishers, Inc., 1996.

Στο μάθημα θα σας μοιραστεί το 1ο από τα παραπάνω βιβλία. Το βιβλίο, οι διαφάνειες του μαθήματος μαζί με τις σημειώσεις που μπορείτε να κρατάτε κατά την παράδοση και οποιοδήποτε άλλο υλικό σας δοθεί θα σας βοηθήσουν να διεκπεραιώσετε επιτυχώς το μάθημα.

 

Πρόγραμμα

1η εβδομάδα

Εισαγωγή, Χαρακτηρισμός, Στόχοι, Ζητήματα Σχεδίασης

2η εβδομάδα

Βασικοί Αλγόριθμοι σε Κατανεμημένα Συστήματα Μεταβίβασης Μηνυμάτων

3η εβδομάδα

Βασικοί Αλγόριθμοι σε Κατανεμημένα Συστήματα Μεταβίβασης Μηνυμάτων  

4η εβδομάδα

Αλγόριθμοι Επιλογής Αρχηγού

5η εβδομάδα

Αμοιβαίος Αποκλεισμός – Βασικές έννοιες και αλγόριθμοι

6η εβδομάδα

Αμοιβαίος Αποκλεισμός  - Βασικές έννοιες και αλγόριθμοι

7η εβδομάδα

Αμοιβαίος Αποκλεισμός  - Προχωρημένα Θέματα

8η εβδομάδα

Αμοιβαίος Αποκλεισμός  - Προχωρημένα Θέματα

9η εβδομάδα

Αμοιβαίος Αποκλεισμός  - Προσαρμοστικοί αλγόριθμοι

10η εβδομάδα

Θέματα συγχρονισμού: κλειδώματα - χωρίς τη χρήση αμοιβαίου αποκλεισμού

11η εβδομάδα

Κλασικά Προβλήματα Συγχρονσιμού

12η εβδομάδα

Επίτευξη ομοφωνίας

13η εβδομάδα

Θέματα Χρονισμού

Εργασίες και Βαθμολόγηση

Κατά τη διάρκεια του εξαμήνου θα δοθούν κάποιες θεωρητικές ασκήσεις και 1 εργασία. Κάθε άσκηση ή εργασία θα πρέπει να επιστρέφεται πριν από την αναγραφόμενη ημερομηνία και ώρα. Καθυστερημένες ασκήσεις ή εργασίες γίνονται δεκτές με μείωση βαθμού 5 μονάδων (στις 100) για κάθε μέρα καθυστέρησης.

Ο τελικός βαθμός θα εξαρτηθεί τόσο από τη βαθμολογία των ασκήσεων, όσο και από την επίδοση των φοιτητών στην τελική εξέταση, ως εξής:

Σειρές Ασκήσεων: 40%

Εργασία: 60%

Παρακολούθηση

Η παρακολούθηση στις διαλέξεις αναμένεται, αλλά δεν είναι υποχρεωτική.

  

Παρατήρηση

Συνίσταται να έχετε διεκπεραιώσει με επιτυχία τα μαθήματα των «Δομών Δεδομένων», των «Σχεδίασης και Ανάλυσης Αλγορίθμων» και των «Λειτουργικών Συστημάτων».

 

E-mailing Λίστα & Λογαριασμός Μαθήματος

Για το  μάθημα θα υπάρχει e-mailing λίστα η οποία θα χρησιμοποιείται για την αποστολή e-mail σε όλους τους φοιτητές που έχουν δηλώσει το μάθημα. Οι φοιτητές θα ήταν καλό να εγγραφούν στη λίστα το αργότερο μέχρι τις 16 Μαρτίου 2009. Για να εγγραφείτε στη λίστα αρκεί να στείλετε ένα ηλεκτρονικό μήνυμα (e-mail) στη διεύθυνση 

 

με κενό θέμα και σώμα:

Text Box:  

 

 subscribe

 

Η e-mail address της λίστας είναι . Όλα τα e-mails προς αυτή τη διεύθυνση θα λαμβάνονται από όλους τους φοιτητές που έχουν εγγραφεί στη λίστα.

Για το μάθημα υπάρχει επίσης λογαριασμός με e-mail address: . Μπορείτε να στέλνετε e-mails με απορίες τόσο στον λογαριασμό όσο και στη λίστα. Τα e-mails σας θα πρέπει να απευθύνονται προς τη λίστα μόνο αν πιστεύετε πως αυτά που γράφετε ή ρωτάτε είναι χρήσιμα και ενδιαφέροντα σε όλους τους συμφοιτητές σας.


Ημερολόγιο

Δευτέρα Τρίτη Τετάρτη Πέμπτη Παρασκευή
23/2

Απουσία Διδάσκουσας
 

24/2

 

25/2

 

26/2

 

27/2

 

2/3

Αργία - Καθαρά Δευτέρα
 

3/3

 

4/3

 

5/3

 

6/3

 

9/3

Συζήτηση για το μάθημα

10/3

 

11/3

 

12/3

 

13/3

 

16/3

Εισαγωγή, Χαρακτηρισμός, Στόχοι, Ζητήματα Σχεδίασης.

Μελέτη διαφανειών και Κεφαλαίου 1, Κατανεμημένα Συστήματα, Tanenbaum

17/3

 

 

 

 

18/3

 

 

 

 

19/3

 

 

 

 

20/3

 

 

 

 

23/3

Βασικοί Αλγόριθμοι σε Κατανεμημένα Συστήματα Μεταβίβασης Μηνυμάτων

24/3

 

25/3

 

26/3

 

27/3

 

30/3

Βασικοί Αλγόριθμοι σε Κατανεμημένα Συστήματα Μεταβίβασης Μηνυμάτων

31/3

 

1/4

 

2/4

 

3/4

 

6/4

Αλγόριθμοι Εκλογής Αρχηγού

7/4

 

8/4

 

9/4

Αναπλήρωση μαθήματος 23/2

Αμοιβαίος Αποκλεισμός – Βασικές έννοιες και αλγόριθμοι

10/4

 

Διακοπές Πάσχα
Διακοπές Πάσχα
27/4

Απουσία Διδάσκουσας

28/4

 

29/4

 

30/4

 

1/5

 

4/5

Αμοιβαίος Αποκλεισμός – Βασικές έννοιες και αλγόριθμοι

5/5

 

6/5

 

7/5

Αναπλήρωση μαθήματος 2/3

Αμοιβαίος Αποκλεισμός – Βασικές έννοιες και αλγόριθμοι

8/5

 

11/5

Ατομικά Διαμοιραζόμενα Αντικείμενα

12/5

 

13/5

 

14/5

Αναπλήρωση μαθήματος 27/4

Αμοιβαίος Αποκλεισμός  - Προχωρημένα Θέματα

15/5

 

18/5

Αμοιβαίος Αποκλεισμός  - Προχωρημένα Θέματα

19/5

 

20/5

 

21/5

 

22/5

 

25/5

Επίτευξη Ομοφωνίας

26/5

 

27/5

 

28/5

Θέματα Χρονισμού σε Κατανεμημένα Συστήματα

29/5

 

1/6

Θέματα Χρονισμού σε Κατανεμημένα Συστήματα

2/6

 

3/6

 

4/6

Επανάληψη και ανακεφαλαίωση ύλης

5/6

 

8/6

 

9/6

 

10/6

 

11/6

 

12/6

 

   


Περιγραφή Project

Τα project θα είναι είτε θεωρητικά ή προγραμματιστικά. Κάθε θεωρητικό project περιλαμβάνει την κατανόηση ενός paper (ή μέρος κάποιου κεφαλαίου βιβλίου), την παρουσίαση των αποτελεσμάτων που περιγράφονται σε αυτό στην τάξη και τη συγγραφή ενός παραδοτέου. Κάθε προγραμματιστικό project περιλαμβάνει την υλοποίηση κάποιων κατανεμημένων πρωτοκόλλων σε C ή JAVA (με τη βοήθεια βιβλιοθηκών για την επίτευξη συγχρονισμού ή επικοινωνίας).


Διαφάνειες Διαλέξεων & Άλλο Υλικό

 Εργασία μαθήματος (ds-projects.pdf)
 Άσκηση 3 (ds-hw3.pdf)
 Άσκηση 2 (ds-hw2.pdf)
 Διαφάνειες 5ης ενότητητας (ds-causality.pdf)
 Διαφάνειες 4ης ενότητας (ds-consensus.pdf)

 


Σχετική βιβλιογραφία

Other Books on Distributed Systems

·       G. Coulouris, J. Dollimore and T. Kindberg, “Distributed Systems, Concepts and Design”, Addison-Wesley, 1994.

·       Α. S. Tanenbaum, “Σύγχρονα Λειτουργικά Συστήματα”, Prentice-Hall International, Κλειδάριθμος, Αθήνα.

·       Nicola Santoro, Design and Analysis of Distributed Algorithms, Wiley Series, 2008.

·       Sape Mullender, Distributed Systems, Addison-Wesley, 1993.

·       S. Dolev, Self-Stabilization, MIT Press, 2000.

·       M. Raynal, Algorithms for Mutual Exclusion, MIT Press, 1986.

·       M. Raynal, Networks and Distributed Computation: Concepts, Tools and Algorithms, MIT Press, 1988.

·       Α. Tanenbaum, Computer Networks, Prentice-Hall, Inc., 1996.

·       G. Tell, Introduction to Distributed Algorithms, Cambridge University Press, 1994.

Journals

§         Journal of the ACM

§         SIAM Journal on Computing

§         Distributed Computing

§         Information and Computation

§         IEEE Transactions on Parallel and Distributed Systems

§         Parallel and Distributed Computing Practices

§         Parallel Computing

§         Journal of Parallel and Distributed Computing

§         Distributed and Parallel Databases

§         International Journal of High Speed Computing Networks

§         International Journal of Parallel and Distributed Systems and

§         Parallel Algorithms and Applications

§         Concurrency: Practice and Experience

Proceedings publishing distributed computing papers

§         ACM Symposium on Principles of Distributed Computing (PODC)

§         International Symporium on DIStributed Computing (DISC)

§         IEEE Symposium on Foundations of Computer Science (FOCS)

§         ACM Symposium on Theory of Computing (STOC)

§         IEEE Conference on Distributed Computing Systems

§         IPPS & SPDP


Τελευταία  τροποποίηση:2/6/09
Κατασκευή και συντήρηση σελίδων:  Παναγιώτα Φατούρου