Tο μάθημα επικεντρώνεται στη μελέτη βασικών κατανεμημένων αλγορίθμων, συμπεριλαμβανομένων τόσο αλγορίθμων για πολυπύρηνα συστήματα κοινόχρηστης μνήμης, όσο και αλγορίθμων για συστήματα μεταβίβασης μηνύματος. Στόχος του μαθήματος είναι η εξοικείωση των φοιτητών με θέματα σχετικά με (1) βασικές τεχνικές σχεδίασης και ανάλυσης κατανεμημένων αλγορίθμων για πολυπύρηνα συστήματα και συστήματα μεταβίβασης μηνύματος, (2) θεμελιώδεις αλγόριθμους του κατανεμημένου υπολογισμού, (3) πρωτόκολλα συγχρονισμού, (4) διαμοιραζόμενες δομές δεδομένων, (4) βασικούς αλγόριθμους συλλογικής επικοινωνίας, (5) βασικές έννοιες χρονισμού, (6) ανίχνευση και επανόρθωση από αδιέξοδα, (7) ανίχνευση τερματισμού, αποτυχιών και άλλων καταστάσεων σε συστήματα μεταβίβασης μηνύματος.
Το μάθημα αποτελείται από δύο μέρη. Αναλυτική παρουσίαση της ύλης που καλύπτεται από κάθε μέρος παρατίθεται στη συνέχεια. Μέρος Ι – Αλγόριθμοι για πολυπύρηνα Συστήματα Διαμοιραζόμενης Μνήμης
Διαχείριση μνήμης σε συστήματα κοινόχρηστης μνήμης
Μέρος II – Αλγόριθμοι για Συστήματα Μεταβίβασης Μηνύματος
Εισαγωγή – Βασικοί Αλγόριθμοι
Μοντελοποίηση συστημάτων μεταβίβασης μηνύματος
Αλγόριθμοι καθολικής εκπομπής μηνυμάτων (broadcast), αλγόριθμοι εκπομπής μηνυμάτων με περισσότερους του ενός παραλήπτες (convergecast) και άλλοι αλγόριθμοι για συλλογική επικοινωνία (collective communication algorithms)
Εκλογή Αρχηγού(leader election)
Το πρόβλημα της εκλογής αρχηγού σε γράφους με τοπολογία δακτυλίου
Το πρόβλημα της εκλογής αρχηγού σε γράφους γενικής τοπολογίας
ΚαταμερισμόςΠόρων (network resource allocation)
Αλγόριθμοι αμοιβαίου αποκλεισμού
Γενικοί αλγόριθμοι καταμερισμού πόρων
Θέματα Χρονισμού και Καθολικά Στιγμιότυπα
Θέματα αιτιότητας και η έννοια του λογικού χρόνου
Συνεπή καθολικά στιγμιότυπα του συστήματος
Ανίχνευση καταστάσεων καθολικής εμβέλειας σε κατανεμημένες εκτελέσεις
Ανίχνευση τερματισμού
Ανίχνευση αδιεξόδου
Ανίχνευση αποτυχιών
Μαθησιακά Αποτελέσματα:
Σκοπός του μαθήματος είναι η θεωρητική και πρακτική κατάρτιση των φοιτητών στο σχεδιασμό, την ανάλυση και την υλοποίηση αλγόριθμων σε σύγχρονα κατανεμημένα συστήματα. Οι φοιτητές, μετά την επιτυχή ολοκλήρωση του μαθήματος θα:
γνωρίζουν τις κύριες τεχνικές συγχρονισμού και τα κύρια παραδείγματα επικοινωνίας μεταξύ διεργασιών,
έχουν κατανοήσει τα βασικά εργαλεία και τις θεμελιώδεις τεχνικές για τον αποτελεσματικό προγραμματισμό εκείνων των μερών παράλληλου κώδικα που απαιτούν εντατική μορφή επικοινωνίας και συγχρονισμό,
έχουν εξοικειωθεί με βασικές αρχές και τεχνικές υλοποίησης και πειραματικής μελέτης κατανεμημένων και παράλληλων προγραμμάτων,
είναι σε θέση να μελετούν και να αναλύουν την απόδοση κατανεμημένων και παράλληλων αλγορίθμων καθώς και υπολογισμών που εκτελούνται τόσο πάνω από πολυπύρηνα συστήματα όσο και πάνω από συστήματα μεταβίβασης μηνύματος,
κατέχουν τις κύριες μεθοδολογίες για την ανάλυση παράλληλων και κατανεμημένων αλγορίθμων,
μπορούν να σχεδιάζουν, να υλοποιούν και να αναλύουν κατανεμημένες δομές δεδομένων και δομές δεδομένων για συστήματα κοινόχρηστης μνήμης και
έχουν εξοικειωθεί με γνωστές συνθήκες ορθότητας και προόδου του παράλληλου και κατανεμημένου υπολογισμού.
Αξιολόγηση:
Λεπτομέρειες για την βαθμολόγηση του μαθήματος περιέχονται στην ιστοσελίδα του μαθήματος
Τα μαθήματα του Τμήματος Επιστήμης Υπολογιστών κωδικοποιούνται με τα γράμματα "ΗΥ" και με τρία ψηφία. Το πρώτο ψηφίο δηλώνει το έτος κατά το οποίο συνήθως παρακολουθείται το μάθημα, το δε δεύτερο την επιστημονική περιοχή του μαθήματος:
Πρώτο Ψηφίο
Κανονικό Έτος Παρακολούθησης
1,2,3,4
Πρώτο, Δεύτερο, Τρίτο, Τέταρτο
5,6
Μεταπτυχιακά μαθήματα
7,8,9
Ειδικά θέματα
Δεύτερο Ψηφίο
Επιστημονική Περιοχή
0
Εισαγωγικά - Γενικά
1
Υπόβαθρο (Μαθηματικά, Φυσική)
2
Υλικό και Συστήματα Υπολογιστών
3
Τηλεπικοινωνίες και Δίκτυα
4,5
Συστήματα Λογισμικού και Εφαρμογές
6
Πληροφοριακά Συστήματα
7
Υπολογιστική Όραση και Ρομποτική
8
Αλγοριθμική και Θεωρία Υπολογισμού
9
Ειδικές Εργασίες
Ακολουθούν συνοπτικοί κατάλογοι κατά κατηγορίες των μαθημάτων του προγράμματος βασικών σπουδών του Τμήματος Επιστήμης Υπολογιστών του Πανεπιστημίου Κρήτης. Μαθήματα των οποίων οι κωδικοί αρχίζουν με "ΜΕΜ" ή "ΦΥΣ" διδάσκονται από το Τμήμα Μαθηματικών Εφαρμοσμένων Μαθηματικών ή το Φυσικό αντιστοίχως και αναφέρονται με τους οικείους κωδικούς. Τα προαπαιτούμενα που αναφέρονται μέσα σε παρενθέσεις συνιστώνται έντονα, αλλά δεν είναι υποχρεωτικά.