Προγραμματισμός Συστημάτων

Κωδικός Μαθήματος
CEID_25Υ401
Εξάμηνο
7, Χειμερινό
Τομέας
Τομέας Λογικού των Υπολογιστών, Τομέας Υλικού και Αρχιτεκτονικής των Υπολογιστών
Διδάσκων
ΠΑΠΑΔΗΜΗΤΡΙΟΥ ΓΕΩΡΓΙΟΣ, ΧΑΤΖΗΔΟΥΚΑΣ ΠΑΝΑΓΙΩΤΗΣ
ECTS
5

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

Το μάθημα περιλαμβάνει τις ακόλουθες θεματικές ενότητες:

  • Βασικές έννοιες απόδοσης (FLOPs, MIPS, χρόνος εκτέλεσης)
  • Επεξεργαστές: ILP, pipelines, superscalar, VLIW
  • Διεργασίες και IPC (διαδιεργασιακή επικοινωνία)
  • Θεμελιώδεις αρχές παραλληλισμού (Νόμος Amdahl, Ταξινόμηση Flynn)
  • Χρήση Threads και βελτιστοποιήσεις μεταγλωττιστή
  • Παράλληλος προγραμματισμός με OpenMP (basic → advanced → tasks)
  • SIMD και Vectorization
  • Κρυφές μνήμες και πολυπύρηνα συστήματα (MIMD)
  • Συνοχή και συνέπεια μνήμης (atomic, critical, MSI κ.ά.)
Μετάβαση στο περιεχόμενο