Parallelism and concurrency
Summary
The course introduces shared-memory concurrency, as well as parallel programming, algorithms, and data structures.
Content
(See https://gitlab.epfl.ch/lamp/cs206 for more information.)
Threads and fork/join parallelism
Synchronization
Java Memory Model
Parallel programming
Data-level parallelism
Task-level parallelism
Futures
Keywords
Parallelism, threads, synchronization, locks, memory models.
Learning Prerequisites
Required courses
- Functional programming (CS-210)
- Algorithms (CS-250)
- Computer Architecture (CS-208)
Recommended courses
System oriented programming (CS-207)
Important concepts to start the course
Algorithms and data structures
Learning Outcomes
By the end of the course, the student must be able to:
- Construct parallel software.
- Perform tuning of parallel software.
- Design concurrent system
Transversal skills
- Communicate effectively with professionals from other disciplines.
Teaching methods
Ex cathedra, labs, exercices
Expected student activities
- Attend lectures
- Participate in exercise hours
- Attend labs
- Submit solutions to labs
- Take mid-term exam
- Take final exam
Assessment methods
Graded labs, mid-term exam, final exam
Supervision
Office hours | Yes |
Assistants | Yes |
Forum | Yes |
Resources
Virtual desktop infrastructure (VDI)
No
Bibliography
- Maurice Herlihy and Nir Shavit. 2012. The Art of Multiprocessor Programming, Revised Reprint (1st. ed.). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.
(available from EPFL library)
Ressources en bibliothèque
Notes/Handbook
Copies of the slides
Websites
Moodle Link
Dans les plans d'études
- Semestre: Printemps
- Forme de l'examen: Pendant le semestre (session d'été)
- Matière examinée: Parallelism and concurrency
- Cours: 1 Heure(s) hebdo x 14 semaines
- Exercices: 1 Heure(s) hebdo x 14 semaines
- TP: 2 Heure(s) hebdo x 14 semaines
- Semestre: Printemps
- Forme de l'examen: Pendant le semestre (session d'été)
- Matière examinée: Parallelism and concurrency
- Cours: 1 Heure(s) hebdo x 14 semaines
- Exercices: 1 Heure(s) hebdo x 14 semaines
- TP: 2 Heure(s) hebdo x 14 semaines
Semaine de référence
Lu | Ma | Me | Je | Ve | |
8-9 | |||||
9-10 | |||||
10-11 | |||||
11-12 | |||||
12-13 | |||||
13-14 | |||||
14-15 | |||||
15-16 | |||||
16-17 | |||||
17-18 | |||||
18-19 | |||||
19-20 | |||||
20-21 | |||||
21-22 |
Légendes:
Cours
Exercice, TP
Projet, autre