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 or Remote)

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 : Thursday October 7th @ 4:00pm-5:20pm

  • 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.

  • Homework #2, due Thursday October 14th at 11:59pm CDT