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