15-857A: Performance Modeling & Design of Computer Systems

MW 3:00 - 4:30, Room: WEAN 5409 (new location)

(cross-listed with Tepper: 47-774 and 47-775)

Starts September 11, 2006

Class lecture notes are here: Lecture notes and Homeworks


In designing computer systems one is usually constrained by certain performance requirements. For example, certain response times or throughput might be required of the system. On the other hand, one often has many choices: One fast disk, or two slow ones? What speed CPU will suffice? Should we invest our money in more buffer space, or a faster processor? Which migration policy will work best? Which task assignment policy will work best? How can we redesign the scheduling policy to improve the system performance?

Often answers to these questions are 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 questions such as those above.

Topics covered include:

The techniques studied in this class are useful to students in Computer Science, ECE, Mathematics, ACO, Tepper, Statistics, 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. Class Reviews


Recommended for those with strong background in probability. Assumes knowledge of continuous and discrete distributions, conditional probability, conditional expectation, moments, and some previous exposure to Markov Chains. Assumed material can be found in: "Introduction to Probability Models" by Sheldon M. Ross, Chapters 1-3. You can borrow this book from my office. Highly recommended for CS, ECE, ACO, Tepper, and Mathematics students.




I will pass out my own course notes and some supplementary handouts and papers at the end of each class. Some good reference texts are listed here: BOOK LIST. You can borrow most of these books from my office.



You will receive one homework every couple weeks. 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 I have made up all the problems myself 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, I 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 writeup. You should note on your homework specifically which problems were a collaborative effort and with whom.


PART I: Introduction, Operational Laws (laws that hold independent of any assumptions), Back-of-the-Envelope Bounds, and Modification Analysis.

PART II: Traditional Queueing Theory (with all the usual assumptions: Exponential Service, Poisson Arrivals, FCFS Scheduling). Strong emphasis on applications/case studies.

PART III: "MODERN" Applied Queueing Theory: Measured Heavy-tailed Workloads, Corrolated Arrivals, Preemptive Service Disciplines. (Applications include: Load Balancing in NOWs, Task Assignment in Super-Computing Centers, Scheduling in a Web Server, Scheduling in a Distributed Web Server.)