M5: Concurrent Objects (Part 2)

This fifth module we continue our discussion on concurrent objects by looking at concurrent based implementations of pool-based objects such as, queues,stacks and concurrent hash tables.

Pre-recorded Lectures

The pre-recorded lectures are available here: M5 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 5 sections:

  • 5.0.1 - Introduction to Concurrent Pools

  • 5.0.2 - Bounded & Lock-free Queues

  • 5.1 - Lock Free Stack

The slides/code presented in these videos are accessible in the upstream repository under the m5/resources directory. Please reach out to me if you do not have access to this repository.

Resources/Readings

  • The Art of Multiprocessor Programming readings:
    • Ch. 10.1,1.2,10.3,10.5,10.6

    • Ch. 11.1, 11.2

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 25th @ 12:30pm-1:30pm

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

    • Lazy Linked-List

    • Concurrent Hash tables

Assignment

Assignments are always due on Thursday evenings (with the exceptions on some projects).