M5: Concurrent Execution Models¶
In this fifth module, we will look at how threads are managed on different operating systems and how the Golang scheduler actually works! We will also explore the actually concurrent mechanism that Golang requests you use (i.e., channels).
Pre-recorded Lectures¶
Note: The pre-recorded videos for M5 will be posted after Wednesday’s lecture.
The pre-recorded lectures are available here: M5 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 the following sections:
5.1: Introduction to Thread Scheduling
5.2: Threading Models
5.3: Go Runtime Scheduler
The slides/code presented in these videos are accessible in the upstream repository under the m5/resources
directory. Please reachout to me if you do not have access to this repository.
Resources/Readings¶
None for this module. All the material is presented in the lecture slides and examples inside the m6 directory.
Synchronous Session (In-person Lecture)¶
As a reminder here are the dates and times for the synchronous session for this module:
- Dates/Times
Wednesday April 24th @ 5:30pm-7:20pm
- Session Outline
Q&A on the pre-recorded lectures
Concurrent Hash tables
Go Currency Model
Go Design/Patterns
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.
Project #2, due Thursday May 2nd at 11:59pm CDT