M6: Concurrent Execution Models¶
In this sixth 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¶
The pre-recorded lectures are available here: M6 Videos. You can also find the videos under the “Panopto” tab on the MPCS 52060 canvas site.
The lectures are a series of approx 5-20 minute videos divided into 5 sections:
6.1 - Introduction to Thread Scheduling
6.2 - Threading Models
6.3 - Go Runtime Scheduler
6.4 - Introduction to Channels
6.5 - Channel Examples
6.6 - Channel Generators
The slides/code presented in these videos are accessible in the upstream repository under the m6/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 Sessions¶
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 1: Thursday November 4th @ 4:00pm-5:20pm
- Discussion Outline
CSP Model in Golang
Golang Channel Patterns
Q&A on the pre-recorded lectures
Assignment¶
Assignments are always out and due on Friday evenings.
Homework #4, due November 11th at 11:59pm CDT
Project #2 (Coming Soon), due November 18th at 11:59pm CDT