18-687: Analytical Performance Modeling & Design of Computer Systems

Course 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 and 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. 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.

  • Number of Units: 12

  • Pre-requisite: 18-391 and senior or graduate standing

  • Course Area: Algorithms, Complexity & Programming Languages

  • Tentative Syllabus: Given here

Instructor and Administrative Staff

  • Instructor: Prof. Osman Yağan                        diamond Teaching Assistants: Rashad Eletreby and Marie Nguyen

  • Office Location: HH A302                               diamond Office: HH A1 and A10

  • Email Address: oyagan@ece.cmu.edu          diamond Email: reletreby@cmu.edu, marien@andrew.cmu.edu

  • Office Hours: TBD                                             diamond Office Hours: TBD

Class Schedule

  • Lecture: Mondays and Wednesdays 12:30 pm – 2:20 pm (EST)

  • Location: WEH 5328 (PIT) and B23 212 (SV)


  • Mor Harchol-Balter, Performance Modeling and Design of Computer Systems: Queueing Theory in Action, Cambridge University Press, NY, 2013.

Recommended supplementary readings:

  • A. Papoulis and S. U. Pillai, Probability, Random Variables, and Stochastic Processes, 4th ed., McGraw-Hill, 2001.

  • A. Leon-Garcia, Probability and Random Processes for Electrical Engineering, 2nd ed., Prentice Hall, 1993.

  • D. Bertsekas and R. Gallager, Data Networks, Prentice-Hall, 1992.


Homeworks (10 sets) 50%
Test 1 25%
Test 2 25%