Τμήμα
Πληροφορικής,
Άνοιξη 2001
Η/Υ Ε07: Κατανεμημένα Συστήματα
Μάθημα
Επιλογής
Εξέταση Projects
Η εξέταση των projects θα γίνει τις μέρες Τρίτη, 18/6, Πέμπτη, 20/6 και Παρασκευή, 21/6 στο εργαστήριο unix του πρώτου ορόφου (ή στο γραφείο μου). Η εξέταση των projects είναι υποχρεωτική και θα πρέπει όλοι όσοι τα έχετε παραδώσει να έρθετε στην προφορική εξέταση. Όσοι φοιτητές δεν μπορέσουν να έρθουν θα πρέπει να με ενημερώσουν πριν την εξέταση, διαφορετικά τα projects τους θα μηδενιστούν. Οι φοιτητές που έχουν παραδώσει και θέλουν να εξεταστούν θα πρέπει να δηλώσουν την ώρα της προτίμησής τους σε έναν από τους πίνακες που έχουν αναρτηθεί έξω από το γραφείο μου.
Η εξέταση του φοιτητή Τσόλκα Χρήστου
στο 2ο project
θα ήθελα να γίνει την Πέμπτη, 20/6 και ώρα είτε
12:00-12:30 ή 13:00-13:30. Αν καμία από τις ώρες αυτές
δεν είναι βολική για το φοιτητή θα πρέπει να
με ενημερώσει ως τη Δευτέρα,
17/6.
Γενικά | Ανακοινώσεις | Ημερολόγιο | Διαφάνειες Διαλέξεων & Άλλο Υλικό
Διδάσκουσα:
Παναγιώτα Φατούρου
Γραφείο:
26 (Α’ ορόφου)
Ώρες Γραφείου:
Δευτέρα: 14:00 – 16:00, Τετάρτη, 11:00-13:00
Ηλεκτρονική Διεύθυνση:
Τηλέφωνο:
(06510) 98808
Ηλεκτρονική
Διεύθυνση Μαθήματος:
Ηλεκτρονική Διεύθυνση Λίστας Μαθήματος:
Παρασκευή,
9:00-12:00, στην αίθουσα Ι4.
Το μάθημα θα εστιάσει στη μελέτη βασικών αρχών, εννοιών και αλγορίθμων κατανεμημένων συστημάτων. Πιο συγκεκριμένα θα μελετηθούν ζητήματα σχεδίασης, θέματα επικοινωνίας κατανεμημένων συστημάτων, καθώς και θέματα κατανεμημένων λειτουργικών συστημάτων και βάσεων δεδομένων, όπως κατανεμημένα συστήματα αρχείων, αμοιβαίος αποκλεισμός, αδιέξοδα, χρονισμός, αλγόριθμοι εκλογής, διαμοιραζόμενα δεδομένα και δοσοληψίες, ατομικές δοσοληψίες, κ.α.
Βιβλία
q G. Coulouris, J. Dollimore and T. Kindberg, “Distributed Systems, Concepts and Design”, Addison-Wesley, England, 1994.
q A. S. Tanenbaum, “Σύγχρονα /λειτουργικά Συστήματα», Τόμος Β, Prentice Hall International, επιμέλεια: Παναγιώτης Γεωργιάδης, Παπασωτηρίου, Αθήνα 1994.
q
H. Attiya and J. Welch,
“Distributed Computing, Fundamentals, Simulations and Advanced Topics”, Mc
Graw Hill, England, 1998.
Το
βιβλίο που θα μοιραστεί στους φοιτητές
είναι το 2ο από τα παραπάνω, αλλά το
μάθημα θα βασιστεί σε μεγάλο βαθμό και στο 1ο
βιβλίο. Οι διαφάνειες του μαθήματος μαζί με
τις σημειώσεις που μπορείτε να κρατάτε κατά
την παράδοση και οποιοδήποτε άλλο υλικό σας
δοθεί στην τάξη θα σας βοηθήσουν να
διεκπεραιώσετε επιτυχώς το μάθημα.
1η
εβδομάδα |
Εισαγωγή, Χαρακτηρισμός, Στόχοι, Ζητήματα Σχεδίασης |
2η
εβδομάδα |
Επικοινωνία σε Κατανεμημένα Συστήματα |
3η
εβδομάδα |
Επικοινωνία σε Κατανεμημένα Συστήματα |
4η
εβδομάδα |
Κατανεμημένα Λειτουργικά Συστήματα - Νήματα |
5η
εβδομάδα |
Κατανεμημένα Λειτουργικά Συστήματα - Νήματα |
6η
εβδομάδα |
Χρονισμός |
7η
εβδομάδα |
Αμοιβαίος Αποκλεισμός – Αλγόριθμοι Εκλογής |
8η
εβδομάδα |
Αλγόριθμοι Εκλογής |
9η
εβδομάδα |
Αδιέξοδα |
10η
εβδομάδα |
Διαμοιραζόμενα Δεδομένα και Δοσοληψίες |
11η εβδομάδα |
Ατομικές Δοσοληψίες |
12η εβδομάδα | Ατομικές Δοσοληψίες |
13η
εβδομάδα |
Κατανεμημένα Συστήματα Αρχείων |
Κατά τη
διάρκεια του εξαμήνου θα δοθούν 2
προγραμματιστικές εργασίες. Ο
προγραμματισμός θα γίνει σε γλώσσα C,
ενώ θα χρησιμοποιηθούν διάφορα εργαλεία
και περιβάλλοντα για να επιτευχθεί
επικοινωνία μεταξύ διεργασιών. Κάθε
εργασία θα πρέπει να επιστρέφεται πριν από
την αναγραφόμενη ημερομηνία και ώρα.
Καθυστερημένες εργασίες γίνονται δεκτές με
μείωση βαθμού 5 μονάδων (στις 100) για κάθε
μέρα καθυστέρησης. Οι φοιτητές μπορούν να
δουλέψουν σε ομάδες των 2 ατόμων για να
επιλύσουν τις εργασίες. Οι ομάδες
αποφασίζονται βάσει των προτιμήσεων των
φοιτητών. Μετά από κάθε εργασία θα κάνετε
παρουσίαση (εξήγηση) της εργασίας σας, σε
κάποια προκαθορισμένη ημερομηνία. Η
παρουσίαση δεν θα γίνει ανά ομάδες, αλλά
ατομικά (δηλαδή για κάθε εργασία θα
εξεταστούν και τα 2 μέλη της ομάδας το
καθένα ξεχωριστά σε ολόκληρη την εργασία).
Για το λόγο αυτό θα πρέπει και τα 2 μέλη της
ομάδας να συνεισφέρουν εξίσου σε όλα τα
μέρη της εργασίας. Ο βαθμός δεν θα είναι
κοινός για την ομάδα, αλλά θα εξαρτάται σε
μεγάλο βαθμό από την παρουσίαση του κάθε
ενός από τους φοιτητές. Έτσι, μπορεί ο ένας
φοιτητής να πάρει πολύ καλό βαθμό, ενώ ο
άλλος πολύ άσχημο ή ακόμη και να μηδενιστεί.
Ο
προγραμματισμός, όπως και η έκθεση, είναι
μια ιδιαίτερα ατομική εργασία. Καθένας
πρέπει ατομικά να κατανοήσει το πρόβλημα
και να σκιαγραφήσει μια πιθανή λύση του. Οι
λύσεις των ασκήσεων, καθώς και τα
προγράμματα που θα σας ζητηθούν πρέπει να
είναι αποτέλεσμα προσωπικής σας δουλειάς.
Είναι επίσης σημαντικό να μπορεί καθένας να
διαβάσει τον κώδικά σας. Η βαθμολογία στις
εργασίες σας θα αντικατοπτρίζει την
πληρότητα και την ορθότητα, αλλά και τα
συνοδεύοντα σχόλια. Οι αντιγραφές
απαγορεύονται αυστηρά και θα τιμωρούνται
με μείωση ή μηδένιση βαθμού. Είναι καλύτερα
να παραδώσετε μια ημιτελή εργασία παρά μια
παραλλαγμένη αντιγραφή.
Μπορείτε
να χρησιμοποιήσετε οποιονδήποτε
υπολογιστή για τις εργασίες σας. Για τη
βαθμολόγηση της άσκησής σας όμως, το
πρόγραμμά σας θα εκτελείται στα μηχανήματα
κάποιου εργαστηρίου του Τμήματος. Στα
μηχανήματα αυτά θα είναι εγκατεστημένο και
το απαραίτητο λογισμικό για να κάνετε τις
εργασίες σας. Όσοι από εσάς επιθυμούν να
εργαστούν σε άλλα μηχανήματα θα πρέπει να
σιγουρευτούν ότι ο κώδικας τους τρέχει
σωστά και στα παραπάνω μηχανήματα.
Είστε
υπεύθυνοι για την κακή χρήση του
λογαριασμού σας. Το password σας θα
πρέπει να παραμείνει μυστικό και ο
λογαριασμός σας να χρησιμοποιείτε μόνο από
εσάς. Φροντίστε τέλος η προστασία του
καταλόγου στον οποίο βρίσκονται τα
προγράμματά σας να μην επιτρέπει ανάγνωση (ή
ακόμη χειρότερα εγγραφή) από άλλους (χρησιμοποιήστε
την εντολή chmod).
Η
τελική εξέταση θα γίνει με ανοιχτά βιβλία.
Στην τελική εξέταση θα πρέπει όλοι οι
εξεταζόμενοι φοιτητές να έχουν μαζί τους το
πάσσο τους. Φοιτητές που δεν έχουν μαζί τους
το πάσο τους δεν θα γίνονται δεκτοί στην
εξέταση.
Ο
τελικός βαθμός θα εξαρτηθεί τόσο από τη
βαθμολογία των ασκήσεων, όσο και από την
επίδοση των φοιτητών στην τελική εξέταση,
ως εξής:
Σειρές
Ασκήσεων: 35%
Τελική
Εξέταση: 65%
Προκειμένου
ένας φοιτητής να περάσει το μάθημα πρέπει
να γράψει τουλάχιστον 4.5 στο τελικό
διαγώνισμα, ανεξάρτητα από το πόσο καλές
είναι οι εργασίες που έχει παραδώσει και θα
πρέπει να έχει βαθμό τουλάχιστον 4 στις
εργασίες του (ανεξάρτητα από το πόσο καλό θα
είναι το γραπτό του στην τελική εξέταση).
Ο ίδιος
αλγόριθμος για την διεξαγωγή της
βαθμολογίας ισχύει και στην εξέταση του
Σεπτεμβρίου.
Η
παρακολούθηση στις διαλέξεις αναμένεται,
αλλά δεν είναι υποχρεωτική. Ωστόσο, οι
φοιτητές θα πρέπει να γνωρίζουν οτιδήποτε
παρουσιάζεται ή αναφέρεται στην τάξη στην
τελική εξέταση. Μεγάλο ποσοστό της ύλης δεν
περιέχεται σε βιβλία ή παρουσιάζεται με
άλλη σειρά, για αυτό η παρακολούθηση
συνίσταται ισχυρά.
Συνίσταται
ισχυρά να έχετε διεκπεραιώσει με επιτυχία
τα μαθήματα του «Προγραμματισμού σε C», των «Δομών Δεδομένων» και των «Λειτουργικών
Συστημάτων». Επίσης, η γνώση «Βάσεων
Δεδομένων», «Δικτύων Υπολογιστών» και «Σχεδίασης
και Ανάλυσης Αλγορίθμων» θα βοηθούσε
επίσης. Απαιτούνται
εξαιρετικά καλές γνώσεις της γλώσσας
προγραμματισμού C.
q S. Dolev, “Self-Stabilization”, The MIT Press, England, 2000.
q N. Lynch, “Distributed Algorithms”, Morgan Kaufmann Publishers, Inc., San Francisco, 1996.
q S. Mullender, “Distributed Systems”, Addison-Wesley, New York, 1993.
q ACM Symposium on Principles of Distributed Computing
q International Workshop on DIStributed Computing
q IEEE International Conference on Parallel and Distributed Systems
q Journal of the ACM
q
Distributed Computing
Βιβλία σε C
Ομάδα Waite, C: Βήμα-Προς-Βήμα, Εκδότης Γκιούρδας, Αθήνα 1991.
B. Kernighan & D. Ritchie, Η Γλώσσα Προγραμματισμού C, Εκδόσεις Κλειδάριθμος, Αθήνα 1990.
Βιβλιογραφία Χρήσιμη για τις Εργασίες
J. Sharpley Gray, "Interprocess Communication in UNIX", Prentice Hall, 1997.
J. Bloomer, "Power Programming with RPC", O'Reilly & Associates, Inc., 1992.
Εξέταση Projects: Η
εξέταση των projects θα γίνει τις μέρες
Τρίτη, 18/6, Πέμπτη, 20/6 και Παρασκευή, 21/6
στο εργαστήριο unix
του πρώτου ορόφου (ή στο γραφείο μου). Η
εξέταση των projects
είναι υποχρεωτική και θα πρέπει όλοι όσοι
τα έχετε παραδώσει να έρθετε στην προφορική
εξέταση. Όσοι φοιτητές δεν μπορέσουν να
έρθουν θα πρέπει να με ενημερώσουν πριν
την εξέταση, διαφορετικά τα projects
τους θα μηδενιστούν. Οι φοιτητές που έχουν
παραδώσει και θέλουν να εξεταστούν θα
πρέπει να δηλώσουν την ώρα της προτίμησής
τους σε έναν από τους πίνακες που έχουν
αναρτηθεί έξω από το γραφείο μου.
Η εξέταση του φοιτητή Τσόλκα Χρήστου
στο 2ο project
θα ήθελα να γίνει την Πέμπτη, 20/6 και ώρα είτε
12:00-12:30 ή 13:00-13:30. Αν καμία από τις ώρες αυτές
δεν είναι βολική για το φοιτητή θα πρέπει να
με ενημερώσει ως τη Δευτέρα,
17/6.
Παράταση
στην ημερομηνία παράδοσης 2ου project.
Ημερομηνία Παράδοσης 2ου μέρους 2ου project:
Πέμπτη, 20/6.
H 2η εργασία είναι διαθέσιμη.
Οι διαφάνειες όλων των διαλέξεων έχουν δοθεί για φωτοτύπηση.
H 1η εργασία είναι διαθέσιμη.
Το Κεφ. 1, G. Coulouris, J. Dollimore ad T. Kindberg & το Κεφ. 9 (Remote Procedure Calls), J. Gray (χρήσιμο για την εργασία), έχουν δοθεί για φωτοτύπηση.
Το πρώτο μάθημα θα γίνει την Παρασκευή, 15/2/02 στην αίθουσα Ι2.
Δευτέρα | Τρίτη | Τετάρτη | Πέμπτη | Παρασκευή |
11/2
|
12/2
|
13/2
|
14/2
|
15/2
Μελέτη διαφανειών & Παρ. 9.1, 9.2 (επιλεκτικά), 9.3 (επιλεκτικά) και 9.4, Tanenbaum |
18/2
|
19/2
|
20/2
|
21/2
|
22/2
Μελέτη διαφανειών και Κεφ. 1 και Κεφ. 2, Coulouris et al. |
25/2
|
26/2
|
27/2
|
28/2
|
1/3
Μελέτη διαφανειών & Παρ. 10.1, 10.2, 10.3.1-10.3.3 Tanenbaum (Παρ. 10.2.7 όχι) |
4/3
|
5/3
|
6/3
|
7/3
|
8/3
Μελέτη διαφανειών & Παρ. 10.3.4 - 10.3.6, 10.4, Tanenbaum (Παρ. 10.3.5 επιλεκτικά, Παρ. 10.4.3 όχι) |
11/3
|
12/3
|
13/3
|
14/3
|
15/3
------------------ |
18/3
|
19/3
|
20/3
1η Εργασία (out)
|
21/3
|
22/3
Μελέτη διαφανειών και Παρ. 12.1 - 12.2, Tanenbaum (Παρ. 12.1.4 όχι) Μελέτη μέρους Κεφ. 9 (Remote Procedure Calls, J. Gray) που σας μοιράστηκε στο μάθημα ως βοηθητικό υλικό για την 1η Εργασία σας. |
25/3
|
26/3
|
27/3
|
28/3
|
29/3
Μελέτη διαφανειών και Παρ. 12.3, 12.4 (Tanenbaum) Μελέτη μέρους Κεφ. 9 (Remote Procedure Calls, J. Gray) που σας μοιράστηκε στο μάθημα ως βοηθητικό υλικό για την 1η Εργασία σας. |
1/4
|
2/4
|
3/4
|
4/4
|
5/4 Μελέτη διαφανειών και Παρ. 11.1, 11.2 & 11.3 (Tanenbaum) Μελέτη μέρους Κεφ. 9 (Remote Procedure Calls, J. Gray) που σας μοιράστηκε στο μάθημα ως βοηθητικό υλικό για την 1η Εργασία σας. Καλό θα ήταν να έχετε τελειώσει με το ένα από τα 2 προγράμματα που έχετε να κάνετε για την εργασία σας. |
8/4
|
9/4
|
10/4
|
11/4
|
12/4
Μελέτη διαφανειών και Παρ. 11.4, 11.5 & 11.3 (Tanenbaum) |
15/4
|
16/4
|
17/4
|
18/4
|
19/4 Μελέτη διαφανειών. |
22/4
|
23/4
|
24/4
|
25/4
|
26/4
----------------- 1η Εργασία (due) |
13/5
|
14/5
|
15/5
|
16/5
|
17/5
Μελέτη διαφανειών και Παρ.13.1 -13.2.4 |
20/5
2ο Project 1ο Μέρος (due) |
21/5
|
22/5
|
23/5
|
24/5
Μελέτη διαφανειών και Παρ.13.2.5 -13.3 |
17/5
2o Project 2ο Μέρος (due) |
28/5
|
29/5
|
30/5
|
31/5
|
2η Εργασία (ds-project2.ps).
Πληροφορίες για το MPI θα βρείτε στην
ακόλουθη σελίδα:
1η Εργασία (ds-project1.ps)
Γενικές Πληροφορίες για το μάθημα
(syllabus.ps)
Τελευταία
τροποποίηση:22/3/02
Κατασκευή και συντήρηση
σελίδων: Παναγιώτα
Φατούρου