M2: Parallel Hardware Architectures

This second modules provides an overview of various classifications of parallel hardware architectures with an in-depth examination of the components that makes up a shared memory architecture (i.e., basis of many consumer based computer systems). We will examine how we can use these shared memory systems to begin implementing parallel programs.

Pre-recorded Lectures

The pre-recorded lectures are available here: M2 Videos. You can also find the videos under the “Panopto” tab on the MPCS 52060 canvas site.

The lectures are a series of approx 20-30 minute videos divided into 4 sections:

  • 2.1 - Parallel Hardware Classifications

  • 2.2 - Shared Memory Systems (Part 1)

  • 2.3 - Shared Memory Systems (Part 2)

  • 2.4 - Caches

The slides presented in these videos are accessible in the upstream repository or here: M2 Resources.

Resources/Readings

Synchronous Session (In-person)

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

  • Dates/Times
    • Section 1: Wednesday April 6th @ 5:30pm-7:00pm

  • Discussion Outline
    • Overview of programming on shared memory systems

    • Low-Level synchronization mechanisms: Atomic operations

    • Q&A on the pre-recorded lectures

Check the upstream repository at the start of class to retrieve the code snippets that will be discussed in the synchronous session.

Assignment

Assignments are always due on Thursday evenings.