Τίτλος Μαθήματος Κατανεμημένα Συστήματα
Κωδικός Μαθήματος 321-7950
Εξάμηνο 6
ECTS 5
Ώρες (Θεωρία) 3
Ώρες (Εργαστηρίο) 2
Διδάσκοντας Γκουμόπουλος Χρήστος

Ύλη μαθήματος

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

Επιδιωκόμενα μαθησιακά αποτελέσματα

Ο/Η φοιτητής/-τρια που θα ολοκληρώσει επιτυχώς το εν λόγω μάθημα, αναμένεται ότι θα είναι σε θέση να:

  • Αναφέρει διαδεδομένους ορισμούς των Κατανεμημένων Συστημάτων (ΚΣ) και χαρακτηριστικά τους.
  • Αναγνωρίζει βασικές απαιτήσεις που σχετίζονται με την κατασκευή ΚΣ.
  • Αναγνωρίζει είδη προβλημάτων που σχετίζονται με την κατασκευή ΚΣ.
  • Ταξινομεί τα ΚΣ σε κατηγορίες χρησιμοποιώντας κριτήρια που σχετίζονται με την οργάνωση του υλικού τους.
  • Εξηγεί το ρόλο του λογισμικού στη λειτουργία των ΚΣ.
  • Ταξινομεί τα λειτουργικά συστήματα των ΚΣ σε τρεις κατηγορίες.
  • Περιγράφει τρεις αρχιτεκτονικές ΚΣ από την πλευρά του λογισμικού.
  • Αναφέρει σύγχρονες τάσεις που επηρεάζουν την ανάπτυξη των ΚΣ.
  • Περιγράφει οκτώ μορφές διαφάνειας που σχετίζονται με τη σχεδίαση ΚΣ.
  • Περιγράφει την τεχνική του πλεονασμού για την ενίσχυση της ανοχής σε σφάλματα ενός ΚΣ.
  • Ορίζει τις έννοιες της ευελιξίας και της επεκτασιμότητας.
  • Περιγράφει βασικές απαιτήσεις για τη σχεδίαση ενός ασφαλούς ΚΣ.
  • Περιγράφει το μοντέλο πελάτη-εξυπηρετητή.
  • Περιγράφει πέντε παραλλαγές της αρχιτεκτονικής πελάτη-εξυπηρετητή.
  • Εξηγεί τη σκοπιμότητα συγχρονισμού ρολογιών σε ΚΣ.
  • Περιγράφει τουλάχιστον δύο τρόπους συγχρονισμού ρολογιών σε ΚΣ.
  • Ορίζει τις έννοιες της μερικής και ολικής διάταξης.
  • Περιγράφει τουλάχιστον δύο αλγορίθμους συγχρονισμού φυσικών ρολογιών σε ΚΣ.
  • Ορίζει την έννοια του αμοιβαίου αποκλεισμού.
  • Περιγράφει τουλάχιστον δύο αλγορίθμους που εξασφαλίζουν τον αμοιβαίο αποκλεισμό.
  • Κατανοεί τον ρόλο των κατανεμημένων συστημάτων (ΚΣ) και του ενδιάμεσου λογισμικού στην ανάπτυξη σύγχρονων εφαρμογών.
  • Αναγνωρίζει εξειδικευμένα θέματα των ΚΣ (μοντέλα συστήματος, επικοινωνία διεργασιών, λειτουργικά συστήματα, κατανεμημένα συστήματα αρχείων, ομότιμα συστήματα, υπηρεσίες ιστού).
  • Περιγράφει τα γενικά χαρακτηριστικά της διαδιεργασιακής επικοινωνίας.
  • Περιγράφει τα βασικά συστατικά του μοντέλου κλήσης απομακρυσμένης διαδικασίας.
  • Περιγράφει τα βασικά συστατικά του μοντέλου κλήσης απομακρυσμένης μεθόδου (RMI).
  • Χρησιμοποιεί το σύστημα Java RMI για την ανάπτυξη κατανεμημένων εφαρμογών ακολουθώντας μια σειρά προκαθορισμένων βημάτων.
  • Εξηγεί τη διαφορά μεταξύ διεργασιών και νημάτων.
  • Εξηγεί την ανάγκη για συγχρονισμό νημάτων και την έννοια της συνθήκης ανταγωνισμού.
  • Αναλύει προβλήματα και μελέτες περιπτώσεων ΚΣ και επιλέγει τις καταλληλότερες τεχνολογίες για την υλοποίησή τους.
  • Εντοπίζει, αξιολογεί και αποτιμά σχετικές πληροφορίες μέσω των προτεινόμενων βιβλιογραφικών πηγών και τη χρήση του Διαδικτύου.

