Please ensure Javascript is enabled for purposes of website accessibility

Παρουσίαση/Προβολή

Εικόνα επιλογής

ΠΜΣ Παράλληλα Υπολογιστικά Συστήματα

(Μ127) -  Βασίλειος Καρακώστας

Περιγραφή Μαθήματος

Το μάθημα καλύπτει την αρχιτεκτονική παράλληλων συστημάτων καθώς επίσης και τον προγραμματισμό τους, μέσω της σχεδίασης, της ανάπτυξης και της αξιολόγησης παράλληλων εφαρμογών. Εισαγωγή στην παράλληλη υπολογιστική (ανάγκη και προκλήσεις). Παράλληλο υλικό (συστήματα SIMD, MIMD, GPUs, δίκτυα διασύνδεσης, συνοχή και συνέπεια κρυφής μνήμης, συστήματα κοινόχρηστης και κατανεμημένης μνήμης). Παράλληλο λογισμικό (διεργασίες, πολυεργασίες, νήματα, συγχρονισμός και επικοινωνία σε κοινό χώρο διευθύνσεων και μέσω ανταλλαγής μηνυμάτων). Μέτρα επιτάχυνσης, επίδοσης, κλιμάκωσης. Ανάπτυξη παράλληλων προγραμμάτων (μεθοδολογία σχεδιασμού και αξιολόγησης παράλληλων εφαρμογών). Παραλληλία δεδομένων (data parallelism) και εργασιών (task parallelism). Προγραμματισμός εφαρμογών με χρήση SIMD extensions, προγραμματισμός συστημάτων κοινόχρηστης μνήμης με Pthreads και OpenMP, προγραμματισμός συστημάτων κατανεμημένης μνήμης με MPI, προγραμματισμός καρτών γραφικών (CUDA), και υβριδικός συνδυασμός τους. Προηγμένες τεχνικές συγχρονισμού και προγραμματισμού συστημάτων κοινόχρηστης και κατανεμημένης μνήμης. Διεπαφές προγραμματισμού ετερογενών υπολογιστικών συστημάτων.

Ημερομηνία δημιουργίας

Τρίτη 5 Οκτωβρίου 2021

  • Περιεχόμενο μαθήματος

    Το μάθημα καλύπτει την αρχιτεκτονική παράλληλων συστημάτων καθώς επίσης και τον προγραμματισμό τους, μέσω της σχεδίασης, της ανάπτυξης και της αξιολόγησης παράλληλων εφαρμογών. Εισαγωγή στην παράλληλη υπολογιστική (ανάγκη και προκλήσεις). Παράλληλο υλικό (συστήματα SIMD, MIMD, GPUs, δίκτυα διασύνδεσης, συνοχή και συνέπεια κρυφής μνήμης, συστήματα κοινόχρηστης και κατανεμημένης μνήμης). Παράλληλο λογισμικό (διεργασίες, πολυεργασίες, νήματα, συγχρονισμός και επικοινωνία σε κοινό χώρο διευθύνσεων και μέσω ανταλλαγής μηνυμάτων). Μέτρα επιτάχυνσης, επίδοσης, κλιμάκωσης. Ανάπτυξη παράλληλων προγραμμάτων (μεθοδολογία σχεδιασμού και αξιολόγησης παράλληλων εφαρμογών). Παραλληλία δεδομένων (data parallelism) και εργασιών (task parallelism). Προγραμματισμός εφαρμογών με χρήση SIMD extensions, προγραμματισμός συστημάτων κοινόχρηστης μνήμης με Pthreads και OpenMP, προγραμματισμός συστημάτων κατανεμημένης μνήμης με MPI, προγραμματισμός καρτών γραφικών (CUDA), και υβριδικός συνδυασμός τους. Προηγμένες τεχνικές συγχρονισμού και προγραμματισμού συστημάτων κοινόχρηστης και κατανεμημένης μνήμης. Διεπαφές προγραμματισμού ετερογενών υπολογιστικών συστημάτων.

    Μαθησιακοί στόχοι

    Να εισάγει τους φοιτητές και τις φοιτήτριες στις παράλληλες αρχιτεκτονικές και στον παράλληλο προγραμματισμό.


    Με την επιτυχή ολοκλήρωση του μαθήματος ο φοιτητής/φοιτήτρια θα είναι σε θέση να:

    • Έχει κατανόηση της οργάνωσης του υλικού και λογισμικού των παράλληλων συστημάτων.
    • Αναφέρει τις σημαντικές σύγχρονες τεχνικές αύξησης της απόδοσης των μικροεπεξεργαστών μέσω παραλληλίας εντολών και δεδομένων, καθώς επίσης και τα πλεονεκτήματα και μειονεκτήματα που προσφέρουν.
    • Περιγράφει την ιδέα και τις βασικές λεπτομέρειες υλοποίησης της πολυνημάτωσης (fine-grain, coarse-grain, simultaneous multithreading), των διανυσματικών αρχιτεκτονικών, των εντολών SIMD, των μονάδων επεξεργασίας γραφικών, των πολυπύρηνων επεξεργαστών, και των δικτύων διασύνδεσης.
    • Εξηγεί και επιλύει προβλήματα ορθότητας και επίδοσης που σχετίζονται με τη παράλληλη επεξεργασία.
    • Ορίζει και χρησιμοποιεί τα μέτρα της επιτάχυνσης, αποδοτικότητας ως κριτήρια επιδόσεων παράλληλων  εφαρμογών.
    • Χρησιμοποιεί τους διάφορους μηχανισμούς συγχρονισμού λαμβάνοντας υπόψη την υλοποίηση τους και τον αντίκτυπό τους στην επίδοση παράλληλων εφαρμογών.
    • Προγραμματίζει σύγχρονα και ετερογενή παράλληλα συστήματα.
    • Σχεδιάζει, αναπτύσσει και αξιολογεί παράλληλες εφαρμογές σε Pthreads, OpenMP, MPI και CUDA, καθώς και με υβριδικό συνδυασμό τους.

    Βιβλιογραφία

    Η διδασκαλία του μαθήματος βασίζεται στο βιβλίο "Εισαγωγή στον Παράλληλο Προγραμματισμό", του Peter S. Pacheco, (μετάφραση και επιστημονική επιμέλεια στα ελληνικά: Δ.Γκιζόπουλος), Εκδόσεις Κλειδάριθμος, 2015. (τίτλος πρωτότυπου: "An introduction to Parallel Programming", 1st Edition, Elsevier/Morgan Kaufmann).

    Επίσης, θα χρησιμοποιηθεί υλικό από το βιβλίο "Παράλληλα συστήματα και προγραμματισμός", του Βασιλείου Δημακόπουλου, Εκδόσεις Κάλλιπος (http://hdl.handle.net/11419/3209), καθώς επίσης και από το βιβλίο "Προγραμματισμός Μαζικά Παράλληλων Επεξεργαστών", των David B. Kirk και Wen-mei W. Hwu, Εκδόσεις Κλειδάριθμος, 2010.

    Σημειώσεις και διαφάνειες για παράλληλο προγραμματισμό στα περιβάλλοντα Pthreads, OpenMP, MPI, CUDA.

    Διδάσκοντες

    Βασίλειος Καρακώστας, Επίκουρος Καθηγητής (https://cgi.di.uoa.gr/~vkarakos/)