FCDS Summer Term 2024 (APB, Room E010)
Concurrent Programming
To write correct, concurrent algorithms, we need to synchronize the access to shared variables. Synchronization introduces overheads that can slow down threads. It might even cause some threads to make no progress (livelocks, deadlocks). The main underlying idea is to ensure that a concurrent program as a whole always makes progress (lock-free) and ideally, each thread makes progress (wait-free).
This course includes two lectures on Tuesdays. One starting at 9:20 and the second at 11:10.
Lecture Slides: Tuesdays 9:20 am - 12:40 pm
Date | Lecture Slides & Screencasts | Note |
---|---|---|
09.04.2024 | Introduction [pdf][screencast] | APB, Room E010 |
09.04.2024 | Synchronization [pdf][Screencast] | APB, Room E010 |
16.04.2024 | Mutex [pdf][screencast] | APB, Room E010 |
23.04.2024 | Linearizability [pdf][screencast] | APB, Room E010 |
30.04.2024 | List [pdf][screencast] | APB, Room E010 |
07.5.2024 | Queues and Stacks [pdf][screencast] | APB, Room E010 |
14.5.2024 | Hash Sets [pdf][screencast] | APB, Room E010 |
28.5.2024 | Cache [pdf][screencast] and HTM [pdf][screencast] | APB, Room E010 |
4.6.2024 | Consensus [pdf][screencast] | APB, Room E010 |
11.6.2024 | NO LECTURE | --- |
18.6.2024 | Universal Construction [pdf][screencast] | APB, Room E010 |
25.6.2024 | Barriers [pdf][screencast] SkipList [pdf][screencast] |
APB, Room E010 |
2.7.2024 | Counting & Futex [pdf][screencast] | APB, Room E010 |
9.7.2024 | NO LECTURE | --- |
16.7.2024 | Q&A | APB, Room E010 |