M4: Concurrent Objects (Part 1)¶
This fourth module provides an introduction to building higher-level concurrent objects. We will first start with learning about how we can build a concurrent linked list and then move on to other common data structures such as Queues and Stacks next week.
Pre-recorded Lectures¶
The pre-recorded lectures are available here: M4 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:
4.1 - Concurrent Objects and Concurrent Linked Lists Introduction
4.2 - Coarse Grain Linked Lists
4.3 - Fine Grain Synchronization
4.4 - Optimistic Synchronization
The slides/code presented in these videos are accessible in the upstream repository under the m4/resources
directory. Please reachout to me if you do not have access to this repository.
Resources/Readings¶
- The Art of Multiprocessor Programming readings:
Ch. 3.1, 3.2,3.4,3.5
Ch. 7.5, 7.6
Ch. 8.1, 8.2.1, 8.5
Ch. 9.1, 9.2, 9.3, 9.4
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 18th @ 12:30pm-2:20pm
- Discussion Outline
Q&A on the pre-recorded lectures
Additional Low-Level Primitives
Implementations of Concurrent Linked-Lists
Assignment¶
Assignments are normally out and due on Wednesday evenings.
Project #1, due Wednesday November 2nd at 11:59pm CDT