M3: Principles of Mutual Exclusion¶
This third modules covers the theory behind mutual exclusion and provide practical implementations of locks.
Pre-recorded Lectures¶
Note: The pre-recorded videos for M3 will be posted after Wednesday’s lecture.
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 20-30 minute videos divided into the following sections:
3.0 - TAS Locks
3.1 - Parallel Performance (Starts slide 90)
3.2 - Fairness and Efficient Lock Implementations (Starts slide 111)
Using SLURM server
The slides presented in these videos are accessible in the upstream repository.
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 Session (In-person Lecture)¶
As a reminder here are the dates and times for the synchronous session for this module:
- Dates/Times
Wednesday April 3rd @ 5:30pm-7:20pm
- Session Outline
Q&A on the pre-recorded lectures
Memory Models
Theoretical principles of mutual exclusion
Implementations of Locks
Check the upstream repository at the start of class to retrieve the code snippets that will be discussed in the synchronous session.
Assignment¶
Assignments are always due on Thursday evenings.
Project #1, due Thursday April 18th at 11:59pm CDT