15-857: Analytical Performance Modeling & Design of Computer Systems
-
Cross-listed with Tepper: 47-774 & 47-775. 12 Units.
-
Satisfies THEORY CORE requirement for CSD PhDs.
-
Classes: M,W,F 2:00 p.m. - 3:20 p.m., Room: GHC 4307
-
CLASS STARTS AUGUST 25, 2025
-
www.cs.cmu.edu/~harchol/Perfclass/class25fall.html
This class meets 3x per week, although a few classes will be canceled due to travel. The Monday and Wednesday classes will be taught by the instructor. The Friday classes are recitations, taught by the TAs, but will still cover new content. If you miss a class, you can read the textbook, which contains everything.
INSTRUCTOR:
PhD TEACHING ASSISTANTS:
Office Hours:
- Monday 3:30 p.m. - 5 p.m. in GHC 6003, with Zhouzi Li (zhouzil@andrew.cmu.edu)
- Wednesday 5:30 p.m. - 7 p.m. in GHC 7207, with Mor Harchol-Balter (harchol@cs.cmu.edu)
- Thursday 5:30 p.m. - 7 p.m. in GHC 7004, with Keerthana Gurushankar
(kgurusha@andrew.cmu.edu)
DESCRIPTION:
In designing computer systems one is usually constrained by certain
performance requirements and limitations. For example, one might need
to guarantee a response time SLA or certain throughput requirement,
while at the same time staying within a power budget or cost budget.
On the other hand, one often has many choices: One fast disk, or two
slow ones? More memory, or a faster processor? A fair scheduler or
one that minimizes mean response time? For multi-server systems, one
can choose from a wide array of load balancing policies, a wide array
of migration policies, capacity provisioning schemes, power management
policies ... The possibilities are endless. The best choices are
often counter-intuitive. Ideally, one would like to have answers to
these questions before investing the time and money to build a system.
This class will introduce students to
analytic stochastic modeling
with the aim of answering the above questions.
Topics covered include:
- Operational Laws: Little's Law, response-time law, asymptotic bounds,
modification analysis, performance metrics.
- Markov Chain Theory: both discrete-time and
continuous-time, renewal theory, time-reversibility.
- Poisson Process: memorylessness, Bernoulli splitting, uniformity,
PASTA.
- Queueing Theory: open systems, closed systems, M/M/1, M/M/k, M/M/k/k, M/G/1 full analysis,
M/G/k, G/G/1, transform analysis (Laplace and z-transforms).
- Queueing Theory: Networks of Queues. Jackson and class-Jackson networks.
- Simulations: time averages versus ensemble averages,
generating random variables for simulation, Inspection
Paradox.
- Modeling Empirical Workloads: heavy-tailed property,
Pareto distributions, heavy-tailed distributions, understanding variability and
tail behavior.
- Management of Server Farms: capacity provisioning, dynamic power management, routing policies.
- Analysis of Scheduling: FCFS, non-preemptive
priorities, preemptive priorities, PS, LCFS, FB, SJF, PSJF, SRPT, plus the latest scheduling research: SOAP, Gittins Index, Whittle Index.
- Applications to Today's Datacenters:
Scheduling for multiserver system, resource allocation for multi-dimensional jobs, c-mu rule for maximizing value, parallel jobs with different speedup functions.
Throughout, the theory developed will be applied to a wide array of computer systems design problems including the design of efficient data centers, web servers, DBMS, disks, call centers, routers, and supercomputer centers.
The techniques studied in this class are useful to students in
Computer Science, ECE, Mathematics, ACO, Tepper, Statistics, MLD, and Engineering. This course is packed with open problems -- problems which if solved
are not just interesting theoretically, but which have huge
applicability to the design of computer systems today.
For a more detailed description see the Table of Contents of the book.
PREREQUISITES:
We assume a reasonable background in probability, such as that covered in a good Undergraduate Probability class.
Specifically, we assume a knowledge of continuous and discrete
distributions, conditional probability, conditional expectation, and higher moments.
Chapters 1-9 of the Undergraduate PnC Probability Book available here covers all the probability that you need to know.
We also expect you to know basic calculus and nested integrals (3D integration). There is a Probability Assessment provided on the first day of class to make it clear to you if you have the prerequisites with respect to undergraduate probability and calculus.
If math is not your cup of tea, there's an alternate offering of this course that is taught with "zero math," called 15-829 (last taught in 2022).
GRADING:
- Weekly Homeworks -- worth 40% total. (We drop the lowest homework score)
- Midterm 1 -- 25%
- Midterm 2 -- 25%
- NO FINAL EXAM (go home early!)
- ONE mandatory grading meeting during semester -- 5% . Will take place on Friday in GHC 9115 from 5-9 p.m. Includes free dinner!
- ONE 30-minute individual or pair meeting with Mor where you present an example of queueing in your research or your life. Best to run this by a TA first! Super informal. No slides. -- 5% .
- Standard grading scale: 90- 100% is A; 80 - 89% is B; 70- 79% is C; and so on, often with curve at end.
HOMEWORK POLICY and LATENESS:
There is a large emphasis on homework. This is how you learn. Homeworks are released on Friday morning. Please start the homeworks early and get help in office hours!
Homeworks are due at the start of Friday's class ( 2 p.m. sharp ). Please turn in a physical copy of your homework, because that's easier for us to grade. Homeworks can be hand-written if that's easier for you, but you need to keep your writing legible. The homework is graded over the weekend, and you will receive your graded homework back in Monday's class, as well as a full solution.
If you cannot be in class on Friday, then it is your responsibility to email your homework to the TAs by 2 p.m. Friday. If you are going to be a touch late, you might be able to ask the TAs for a couple extra hours. However you still *must* get the homework in by 5 p.m. Friday, when grading happens (in GHC 9115). Keep in mind that your TAs are busy, so don't make a habit of asking for extensions.
We will drop your lowest homework grade, so as to cover emergencies like illness and last-minute paper deadlines. Please save up your drop for a real emergency.
COLLABORATING vs. CHEATING and other RULES:
You will receive regular homework problems.
These will be difficult. Start immediately
so that you can take full advantage of office hours. You will find
office hours very helpful!
Some of these homework problems will
be repeated from previous years. The reason is that we have made up
all the problems ourselves and it takes a very long time to think up good
problems.
Do not ask people who took this course in previous years to
help you with the homeworks. This is considered cheating and will be reported to the dean.
On the other hand, we strongly encourage you to collaborate with your
current classmates to solve the homework problems after you have tried
solving them by yourself. Each person must turn in a separate write-up. You should
note on your homework specifically which problems were a collaborative
effort and with whom.
Using LLMs to solve your homework is not allowed.
CLASS SPONSOR: