Προηγμένα Υπολογιστικά Συστήματα: Τεχνικές Βελτιστοποίησης Κώδικα για Πολυεπεξεργαστικές Αρχιτεκτονικές


Κωδικός 632
Εξάμηνο Χειμερινό
Ώρες Διδασκαλίας - Ώρες Εργαστηρίου 3 - 0
Διδάσκοντες Γεώργιος Γκούμας

Περιγραφή

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

Σύγχρονοι Επεξεργαστές: Πολυνηματικοί, Ύπερβαθμωτοί, Πολλαπλών Πυρήνων. Ιεραρχίες Αρχιτεκτονικών Κρυφών Μνημών. Τεχνικές Βελτιστοποίησης Κώδικα: Ανάλυση Εξαρτήσεων, Μετασχηματισμοί επαναληπτικών Βρόχων, πρόβλεψη διακλάδωσης, μετασχηματισμοί δεδομένων. Βελτιστοποίηση τοπικότητας αναφοράς σε κρυφές μνήμες για τη μείωση των αστοχιών (cache & TLB misses), Πολυνηματικός Προγραμματισμός για συστήματα πολλαπλών πυρήνων & πολλαπλών επεξεργαστών.