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¶
- The Art of Multiprocessor Programming readings:
Appendix B.2. B.3, B.4, B.5, B.7
Chapter 1.1, 1.6
- Go by Example
Pointers section
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