September 2017 | ||||
---|---|---|---|---|
Monday | Tuesday | Wednesday | Thursday | Friday |
28 |
29 |
30 |
31 |
1 |
4 |
5 |
6
Handout: consensus Overview of run-time systems Topic: Our understanding of run-time systems |
7 |
8 |
11
Simple systems Read Andrew Appel, A Run-Time System Topic: The (old) run-time system for SML/NJ |
12 |
13
Simple systems Topic: Followup on Appel's run-time system |
14 |
15 |
18 Handout: Discussion questions for Simple Generational Garbage Collection and Fast Allocation (Appel) Handout: Understanding Call Stacks Simple garbage collectors Read Andrew Appel, Simple Generational Garbage Collection and Fast Allocation Topic: Appel's generational collector and its implementation of Appel's collector in the run-time system System to be scouted is approved by the end of class today |
19 |
20
Simple garbage collectors Topic: Finishing up Appel's collector and the SML/NJ system |
21 |
22 |
25 Handout: Class Exercise: Stack Walking Calling conventions and stack walking Read:
Topic: Walking a call stack |
26 |
27
Looking at the stack: exceptions Read:
Topic: Two ways to implement exceptions |
28 Scouting reports due at 11:59PM |
29 |
October 2017 → |
October 2017 | ||||
---|---|---|---|---|
Monday | Tuesday | Wednesday | Thursday | Friday |
2
Case study (preliminaries) Topic: Choosing a system |
3 |
4
Multiple stacks: threads Read Gordon V. Cormack (1988), A Micro-Kernel for Concurrency in C Topic: Synchronization and communication |
5 |
6 |
9 No class: Indigenous Peoples' Day |
10 |
11
Multiple stacks: threads Read Frigo, Leiserson, and Randall, The Implementation of the Cilk-5 Multithreaded Language Topic: Scheduling by work-stealing |
12 |
13 |
16
Case study: Foreign and native calls in Lua Read:
Topic: Lua's C API and how it differs from a traditional FFI ECE ABET visit day. Class in Halligan 209 |
17 |
18
Case study: Foreign and native calls in Lua Topic: Calls and call stacks in Lua |
19 |
20 |
23
Garbage collection Read Marlow, Harris, Peyton Jones: Block-Structured Generational Collector Topic: Generational GC revisited: pages/arenas |
24 |
25 Garbage collection Topic: Putting the parallel in parallel GC (using handout from previous class) OOPSLA (some students away) |
26 |
27 |
30
Case study: Lua calls and FFI Topic: Implementations of call and pcall |
31 |
1
Case study: Coroutines in Lua Read:
Topic: Coroutines: the programming model |
2 |
3 |
← September 2017November 2017 → |
November 2017 | ||||
---|---|---|---|---|
Monday | Tuesday | Wednesday | Thursday | Friday |
30
Case study: Lua calls and FFI Topic: Implementations of call and pcall |
31 |
1
Case study: Coroutines in Lua Read:
Topic: Coroutines: the programming model |
2 |
3 |
6 Handout: Implementation of Lua coroutines Case study: Coroutines in Lua Topic: Coroutines: the implementation |
7 Last day to have let Norman know your plans for a final deliverable |
8
Case study: Message passing in Erlang Topic: Erlang's concurrency model |
9 |
10 |
13
Case study: Message passing in Erlang Topic: Design space of message-passing implementations |
14 Good day to have sent Norman a first draft of your final deliverable |
15
Case study: Message passing in Erlang Topic: Analysis of BEAM's message passing |
16 |
17 |
20
Case study: Thread scheduling in Erlang Topic: Erlang's scheduler |
21 |
22 No class: Thanksgiving |
23 |
24 |
27 Handout: Foreign Calls in Haskell Foreign calls in Haskell Read:
Topic: Foreign calls in Haskell with H/Direct (compare with Lua FFI) |
28 Good day to get your final deliverable to a peer reviewer |
29
Implementing coroutines—the model Read Andrew Birrell (1989), An Introduction to Programming with Threads Topic: Implementing Lua coroutines using Cormack threads |
30 |
1 |
← October 2017December 2017 → |
December 2017 | ||||
---|---|---|---|---|
Monday | Tuesday | Wednesday | Thursday | Friday |
27 Handout: Foreign Calls in Haskell Foreign calls in Haskell Read:
Topic: Foreign calls in Haskell with H/Direct (compare with Lua FFI) |
28 Good day to get your final deliverable to a peer reviewer |
29
Implementing coroutines—the model Read Andrew Birrell (1989), An Introduction to Programming with Threads Topic: Implementing Lua coroutines using Cormack threads |
30 |
1 |
4
One-shot continuations Topic: One-shot continuations in Chez Scheme (compare with Lua coroutines) Last day to give Norman a draft in time to get feedback |
5 |
6
Garbage collection Read Blackburn and McKinley: Immix: A Mark Region Garbage Collector... Topic: A hybrid collector |
7 |
8 |
11 Handout: Class Retrospective: Instructions Retrospective Topic: Retrospective: what have we learned? |
12 |
13 |
14 Final deliverables due |
15 |
18 |
19 |
20 |
21 |
22 |
25 |
26 |
27 |
28 |
29 |
1 |
2 |
3 |
4 |
5 |
← November 2017 |