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

  • M3 Slides

  • 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