Y07 - Παραλληλα Συστηματα (Parallel Systems)
Fall 2013

Ο σκοπός του μαθήματος είναι να αποτελέσει μία εισαγωγή στην οργάνωση και τη χρήση των παράλληλων υπολογιστικών συστημάτων. Καλύπτει τις περισσότερες αρχιτεκτονικές κατηγορίες παράλληλων υπολογιστών, συμπεριλαμβανομένων των συστημάτων κοινής μνήμης, των πολυπύρηνων (multicores) και των συστημάτων με πολύ μεγάλο αριθμό πυρήνων (manycores), των υπολογιστικών συστάδων (clusters) και των γραφικών επεξεργαστών γενικού σκοπού (GPGPUs), τόσο από πλευράς οργάνωσης όσο και προγραμματισμού. Οι φοιτητές θα κληθούν να μελετήσουν ερευνητικές εργασίες που σχετίζονται με τα θέματα που θα μας απασχολήσουν στο μάθημα, να εξασκηθούν με τακτικές εργασίες και να φέρουν εις πέρας ένα σημαντικό project.

Μερικά απο τα θέματα που θα μας απασχολήσουν:

  • Πολυεπεξεργαστικά και πολυπύρηνα συστήματα, διασύνδεση επεξεργαστών-μνημών, ιεραρχία μνήμης, προβλήματα και συνοχή των κρυφών μνημών (cache coherency), συνέπεια μνήμης (memory consistency)
  • Παράλληλος προγραμματισμός με διεργασίες, νήματα και OpenMP
  • Πολυϋπολογιστικά συστήματα και clusters, δίκτυα διασύνδεσης, διαδρόμηση και μεταγωγή υψηλών ταχυτήτων
  • Παράλληλος προγραμματισμός με MPI και με μοντέλα υψηλότερου επιπέδου (π.χ. map-reduce)
  • Οργάνωση (GP)GPUs και προγραμματιστικά μοντέλα (π.χ. OpenCL)
  • Επιπλέον θέματα, ανάλογα με τον διαθέσιμο χρόνο και τα ενδιαφέροντα των φοιτητών.

Πρόγραμμα μαθήματος

Εβδ. Ημ/νία Θέμα Υλικό Εργασίες / Παρατηρήσεις
1 15/10 Καλωσόρισμα, οργάνωση και περιεχόμενα μαθήματος.
2 22/10 Επισκόπηση παράλληλων συστημάτων. Εισαγωγή στην κοινή μνήμη. Διαφάνειες
3 29/10 Οργάνωση κοινής μνήμης Ι: η διασύνδεση επεξεργαστών-μνημών. Διαφάνειες Μελέτη paper.
4 5/11 Οργάνωση κοινής μνήμης ΙI: η λειτουργία της μνήμης. Διαφάνειες 1ο σετ ασκήσεων.
(Έως: 19/11/2013)
5 12/11 Προγραμματισμός συστημάτων κοινόχρηστης μνήμης Ι Διαφάνειες
6 19/11 Προγραμματισμός συστημάτων κοινόχρηστης μνήμης Ι Διαφάνειες 2ο σετ ασκήσεων.
7 26/11 Προγραμματισμός συστημάτων κοινόχρηστης μνήμης ΙI Διαφάνειες 3ο σετ ασκήσεων.
8 3/12 Συστήματα κατανεμημένης μνήμης Ι Διαφάνειες
9 10/12 Συστήματα κατανεμημένης μνήμης ΙI Διαφάνειες Θέματα παρουσιάσεων
10 17/12 Προγραμματισμός συστημάτων κατανεμημένης μνήμης Διαφάνειες Αναθέσεις projects
4ο σετ ασκήσεων (διαφάνειες)
11 7/1
12 14/1 Παρουσιάσεις θεμάτων
13 21/1 Παρουσιάσεις θεμάτων

Παρουσιάσεις θεμάτων

Φοιτητής Θέμα Φοιτητής Θέμα
ΑκεστορίδηςMap-Reduce + HadoopΒόγκληςAmdahl's law revisited
ΓκαιρώPGAS languagesΘεοδωράκηςGPU organization
ΚούτραςMap-Reduce + PhoenixΚουφούληςPregel
ΠαπαδογιαννάκηςOpenCLΠαπαδόπουλοςSoftware-defined caches
ΠαροτσίδηςCilkΧαμάληςCUDA

Οι παρουσιάσεις θα γίνουν στις 14 και 21/1/2014.

Projects

Ομάδα Project
Γκαιρώ-ΠαπαδόπουλοςΣουίτα starbench σε OpenMP
Θεοδωράκης-ΚουφούληςΠαράλληλος προγραμματισμός σε android
Κούτρας-ΧαμάληςMap-reduce σε κοινόχρηστη μνήμη (Phoenix, Metis)
Βόγκλης-ΠαπαδογιαννάκηςΣουίτα lonestar σε OpenMP
Ακεστορίδης-ΠαροτσίδηςΠαράλληλο daltonization