Given below is the tentative schedule for this course
| Lecture # | Date | Topic | Reading |
|---|---|---|---|
| 1 | Tue, Jan 14 | Introduction |
PIM: Matching in a switch dcPIM: Matching in a datacenter Optional: How to read papers |
| 2 | Thu, Jan 16 | Class cancelled due to 🛫 | -- |
| 3 | Tue, Jan 21 | Class cancelled due to ❄️ | -- |
| 4 | Thu, Jan 23 | Load balancing |
Valiant routing in a switch Valiant routing in Google's datacenter Optional: Original paper by Valiant |
| 5 | Tue, Jan 28 | Power of two choices |
Empirical blog Survey of theory Optional: Sparrow scheduler |
| 6 | Thu, Jan 30 | Notions of fairness I |
Chapter 2.2 (α-fairness) and 2.4 (NUM) of R. Srikant and Lei Y. (alpha fairness and NUM) |
| 7 | Tue, Feb 04 | Notions of fairness II |
Dominant Resource Fairness |
| 8 | Thu, Feb 06 | Notions of fairness III |
FairCloud (fairness is hard) |
| 9 | Tue, Feb 11 | Process scheduling I |
Work stealing theoretical analysis Optional: Cilk programming model Empirical analysis that concludes work stealing is best |
| 10 | Thu, Feb 13 | Process scheduling II |
Decades of wasted cores in Linux More bugs discovered through verification (section 5 only) Optional: Scheduler in Linux v4.6.8.1 |
| 11 | Tue, Feb 18 | When should we use which mathematical operation? |
Notes Optional: L1 vs L2 norms and compressed sensing |
| 12 | Thu, Feb 20 | Caching replacement policies I |
Tim Roughgarden's beyond worst-case lecture 3 Tim Roughgarden's beyond worst-case lecture 4 |
| 13 | Tue, Feb 25 | Cache replacement policies II |
Caching with delayed hits |
| 14 | Thu, Feb 27 | Incorporating ML in systems I |
ML improves the average. Theory bounds the worst |
| 15 | Tue, Mar 04 | Incorporating ML in systems II |
Traffic engineering by using ML to solve LPs faster Optional: Solving computationally hard problems with AlphaZero |
| 16 | Thu, Mar 06 | Computational complexity in practice I |
Notes |
| 17 | Tue, Mar 11 | Computational complexity in practice II |
Notes |
| 18 | Tue, Mar 25 | Signal processing tasting menu I |
Rule: use sinusoids Learn the rule to break it |
| 19 | Thu, Mar 27 | Signal processing tasting menu II |
Funamental Limits (read before 7.1.1 and skim the rest) Use the limits |
| 20 | Tue, Apr 01 | Congestion control I |
AIMD analysis Delay based multi-bottleneck CC (pay attention to IIIB) |
| 21 | Thu, Apr 03 | Guest lecture by Tegan Wilson |
Oblivious reconfigurable networks (sections 3, 4.3, 4.4, and 4.5 are optional) Real-world version of the above idea in practice |
| 22 | Tue, Apr 08 | Congestion control II/Performance Verifiaction I |
Everything is broken Everything is unfair |
| 23 | Thu, Apr 10 | Performance verification II |
How broken are optimizers? |
| 24 | Tue, Apr 15 | Hardware abstractions for performance I |
Hardware for sparse linear algebra |
| 25 | Thu, Apr 17 | Abstractions that aid performance II |
PIFO Approximate PIFO |
| 26 | Tue, Apr 22 | Project presentations I | -- |
| 27 | Thu, Apr 24 | Project presentations II | -- |