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 - 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 Session (In-person)

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

  • Dates/Times
    • Section: Tuesday November 8th @ 12:30pm-2:20pm

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

    • Thread Pools and Futures

    • Work Distribution (Dealing & Stealing)

    • Work Stealing and ABA Problem

Assignment

Assignments are always out and due on Wednesday evenings.