COMPSCI 490PF / 690PF 3 credits

Performance Engineering

Instructor: Prof. Emery Berger (CICS, UMass Amherst)
Email: emery@cs.umass.edu
Office: CSW 378
Meeting times: MW 4:00–5:15pm (CSW 140)
TAs: TBD
Appointment hours: TBD
Delivery mode: In-person only; no hybrid, no recordings

Course Description

This course provides a systematic treatment of performance engineering—the analysis, measurement, and optimization of software systems. It covers how performance emerges from the interaction between algorithms, programming languages, compilers, operating systems, and modern hardware.

Topics include algorithmic complexity, caching and memory hierarchies, concurrency and synchronization, vectorization, compiler and runtime optimizations, and profiling techniques for both CPU and GPU/accelerator execution. Students will conduct detailed performance studies, apply advanced profiling tools, and design and evaluate optimizations for real systems. The course emphasizes quantitative reasoning, experimental rigor, and clear performance reporting.

Student Learning Objectives

By the end of the course, students will be able to:

  • Design statistically sound performance experiments and interpret results (CIs, variance control).
  • Use profilers to diagnose front-end, back-end, and memory bottlenecks.
  • Understand and diagnose memory-, allocator-, and synchronization-related pathologies; select and validate alternatives.
  • Model performance and reason about tail latency.
  • Optimize Python and C/C++ code and validate gains with rigorous before/after evidence.

Prerequisites

COMPSCI 490PF meets with COMPSCI 690PF. Instructor consent is required for COMPSCI 490PF. Junior and senior CS majors with grades of at least A- in both COMPSCI 230 and 377 are the level of background in systems that is expected. Past documented experience with GitHub projects is strongly preferred.

This course is project- and experiment-intensive. Students will analyze real software systems, perform quantitative performance measurements, and report results using professional standards. Familiarity with both C/C++ and Python is expected. Undergraduate and graduate sections meet together but have distinct project expectations and grading criteria. Enrollment is capped to support in-depth mentoring and evaluation.

Materials & Tools

Readings: Research papers and tool documentation, available online (see weekly schedule below).

Assessments & Grade Weights

  • Projects and Homework — 20%
  • Attendance — 10%
  • Exams (written/oral) — 70%

Oral Exam Format & Expectations (if applicable)

  • Length: ~18–20 minutes per student; individual.
  • Structure: Short scenario(s) + whiteboard reasoning + brief code/profiling interpretation.
  • Coverage: Everything up to that point (Midterm), and cumulative with emphasis on latter topics (Final).
  • Rubric (equal parts): technical accuracy; methodology and attribution reasoning; clarity and communication; evidence-based decision-making.

Grading Scale

490PF: A ≥ 93; A- 90–92; B+ 87–89; B 83–86; B- 80–82; C+ 77–79; C 73–76; C- 70–72; D+ 67–69; D 63–66; F ≤ 62.

690PF: A ≥ 93; A- 90–92; B+ 87–89; B 83–86; B- 80–82; C+ 77–79; C 73–76; F ≤ 72.

Attendance & Policies

Attendance Policy

Attendance is expected; many meetings include in-class activities. For religious observance, following UMass policy, notify the instructor in advance; reasonable accommodations will be provided.

Late & Make-Up Work

  • Projects and homework: one full letter grade dropped for every day late (including weekends and vacation days).
  • Extensions require documented circumstances.
  • Oral exams (if applicable): scheduled windows with sign-ups; missed slots require documented circumstances for a make-up.

Communication

Use email or the course forum (if applicable). For deeper issues, use student hours / appointment hours.

Generative AI Policy

You may use generative AI tools only when explicitly allowed and with full disclosure (tool, prompt, how you validated outputs). Undisclosed or prohibited use may violate academic integrity. You are responsible for the technical correctness of any AI-assisted work and must reproduce all results independently.

Credit-Hour Expectation

This 3-credit course expects approximately 9 hours per week of out-of-class work (readings, problem-solving, projects, oral-exam preparation), in addition to 150 minutes of weekly contact time.

Weekly Schedule (Topics & Key Readings)

W1 — Principles & Pitfalls; Reproducibility
W3 — Top-Down Microarchitectural Analysis (TMA)

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

W4 — Memory Hierarchy & NUMA
W5 — Modeling: Amdahl/Gustafson, Roofline, Little’s Law
W6 — Causal Profiling (Coz)
W8 — Concurrency & Synchronization
W9 — Tail Latency in Distributed Systems
W10 — Python Performance in Practice
W11 — Vectorization & GPUs
W13 — Case Studies & War Stories

University Policies

Academic Integrity

Academic Integrity Policy: UMass Amherst Academic Integrity Policy

UMass Amherst is strongly committed to academic integrity, which is defined as completing all academic work without cheating, lying, stealing, or receiving unauthorized assistance from any other person, or using any source of information not appropriately authorized or attributed. As a community, we hold each other accountable and support each other’s knowledge and understanding of academic integrity.

Academic dishonesty is prohibited in all programs of the University and includes but is not limited to: cheating, fabrication, plagiarism, lying, and facilitating dishonesty, via analogue and digital means. Sanctions may be imposed on any student who has committed or participated in an academic integrity infraction.

All students at the University of Massachusetts Amherst have read and acknowledged the Commitment to Academic Integrity and are knowingly responsible for completing all work with integrity and in accordance with the policy.

Accommodations Statement

The University of Massachusetts Amherst is committed to making reasonable, effective, and appropriate accommodations to meet the needs of students with disabilities and help create a barrier-free campus. If you have a disability and require accommodations, please register with Disability Services, meet with an Access Coordinator in Disability Services, and send your accommodation letter to your faculty.

Information on services and registration is available on the Disability Services website: https://www.umass.edu/disability/

Title IX Statement

In accordance with Title IX of the Education Amendments of 1972 that prohibits gender-based discrimination in educational settings that receive federal funds, the University of Massachusetts Amherst is committed to providing a safe learning environment for all students, free from all forms of discrimination, including sexual assault, sexual harassment, domestic violence, dating violence, stalking, and retaliation. This includes interactions in person or online through digital platforms and social media.

Title IX also protects against discrimination on the basis of pregnancy, childbirth, false pregnancy, miscarriage, abortion, or related conditions, including recovery. There are resources here on campus to support you. A summary of the available Title IX resources (confidential and non-confidential) can be found at: https://www.umass.edu/titleix/resources. You do not need to make a formal report to access them.

If you need immediate support, you are not alone. Free and confidential support is available 24/7/365 at the SASA Hotline: 413-545-0800.