Προαπαιτούμενα

Δεν απαιτούνται.

Εγχειρίδια του μαθήματος

1. Andrew S. Tanenbaum, Maarten Van Steen. Κατανεμημένα Συστήματα: Αρχές και Υποδείγματα. Έκδοση: 1η/2006, Εκδόσεις ΚΛΕΙΔΑΡΙΘΜΟΣ ΕΠΕ, ISBN: 960-209-924-0 2. Ι.Κ. ΚΑΒΟΥΡΑΣ, Ι. Ζ. ΜΗΛΗΣ, Γ. Β. ΞΥΛΩΜΕΝΟΣ, Α. Α. ΡΟΥΚΟΥΝΑΚΗ. ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΜΕ JAVA. Έκδοση: 3η/2011, ΕΚΔΟΣΕΙΣ ΚΛΕΙΔΑΡΙΘΜΟΣ, ISBN: 960-461-463-9 3. Coulouris, G., Dollimore, J., Kindberg, T., and Blair, G. (2011). Distributed Systems: Concepts and Design. Addison-Wesley, 5th edition, Pearson Education, NJ. ISBN 0132143011. 4. Kshemkalyani, A.D., and Singhal, M. (2008). Distributed Computing Principles, Algorithms, and Systems. Cambridge University Press, NY. ISBN 978-0-521-87634-6. 5. Kai Hwang, Jack Dongarra, Geoffrey C. Fox, Distributed and Cloud Computing: From Parallel Processing to the Internet of Things, O'Reilly Media, 2011. ISBN 0123858801

Συμπληρωματική βιβλιογραφία

IEEE Transactions on Parallel and Distributed Systems IEEE Pervasive Computing Distributed Computing

Διδακτικές και μαθησιακές μέθοδοι

 

Δραστηριότητα Φόρτος Εργασίας Εξαμήνου
Διαλέξεις 39 ώρες
Εργαστηριακές ώρες 26 ώρες
Προσωπική μελέτη 57 ώρες
 
Τελική εξέταση 3 ώρες
Σύνολο Μαθήματος 125 ώρες (5 ECTS)

 

Μέθοδοι αξιολόγησης / βαθμολόγησης

Γλώσσα Αξιολόγησης: Ελληνική Εάν υπάρχουν φοιτητές/ήτριες ERASMUS: Αγγλική. Τελική εξέταση και εργαστηριακές ασκήσεις (θεωρητικές και προγραμματιστικές ασκήσεις). Ο βαθμός του εργαστηρίου πρέπει να είναι ≥ 5 για συμμετοχή στις τελικές εξετάσεις. Ο βαθμός της τελικής εξέτασης πρέπει να είναι ≥ 5 για προβιβάσιμο βαθμό. Ο τελικός βαθμός διαμορφώνεται ως εξής: 0.4 * (Βαθμός Εργαστηρίου) + 0.1 * (Βαθμός Προόδου)+ 0.5 * (Βαθμός Τελικής Εξέτασης). Τα θέματα των εξετάσεων/ασκήσεων έχουν σαφώς προσδιορισμένα κριτήρια αξιολόγησης τα οποία και αναγράφονται. Οι φοιτητές έχουν την δυνατότητα να δουν το γραπτό τους μετά την αξιολόγηση και να διαπιστώσουν τα λάθη τους. Ανακοινώνεται στο eClass η συνολική κατανομή των βαθμών του τμήματος, ώστε ο φοιτητής να μπορεί να αξιολογήσει την επίδοσή του.

Γλώσσα διδασκαλίας

Ελληνικά (Αγγλικά αν υπάρχουν φοιτητές/φοιτήτριες ERASMUS)

Τρόπος παράδοσης μαθήματος

Πρόσωπο με πρόσωπο