15-849(A) Performance Analysis and Design of Computer Systems (Fa 99)
Instructor: Mor Harchol-Balter
Units: 12
W,F 1:30 - 2:50, WeH 4601
Description:
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?
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 modeling with the aim of answering questions such as those above.
While half the class will cover traditional queueing-theoretic analysis, the other half of the class will cover topics usually left out of traditional queueing theory classes. These include for example: back-of-the-envelope bounds which hold independently of any distribution assumptions; actual measurements of workloads (including UNIX jobs, Web jobs, etc) and heavy-tailed models which fit these measurements; analysis of scheduling policies used in practice, and those which aren't used, but should be; topics on simulation theory; and solutions to various current system design questions.
Prerequisites: 36-217 or equivalent class covering: continous and discrete distributions, conditional probability, conditional expectation, and preferably some previous exposure to Markov chains.
Text: No text. Lecture notes will be handed out every class.
Method of Evaluation: Regular homeworks and a project.
Topics to be Covered: Course Home Page