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



We will closely follow the textbook: Performance Modeling and Design of Computer Systems .

This class meets 3x per week, although a few classes will be canceled due to travel. There is no recitation.


Mor Harchol-Balter

Jalani Williams


Andrew Park

Anup Agarwal


Click here: Canvas Page

Office Hours:


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:

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.


We assume a reasonable background in probability, such as that covered in an Undergraduate Probability class. Specifically, we assume a knowledge of continuous and discrete distributions, conditional probability, conditional expectation, and higher moments. Chapter 3 of our textbook summarizes most of the assumed material. Alternatively, you can get a much better feel for the assumed material by reading Chapters 1 through 9 of the Undergraduate PnC Probability Book: "Introduction to Probability for Computing" textbook that was mailed to you. We also expect you to know basic calculus and nested integrals (3D integration). There is an 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 .



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 late, you need to coordinate with your TAs. They might or might not give you an extension until the time when the homework grading session happens (typically Saturday). Keep in mind that your TAs are busy, so don't make a habit of asking for such extensions. Your TAs will not grade your homework if they don't have it by the time they start their weekend grading, so, whatever you do, make sure the TAs have your homework in time to grade.

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.


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.

Please, no laptops during class.


Prior course evaluations average 4.8/5.0. To see all FCEs for the instructors Click Here .