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
Linux (contd), wireless scheduling and alpha fairness (throughput, proportional, max-min)
Multi resource fairness
FairCloud + RCS
Other practical concerns
Competitive caching
Statistical power of data
Safe ML
P: traffic engineering
Beyond NP: Program synthesis, two-player games and beyond
Classical: AIMD, Vegas, RCP
Control theory: RCP, DCTCP
Modern congestion control + CCAC
fPerf, verilay
MetaOpt
Performal, Hoffman’s work
PIFO
Network slicing