Given below is the tentative schedule for this course
| Lecture # | Date | Topic | Reading |
|---|---|---|---|
| 1 | Tue, Jan 13 | Introduction |
Notes: When should we use which operation? Optional: How to read papers L1 vs L2 norms and compressed sensing |
| 2 | Thu, Jan 15 | Computational complexity in practice I |
Notes |
| 3 | Tue, Jan 20 | Computational complexity in practice II |
Notes |
| 4 | Thu, Jan 22 | Notions of fairness I |
Chapter 2.2 (α-fairness) and 2.4 (NUM) of R. Srikant and Lei Y. (alpha fairness and NUM) Optional: Frank-Wolfe algorithm |
| 5 | Tue, Jan 27 | Class cancelled due to ❄️ | -- |
| 6 | Thu, Jan 29 | Notions of fairness II |
Dominant Resource Fairness |
| 7 | Tue, Feb 03 | Notions of fairness III |
FairCloud (fairness is hard) |
| 8 | Thu, Feb 05 | Load balancing |
Valiant routing in a switch Valiant routing in Google's datacenter Optional: Original paper by Valiant |
| 9 | Tue, Feb 10 | Power of two choices |
Empirical blog Survey of theory Optional: Sparrow scheduler |
| 10 | Thu, Feb 12 | Process scheduling I |
Work stealing theoretical analysis Optional: Cilk programming model Empirical analysis that concludes work stealing is best |
| 11 | Tue, Feb 17 | 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 |
| 12 | Thu, Feb 19 | Caching replacement policies I |
Tim Roughgarden's beyond worst-case lecture 3 Tim Roughgarden's beyond worst-case lecture 4 |
| 13 | Tue, Feb 24 | Cache replacement policies II |
Caching with delayed hits |
| 14 | Thu, Feb 26 | Incorporating ML in systems I |
ML improves the average. Theory bounds the worst |
| 15 | Tue, Mar 03 | Incorporating ML in systems II |
Traffic engineering by using ML to solve LPs faster Optional: Solving computationally hard problems with AlphaZero |
| 16 | Thu, Mar 05 | Signal processing tasting menu I |
Rule: use sinusoids Learn the rule to break it |
| 17 | Tue, Mar 10 | Signal processing tasting menu II |
Fundamental Limits (read before 7.1.1 and skim the rest) Use the limits |
| 18 | Thu, Mar 12 | Congestion control I |
AIMD analysis Delay based multi-bottleneck CC (pay attention to IIIB) |
| 19 | Tue, Mar 24 | Congestion control II | -- |
| 20 | Thu, Mar 26 | Congestion control III/Performance Verifiaction I |
Everything is broken Everything is unfair |
| 21 | Tue, Mar 31 | Performance verification II |
How broken are optimizers? |
| 22 | Thu, Apr 02 | Synthesis for Performance | -- |
| 23 | Tue, Apr 07 | Multi agent systems I | -- |
| 24 | Thu, Apr 09 | Multi agent systems II | -- |
| 25 | Tue, Apr 14 | Hardware abstractions for performance I |
Hardware for sparse linear algebra |
| 26 | Thu, Apr 16 | Abstractions that aid performance II |
PIFO Approximate PIFO |
| 27 | Tue, Apr 21 | Project presentations I | -- |
| 28 | Thu, Apr 23 | Project presentations II | -- |