M2: Shared Memory Architectures¶
This second modules provides an 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¶
Note: The pre-recorded videos for M2 will be posted after Tuesday’s lecture.
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 3 sections:
2.1 - Race Conditions
2.2- Instruction Level Parallelism in Hardware
2.3 - Improving Data Access Performance
The slides presented in lecture and these videos are accessible on our Canvas Page. Click on the Files link and you then can download the m2.zip file.
Resources/Readings¶
The slides and code presented in this module are accessible on our Canvas Page. Click on the Files link and you then can download the m2.zip file.
- 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)¶
As a reminder here are the dates and times for the synchronous session for this module:
- Dates/Times
Section 1: Tuesday October 4th @ 12:30pm-2:20pm
- Discussion Outline
Overview and programming shared memory systems
Structuring parallel programs
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 Wednesday evenings.
Homework #2, due Wednesday October 12th at 11:59pm CDT