M3: Principles of Mutual Exclusion¶
This third modules covers the theory behind mutual exclusion and provide practical implementations of locks.
Pre-recorded Lectures¶
The pre-recorded lectures are available here: M3 Videos. You can also find the videos under the “Panopto” tab on the MPCS 52060 canvas site.
The lectures are a series of approx 5-20 minute videos divided into 4 sections:
3.1 - Principles of Concurrent Locks
3.2 - Theoretical Lock Implementations
3.3 - Bakery Algorithm
3.4 - Parallel Performance
3.5 - Introduction to Practical Lock Implementations
The slides presented in these videos are accessible in the upstream repository or here: M3 Slides.
Resources/Readings¶
- The Art of Multiprocessor Programming readings:
Chapter 1.5,
Chapter 2.1, 2.1, 2.4, and 2.6
Chapter 7.1, 7.2, 7.3, 7.4, 7.5.1
Appendix B.8
Synchronous Sessions¶
You will find the links to the Zoom sessions on Canvas. As a reminder here are the dates and times for the synchronous session for this module:
- Dates/Times
Section 2: Thursday October 14th @ 4:00pm-5:20pm
- Discussion Outline
Low-Level Synchronization Primitives
Implementations of Locks
Q&A on the pre-recorded lectures
Interacting with the CS Cluster [if time permits]
Assignment¶
Assignments are always out on Thursday evenings.
Homework #3, due Thursday October 21st at 11:59pm CDT