[CS-453] Concurrent Computing
2024, autumn semester. Master course.
This course is independent from the course Distributed Algorithms.
Prerequisites | ICC, Operating Systems | |
Recommendations | Algorithms, concurrency |
Presentation of the course: YouTube
Textbook: Algorithms for Concurrent Systems
General information: The course page is available on Moodle. We encourage students to register on Moodle, in order to get all the course announcements by email. Students can use Moodle to ask questions about the exercise sessions and/or the project.
Slides from the course (2024)
Introduction: PDF
Registers: PDF
The Power of Registers: PDF
The Limitations of Registers: PDF
Universal Constructions: PDF
Consensus with Timing Assumptions: PDF
RDMA & Concurrent Algorithms (by Igor Zablotchi): PDF
Anonymous Processes: PDF
Transactional Memory: PDF
Efficient Concurrent Aggregate Queries (by Gal Sela): PDF
Concurrent Programming: From Theory to Practice (by Vasileios Trigonakis): PDF
Lecture by Aleksandar Dragojevic: Why lock-free synchronization?
References
- Maurice Herlihy and Nir Shavit The Art of Multiprocessor Programming, Revised Reprint Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2012, ISBN-10 0123973376.
- Hagit Attiya and Jennifer Welch Distributed Computing: Fundamentals, Simulations, and Advanced Topics. John Wiley and Sons, Inc., ISBN 0-471-45324-2.
- Herlihy, M. P. Wait-free synchronization. ACM Transactions on Programming Languages and Systems, 13(1):124–149, January 1991.
- Herlihy, M. P., and Wing, J. M. Linearizability: a Correctness Condition for Concurrent Objects. ACM Transactions on Programming Languages and Systems, 12, 3 (1990), 463-492.
- Jayanti, P., Wait-free computing. In Proceedings of the 9th International Workshop on Distributed Algorithms (WDAG'95), Vol. 972 of LNCS, Springer Verlag, 1995, pp. 19–50. (on-line version not available)
- Lamport, L. On Interprocess Communication−Part I: Basic Formalism, Part II: Algorithms. Distributed Computing, 1, 2 (1986), 77–101.
- Damien Imbs, Michel Raynal. Visiting Gafni's Reduction Land: from the BG Simulation to the Extended BG Simulation. Research Report PI 1931, 2009, pp.12.
- Armando Casta~neda, Sergio Rajsbaum, Michel Raynal. The Renaming Problem in Shared Memory Systems: an Introduction . Research Report PI-1960, 2010, pp.29.
Previous year recordings (2020)
Warning! Some of those videos might be outdated! Following them instead of the actual lectures is at your own risk.
Week(s) | Lecture | Slides | Exercises | Videos | ||||
---|---|---|---|---|---|---|---|---|
1 | No class | No lecture | No exercises | |||||
2 | Introduction | PDF, video | No exercises | |||||
3 | Project Introduction | No exercises | ||||||
4 | Registers | PDF, video1 | i, ii, iii | |||||
5 | Registers | video2 | ||||||
6 | Registers | video3 | ||||||
7 | The Power of Registers | PDF, video | i, ii | |||||
8 | The Limitations of Registers | PDF, video | i, ii | |||||
9 | Universal Constructions | PDF, video | i, ii | |||||
10 | Implementing Consensus with Timing Assumptions | PDF, video | i, ii | |||||
11 | Anonymous Processes | PDF, paper, video | ||||||
12 | Transactional Memory | PDF, video | ||||||
13 | Why lock-free synchronization? (Aleksandar Dragojevic) | video | ||||||
14 | Concurrent programming: From theory to practice | PDF, video |