Sections
Y07 -- Parallel Systems
Y07 - Παραλληλα Συστηματα (Parallel Systems)
Spring 2018
Ο σκοπός του μαθήματος είναι να αποτελέσει μία εισαγωγή στην οργάνωση και τη χρήση των παράλληλων υπολογιστικών συστημάτων. Καλύπτει τις περισσότερες αρχιτεκτονικές κατηγορίες παράλληλων υπολογιστών, συμπεριλαμβανομένων των συστημάτων κοινής μνήμης, των πολυπύρηνων (multicores) και των συστημάτων με πολύ μεγάλο αριθμό πυρήνων (manycores), των υπολογιστικών συστάδων (clusters) και των γραφικών επεξεργαστών γενικού σκοπού (GPGPUs), τόσο από πλευράς οργάνωσης όσο και προγραμματισμού. Οι φοιτητές θα κληθούν να μελετήσουν ερευνητικές εργασίες που σχετίζονται με τα θέματα που θα μας απασχολήσουν στο μάθημα, να εξασκηθούν με τακτικές εργασίες και να φέρουν εις πέρας ένα σημαντικό project.
Μερικά απο τα θέματα που θα μας απασχολήσουν:
- Πολυεπεξεργαστικά και πολυπύρηνα συστήματα, διασύνδεση επεξεργαστών-μνημών, ιεραρχία μνήμης, προβλήματα και συνοχή των κρυφών μνημών (cache coherency), συνέπεια μνήμης (memory consistency)
- Παράλληλος προγραμματισμός με διεργασίες, νήματα και OpenMP
- Πολυϋπολογιστικά συστήματα και clusters, δίκτυα διασύνδεσης, διαδρόμηση και μεταγωγή υψηλών ταχυτήτων
- Παράλληλος προγραμματισμός με MPI και με μοντέλα υψηλότερου επιπέδου (π.χ. map-reduce)
- Οργάνωση (GP)GPUs και προγραμματιστικά μοντέλα (π.χ. OpenCL)
- Επιπλέον θέματα, ανάλογα με τον διαθέσιμο χρόνο και τα ενδιαφέροντα των φοιτητών.
Ελευθερα βιβλια
- Β. Δημακόπουλος, Παράλληλα Συστήματα και Προγραμματισμός,
Εκδόσεις ΣΕΑΒ, Μαρ. 2017 (1η αναθεωρημένη έκδοση)
- Το βιβλίο στο αποθετήριο Κάλλιπος
- Το βιβλίο σε μορφή PDF
- C. Severance, K. Dowd, High Performance Computing
- Marc Snir, et al, MPI: The Complete Reference
- Ian Foster, Designing and Building Parallel Programs
Αλλα αξιολογα textbooks
- P.S. Pacheco, Εισαγωγή στον παράλληλο προγραμματισμό, Κλειδάριθμος 2015
Μετάφραση του An introduction to parallel programming, Elsevier, 2011. - T. Rauber, G. Runger, Parallel Programming for Multicore and Cluster Systems, Springer, 2010
- A. Grama, G. Karypis, V. Kumar, A. Gupta, Introduction to Parallel computing (2nd ed), Addison Wesley, 2003.
- B. Wilkinson, M. Allen, Parallel programming: Techniques and applications using networked workstations and parallel computers (2nd ed), Prentice Hall, 2004.
Πρόγραμμα μαθήματος
Εβδ. | Ημ/νία | Θέμα | Υλικό | Εργασίες / Παρατηρήσεις |
---|---|---|---|---|
1 | 13/2 | Καλωσόρισμα, οργάνωση και περιεχόμενα μαθήματος. | ||
2 | 20/2 | Αργία Πανεπιστημίου | ||
3 | 27/2 | Επισκόπηση παράλληλων συστημάτων. Εισαγωγή στην κοινόχρηστη μνήμη. | Διαφάνειες | |
4 | 06/3 | Οργάνωση κοινόχρηστης μνήμης Ι: η διασύνδεση επεξεργαστών-μνημών. | Διαφάνειες | 1ο σετ ασκήσεων. (Έως: 20/3/2018) |
5 | 13/3 | Οργάνωση κοινόχρηστης μνήμης ΙI: η λειτουργία της μνήμης. | Διαφάνειες | 2ο σετ ασκήσεων. (Έως: 27/3/2018) |
6 | 20/3 | Προγραμματισμός με κοινόχρηστο χώρο διευθύνσεων Ι: νήματα POSIX | Διαφάνειες | 3ο σετ ασκήσεων. (Έως: 3/4/2018) |
7 | 27/3 | Προγραμματισμός με κοινόχρηστο χώρο διευθύνσεων ΙI: OpenMP | Διαφάνειες | 4ο σετ ασκήσεων. (Έως: 30/4/2018) |
8 | 17/4 | Οργάνωση κατανεμημένης μνήμης Ι: το δίκτυο διασύνδεσης | Διαφάνειες | |
9 | 24/4 | Οργάνωση κατανεμημένης μνήμης ΙI: μεταγωγή, NUMA, clusters, DSM | Διαφάνειες | |
10 | 2/5 | Προγραμματισμός με μεταβίβαση μηνυμάτων (I) | Διαφάνειες | Ανάθεση θεμάτων παρουσιάσεων |
11 | 8/5 | Προγραμματισμός με μεταβίβαση μηνυμάτων (II) | 5ο σετ ασκήσεων. (Έως: 26/5/2018) |
|
12 | 15/5 | Μετρικές και επιδόσεις | Διαφάνειες | Ανάθεση projects |
13 | 22/5 | Παρουσιάσεις θεμάτων | » Parallel FS + LUSTRE » InfiniBand + DragonFly » ArgoDSM |
Παρουσιάσεις θεμάτων (mini-projects)
- Parallel file systems / Lustre (Αριστείδης)
- Infiniband / DragonFly (Γιώργος)
- Software DSM / ArgoDSM (Τάσος)
Projects
- Υλοποίηση merge sort με OpenMP, MPI και hybrid MPI + OpenMP
- Λαβύρινθοι και OpenMP με cancellations
- Phoenix map-reduce over shared-mamory