M7: Advanced Parallel Scheduling Techniques (Part 1)¶
In this seventh module, we will begin to look at more ways to dynamically distribute work to threads in a parallel program. Specifically, we will look at the futures, work dealing and stealing algorithms.
Pre-recorded Lectures¶
The pre-recorded lectures are available here: M7 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:
7.1 - Thread Pools and Futures
7.2 - Work Distribution (Dealing & Stealing)
7.3 - Work Stealing and ABA Problem
7.4 - Work Stealing Algorithm
7.5 - BSP Model
The slides/code presented in these videos are accessible in the upstream repository under the m7/resources
directory. Please reachout to me if you do not have access to this repository.
Resources/Readings¶
- The Art of Multiprocessor Programming readings:
Ch. 16.1, 16.4, 16.5
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 1: Thursday November 11th @ 4:00pm-5:20pm
- Discussion Outline
Work balancing implementation
Review the BSP Model
Profiling Go Programs
Q&A on the pre-recorded lectures
Assignment¶
Assignments are always out and due on Friday evenings.
Homework #4, due Thursday November 11th at 11:59pm CDT
Project #2, due Thursday November 18th at 11:59pm CDT