Προηγμένες Αρχιτεκτονικές Υπολογιστών και Προγραμματισμός Παράλληλων Συστημάτων
Γενικά
- Κωδικός Μαθήματος: 1744
- Εξάμηνο: 7ο
- Τύπος Μαθήματος: Εξειδίκευσης (ΕΞ)
- Είδος Μαθήματος: Επιλογής (ΕΠ)
- Γνωστική Περιοχή: Προγραμματισμός και Αλγόριθμοι (ΠΑ)
- Διδασκαλία Θεωρίας: 4 ώρες/εβδομάδα
- Πιστωτικές μονάδες ECTS: 6
- Ηλεκτρονική σελίδα μαθήματος: https://aetos.it.teithe.gr/~kdiamant/index.php?l=el&p=cap
- Γλώσσα διδασκαλίας και Εξετάσεων: Ελληνικά
- Προτεινόμενα προαπαιτούμενα μαθήματα: (1304) Οργάνωση και Αρχιτεκτονική Υπολογιστικών Συστημάτων, (1102) Δομημένος Προγραμματισμός
- Συντονιστής: Διαμαντάρας Κωνσταντίνος
Μαθησιακά Αποτελέσματα
Σκοπός του μαθήματος είναι η παρουσίαση και ανάλυση των μεθόδων και των αρχιτεκτονικών επιλογών στη μοντέρνα σχεδίαση των υπολογιστών καθώς και στην παρουσίαση των βασικών αρχών της παράλληλης επεξεργασίας. Το μάθημα εξοικειώνει τον φοιτητή με τις δύο κυριότερες κατηγορίες παράλληλου προγραμματισμού που βασίζονται στην κοινή μνήμη και στην κατανεμημένη μνήμη. Με την επιτυχή παρακολούθηση του μαθήματος ο φοιτητής θα μπορεί:
- Να γνωρίζει τις βασικές αρχές και τα προβλήματα της μοντέρνας αρχιτεκτονικής των υπολογιστών και του προγραμματισμού παράλληλων συστημάτων
- Να κατανοεί τις βασικές αρχιτεκτονικές επιλογές της αρχιτεκτονικής Η/Υ και να διακρίνει τα βασικά μοντέλα παράλληλης επεξεργασίας
- Να συσχετίζει τις κατάλληλες μεθόδους παράλληλου προγραμματισμού με την αντίστοιχη αρχιτεκτονική οργάνωση
- Να αναλύει προβλήματα που απαιτούν την χρήση παράλληλης επεξεργασίας
- Να σχεδιάζει και να υλοποιεί κατάλληλες λύσεις παράλληλου προγραμματισμού για το αντίστοιχο πρόβλημα
- Να συγκρίνει και να αξιολογεί τις επιδόσεις παράλληλων αρχιτεκτονικών και αλγορίθμων
Περιεχόμενο Μαθήματος
- Εισαγωγή: προηγμένες αρχιτεκτονικές και παράλληλη επεξεργασία, ταξινόμηση συστημάτων SISD, MISD, SIMD, MIMD, ταξινόμηση UMA, NUMA, μοντέλα μνήμης (κοινή μνήμη, κατανεμημένη μνήμη), μοντέλο μεταγωγής μηνυμάτων, πολυεπεξεργαστές, πολυυπολογιστές
- Τεχνολογία της μνήμης: τεχνολογία της ιεραρχημένης μνήμης, οργάνωση της μνήμης cache, τοποθέτηση και αναζήτηση δεδομένων στην cache, εκτίμηση επίδοσης μιας cache, μέθοδοι βελτίωσης της επίδοσης μιας cache, διαχείριση πολλαπλών cache, το πρόβλημα cache coherence, πρωτόκολλα snooping, directory-based
- Pipelining: Το pipeline των εντολών, οι φάσεις εκτέλεσης μιας εντολής, η γλώσσα DLX, pipeline της DLX, οι κίνδυνοι της pipeline, η pipeline της μονάδας κινητής υποδιαστολής, κανονικοποίηση, η πράξη της πρόσθεσης, η πράξη του πολλαπλασιασμού, έλεγχος της pipeline.
- Παράλληλος προγραμματισμός: ο Νόμος του Amdahl, σηματοφορείς, κλείδωμα, συγχρονισμός, αδιέξοδα και αποφυγή τους
- Παραλληλοποίηση: γράφος εξάρτησης, εμφωλευμένοι βρόχοι, απεικόνιση αλγορίθμων, μέθοδοι γραμμικής απεικόνισης, χρονοδρομολόγηση, βέλτιστες μέθοδοι χ/δ για ειδικές περιπτώσεις, ευρηστικές μέθοδοι χ/δ
- Παράλληλος προγραμματισμός με κοινή μνήμη, πολυνηματικός προγραμματισμός, POSIX Threads, πολυεπεξεργασία, μοντέλο OpenMP
- Παράλληλος προγραμματισμός με κατανεμημένη μνήμη, πέρασμα μηνυμάτων, μοντέλο MPI
- Προγραμματισμός με κάρτες γραφικών γενικού σκοπού General Purpose Graphical Processing Units (GPU), το μοντέλο CUDA
Διδακτικές και Μαθησιακές Μέθοδοι - Αξιολόγηση
Τρόπος Παράδοσης
- Πρόσωπο με πρόσωπο θεωρητική διδασκαλία (παράδοση, συζήτηση, επίλυση προβλημάτων)
- Προαιρετικές ασκήσεις παράλληλου προγραμματισμού
Χρήση Τεχνολογιών Πληροφορίας και Επικοινωνιών
- Χρήση της ηλεκτρονικής πλατφόρμας moodle.teithe.gr
Οργάνωση Διδασκαλίας
Δραστηριότητα | Φόρτος εργασίας εξαμήνου |
Διαλέξεις | 52 |
Ατομική Μελέτη και ανάλυση βιβλιογραφίας | 128 |
Σύνολο | 180 |
Αξιολόγηση φοιτητών
Τελική γραπτή εξέταση με συνδυασμό ερωτήσεων πολλαπλής επιλογής και ερωτήσεων ανάπτυξης
Προαιρετικές ασκήσεις
Συνιστώμενη Βιβλιογραφία
Συγγράμματα μέσω του συστήματος "Εύδοξος"
- Σ. Παπαδάκης και Κ. Διαμαντάρας, "Προγραμματισμός και Αρχιτεκτονική Συστημάτων Παράλληλης Επεξεργασίας", Εκδόσεις Κλειδάριθμος ΕΠΕ, 2012, ISBN: 978-960-461-446-2, Κωδικός Βιβλίου στον Εύδοξο: 12532275
- Hennessy John L., και Patterson David A., "Αρχιτεκτονική Υπολογιστών", Εκδόσεις Α. Τζιόλα και Υιοί Α.Ε., 4η Έκδοση/2011, ISBN: 978-960-418-326-5, Κωδικός Βιβλίου στον Εύδοξο: 18548925
- Peter S. Pacheco, "Εισαγωγή στον Παράλληλο Προγραμματισμό", Εκδόσεις Κλειδάριθμος ΕΠΕ, 1η Έκδοση, 2015, ISBN 978-960-461-666-4, Κωδικός Βιβλίου στον Εύδοξο: 50656351
- Γραμματή Πάντζιου, Βασίλειος Μάμαλης, Αλέξανδρος Τομαράς, "Εισαγωγή στον Παράλληλο Προγραμματισμό: Πρότυπα, Αλγόριθμοι, Προγραμματισμός", Εκδόσεις Νέων Τεχνολογιών, 1η Έκδοση, 2013, ISBN 978-960-6759-89-5, Κωδικός Βιβλίου στον Εύδοξο: 33134125