Skip to content

Commit

Permalink
Add after-action report
Browse files Browse the repository at this point in the history
  • Loading branch information
h365chen committed Jan 31, 2024
1 parent b2b6bb7 commit 86679c0
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 4 deletions.
4 changes: 4 additions & 0 deletions lectures/flipped/L09.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,3 +83,7 @@ Times for the poem (students were told to read as fast as they could)
| 1 student | 42 seconds |
| 2 students | 25 seconds |
| 5 students | 15 seconds |

# After-action report, huanyi, 29Jan24

I went through the threadpool example and skipped the rest.
5 changes: 5 additions & 0 deletions lectures/flipped/L10.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,3 +95,8 @@ producer-consumer example is, I think, good as an exercise, but this particular
I would rewrite the proof about consistent locking to be more formal.

Stopped before doing the trylock example (too many on your own examples, and not enough time in this period.)

# After-action report, huanyi, 29Jan24

I had students do the producer-consumer exercise, went through the mini-lecture
stuff, and had students do the trylock exercise.
13 changes: 9 additions & 4 deletions lectures/flipped/L11.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ using locks entirely.

## Lock Convoys

Activity: given a lock (say a piece of paper), 3 students play as threads with
the same priority, of which 2/3 need the lock and 1/3 doesn't; one additional
student plays as the scheduler.
Activity: given a lock (say a marker), 4 students play as threads with the same
priority, of which 3 need the lock and 1 doesn't; one additional student plays
as the scheduler.

- Once the lock is free, a random thread picks up the lock then informs the
scheduler to pick the next thread to run.
Expand All @@ -20,7 +20,7 @@ The possible actions for the threads are:
- Threads that need the lock: attempt to acquire the lock/wait for the lock, and
eventually release the lock.
- Thread that doesn't need the lock: just runs normally (gets a bunch of
execution.)
execution, e.g., writing down numbers from 1 to 100.)

Let's see how many times the scheduler picks the wrong thread to run.

Expand Down Expand Up @@ -134,3 +134,8 @@ Better specified the lock convoy example. (Now improved in the text above.)
Typed in the code examples.

Did not talk about ABA. Briefly mentioned lock freedom, but not in great detail.

# After-action report, huanyi, 29Jan24

I did the lock convoy activity. It would be better to ask thread students to
write down if the scheduler picked them correctly or incorrectly.

0 comments on commit 86679c0

Please sign in to comment.