Κατανεμημένα Συστήματα: Θεωρία και Προγραμματισμός


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


Στόχοι Μαθήματος

Κατανόηση της φύσης των κατανεμημένων συστημάτων Εξοικείωση με τις προσφερόμενες δυνατότητες Κατανόηση των βασικών προβλημάτων υλοποίησης Εξοικείωση με κατάλληλα περιβάλλοντα προγραμματισμού


Προαπαιτούμενες Γνώσεις

Δίκτυα Υπολογιστών Προγραμματισμός Υπολογιστών με Java Λειτουργικά Συστήματα


Περιεχόμενα

Εισαγωγή, μη συγκεντρωτικά συστήματα, στόχοι και υπηρεσίες κατανεμημένων συστημάτων, μοντέλο πελάτη-εξυπηρετητή, μοντέλο ομοτίμων. Διάταξη συμβάντων, ρολόγια, καθολικές καταστάσεις. Καθολικά κατηγορήματα, αδιέξοδα, κατανεμημένος τερματισμός. Αμοιβαίος αποκλεισμός. Ανοχή βλαβών, παραγωγή αντιγράφων, αποκατάσταση, κατανεμημένη συμφωνία. Μηχανισμοί επικοινωνίας, απομακρυσμένη κλήση διαδικασιών, δικτύωση στην Java. Ταυτοχρονισμός και νήματα, νήματα στην Java. Οργάνωση πόρων, καταχώριση επεξεργαστών, μετεγκατάσταση κώδικα. Κατανεμημένοι πίνακες κατακερματισμού, συστήματα Chord, Pastry και Scribe. Κατανεμημένα συστήματα αποθήκευσης, συστήματα NFS και AFS, συστήματα PAST και CFS. Κατανεμημένος καταμερισμός αρχείων, σύστημα BitTorrent.

ΤΑΥΤΟΤΗΤΑ ΜΑΘΗΜΑΤΟΣ

Βαθμίδα:

Τύπος:

Προπτυχιακό

(A-)


Εκπαιδευτές: Γεώργιος Ξυλωμένος
Τμήμα: Πληροφορικής
Ίδρυμα: Οικονομικό Πανεπιστήμιο Αθηνών
Θεματική Περιοχή: Επιστήμες Υπολογιστών, Πληροφορικής, Τηλεπικοινωνιών
Άδεια Χρήσης: CC - Μη Εμπορική Χρήση - Όχι Παράγωγα Έργα

Επισκεφτείτε το μάθημα

ΜΟΙΡΑΣΤΕΙΤΕ ΤΟ ΜΑΘΗΜΑ
ΣΧΕΤΙΚΑ ΜΑΘΗΜΑΤΑ