CS 332 s20 — Other Approaches to Concurrency

Table of Contents

1 Video Lecture

Please watch the video lecture: It contains sections on

  1. Introduction (0:00)
  2. Announcements (0:41)
  3. Data Parallel Programming (2:48)
  4. Imperative vs Declarative (7:04)
  5. Message Passing (8:04)
  6. Actor Model (12:43)
  7. Communicating Sequential Processes (15:53)
  8. fork-join in C vs CSP in GO (18:04)
  9. Asynchronous I/O (20:16)
  10. Asynchronous I/O in Linux (22:15)
  11. Use a Single Thread to Wait for I/O Events (23:32)
  12. Event-Driven Programming (25:14)
  13. Event-Driven Programming vs Threads (27:22)
  14. Reading: Event-based Concurrency (30:10)
  15. end notes (30:45)

The Panopto viewer has table of contents entries for each slide (https://carleton.hosted.panopto.com/Panopto/Pages/Viewer.aspx?id=69f591d4-86d5-4897-ba6c-abb501288200). You can access the lecture slides here.

2 Reading: Concurrent Data Structures

Read OSTEP chapter 33, (p. 425-434). It goes into more detail about the Linux event-driven API.

3 Homework

  1. The lab 3 design doc is due 9pm, Monday 5/11.
  2. The week 5 quiz has been posted. It is due 9pm Wednesday, May 13.