Instructor: Venkat Arun
Course Goal: This graduate-level reading seminar will survey how theoretical analyses of computer system performance have informed the design of real-world systems. The objectives of the course are:
The course is structured around lectures by the instructor and paper readings/presentations by the students with open discussion. Students will form a project group and conduct a research project combining theory and systems.
Syllabus: Applications of queuing and control theory, randomized load balancing and routing algorithms, notions of fairness, beyond worst-case analysis for online scheduling and caching algorithms, performance verification, use of constraint solvers, and practical implications of complexity theory.
Where? GDC 6.816
When? Mondays and Wednesdays at 2-2:30PM
Schedule (tentative)
The switching/routing problem, PIM algorithm
Optional: How to read a paper
Valiant load balancing, birthday paradox
Power of two choices vs random vs full visibility
Optional: Queuing theoretic analysis of power of two choices, Survey of the theory, Small amount of memory helps load balance
Work stealing theoretical analysis, Cilk programming model, Empirical analysis that concludes work stealing is best
Decades of wasted cores in Linux
Optional: Scheduler in Linux v4.6.8.1, More bugs discovered through verification
Book with the basic definitions of fairness (chapter 1)
Optional: Paper analyzing proportionally fair wireless schedulers, Frank-Wolfe algorithm
Dominant Resource Fairness
Optional: Tetris
FairCloud + RCS
Competitive caching with learned advice Optional: Competitive analysis of the randomized marking paging algorithm
Contextual bandits (off-policy evaluation)
Learning to optimize TE (TEAL)
No reading. Just comment on your practical experiences with computational complexity
Resolution limits using angular spectrum representation
Chiu-Jain analysis of AIMD, the classic congestion control algorithm (CCA)
Optional: Generalizing AIMD: Binomial congestion control
Network Utility Maximization (Chapter 3 of book)
Optional: BBR: A Modern CCA
Starvation in congestion control
Optional: Verifying CCAs
Synthesizing provably performant controllers
MetaOpt: Identifying performance gaps in heuristics
FPerf: synthesizing workloads, Bounding resource consumption
Customizable network slicing schedulers
PIFO