Παράκαμψη προς το κυρίως περιεχόμενο

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

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

Μαθησιακά Αποτελέσματα: Στο τέλος του μαθήματος οι σπουδαστές/στριες: (1) Οι φοιτητές θα αποκτήσουν γνώσεις σχετικές με τον βασικό σχεδιασμό των κατανεμημένων συστημάτων και τους τρόπους επίτευξης βασικών λειτουργίων τους όπως η κατανεμημένη συμφωνία (distributed consensus). (2) Θα αποκτήσουν βαθιά τεχνική γνώση για το πότε και πώς θα αξιοποιούν τις δυνατότητες των σύγχρονων παράλληλων και  κατανεμημένων συστημάτων για να εξυπηρετούν τις ανάγκες των οργανισμών τους. Θα εξοικειωθούν με συστήματα επεξεργασίας μεγάλων δεδομένων όπως αυτά που χρησιμοποιούν εταιρείες όπως η Google, Amazon, Facebook, etc. (3) Θα εκπαιδευτούν στην κριτική κατανόηση αμφιλεγόμενων ζητημάτων ώστε να ξεχωρίζουν την πραγματικά επιστημονική πληροφορία από διαφημιστικές ανοησίες. Για παράδειγμα γιατί κάποιοι/ες ισχυρίζονται ότι οι κεντρικές λύσεις είναι κάτι που ποτέ δεν θέλουμε; Πόσο χρήσιμη είναι τελικά η τεχνολογία blockchain;

Περιεχόμενο Μαθήματος: Αρχιτεκτονικές Κατανεμημένων Συστημάτων. Διεργασίες. Επικοινωνία. Ονοματοδοσία (Naming). Συντονισμός και Κατανεμημένη Συμφωνία. Συνέπεια και Aντιγραφή (Consistency and Replication). Aνθεκτικότητα σε Σφάλματα (Fault Tolerance). Ασφάλεια