Parallelism and concurrency
Summary
The course introduces parallel programming models, algorithms, and data structures, map-reduce frameworks and their use for data analysis, as well as shared-memory concurrency.
Content
See https://lara.epfl.ch/w/parcon17:top
Parallel programming & execution models
Functional parallelism
Data-level parallelism
Threads and fork/join parallelism
Synchronization
Threads and Shared Memory in Java
Futures
Large-Scale Parallel programming using Apache Spark
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
Functional programming and functional data structures
Algorithms and data structures
Learning Outcomes
By the end of the course, the student must be able to:
- Construct parallel software.
- Perform tuning parallel software.
Teaching methods
Ex cathedra, labs, exercices
Assessment methods
With continuous control
Resources
Notes/Handbook
Lecture notes, copies of the slides
In the programs
- Semester: Spring
- Exam form: During the semester (summer session)
- Subject examined: Parallelism and concurrency
- Lecture: 1 Hour(s) per week x 14 weeks
- Exercises: 1 Hour(s) per week x 14 weeks
- Project: 2 Hour(s) per week x 14 weeks
- Semester: Spring
- Exam form: During the semester (summer session)
- Subject examined: Parallelism and concurrency
- Lecture: 1 Hour(s) per week x 14 weeks
- Exercises: 1 Hour(s) per week x 14 weeks
- Project: 2 Hour(s) per week x 14 weeks
- Semester: Spring
- Exam form: During the semester (summer session)
- Subject examined: Parallelism and concurrency
- Lecture: 1 Hour(s) per week x 14 weeks
- Exercises: 1 Hour(s) per week x 14 weeks
- Project: 2 Hour(s) per week x 14 weeks
Reference week
Mo | Tu | We | Th | Fr | |
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:
Lecture
Exercise, TP
Project, other