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-30 minute videos divided into 4 sections:

  • 3.1 - Parallel Performance (Starts slide 90)

  • 3.2 - Fairness and Efficient Lock Implementations (Starts slide 111)

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)

As a reminder here are the dates and times for the synchronous session for this module:

  • Dates/Times
    • Section 1: Tuesday October 11th @ 12:30pm-2:20pm

  • Discussion Outline
    • Q&A on the pre-recorded lectures

    • Theoretical principles of mutual exclusion

    • Implementations of Locks

    • Parallel Performance [if time permits]

Assignment

Assignments are always out and due on Wednesday evenings.

  • Homework #3, due Wednesday October 19th at 11:59pm CDT