COMPSCI 490PF / 690PF 3 credits

Performance Engineering

Instructor: Prof. Emery Berger
Email: emery@cs.umass.edu
Office: CS 378
Meeting times: MW 4:00–5:15pm (CS 140)
TA: Kyla Levin (khlevin@umass.edu)
TA Office Hours: Tuesdays & Fridays, 1–2pm (CS 207)
Delivery mode: In-person only; no hybrid, no recordings

Weekly Schedule (Topics & Key Readings)

Readings assigned for each week are expected to be completed by the first class of that week so that they can be discussed in class.

Week 1 (2/2 – 2/6) — Principles & Pitfalls; Reproducibility
Week 2 (2/9 – 2/13) — Methodology You Can Trust
Week 3 (2/16 – 2/20) — Top-Down Microarchitectural Analysis (TMA)
No class on Monday 2/16, class moved to Thursday 2/19.

In class: profiler walkthrough; classify workloads (front-end vs memory bound).

Week 4 (2/23 – 2/27) — Memory Hierarchy & NUMA
Week 5 (3/2 – 3/6) — Modeling: Amdahl/Gustafson, Roofline, Little's Law
Week 6 (3/9 – 3/13) — Causal Profiling (Coz)
Week 7 (3/16 – 3/20) — Spring Break
No classes this week.
Week 8 (3/23 – 3/27) — Memory Allocators & Fragmentation
Week 9 (3/30 – 4/3) — Concurrency & Synchronization
Week 10 (4/6 – 4/10) — Tail Latency in Distributed Systems
Week 11 (4/13 – 4/17) — Python Performance in Practice
Week 12 (4/20 – 4/24) — Vectorization & GPUs
No class on Monday 4/20, class moved to Friday 4/24.
  • TBD
Week 13 (4/27 – 5/1) — Benchmarking the Right Way
Week 14 (5/4 – 5/8) — Case Studies & War Stories