CS 547: Computer System Modeling Fundamentals
General Course Information
This course provides an introduction to the state-of-the-art analytic modeling techniques that are used
in computer system design. Topics include fundamental performance laws, bottleneck analysis, basic
probability and probability distributions, server and network workload characterization, mean value analysis,
elementary queueing theory, and the use of these techniques in customized system models. Customized models
provide insight into software and hardware bottlenecks and quantify the impact of system and application design
Anlaytic models been used to design optimized operating system semaphores & scheduling
policies, optimized query processing systems for e-commerce, optimized high throughput applications, high performance
parallel architectures, bottleneck-free interconnection networks, simple fair bus arbitration protocols, high
performance Internet protocols such as near-optimal video streaming protocols and a new near-optimal TCP protocol.
Analytically-guided designs have been adopted commercially because they are relatively easy to implement and because
they have near-optimal performance. The course focuses on the techniques that have universal application, and also
covers example use of the techniques in customized models to illustrate how the techniques are applied and the insights
that can be obtained.
- Fundamental laws
- Bounds and approximations
- Probability overview
- Single-server queues
- Open queueing networks
- Closed queueing networks and mean-value analysis
- Multi-class and priority queueing networks
- Customized models
- Queueing theory using Markov chains
- Quantitative System Performance, E.D. Lazowska,
J. Zahorjan, G.S. Graham, and K.C. Sevcik
This text was originally published in 1984 and is
now available on the web. Some of the
examples are now enjoyably out of date, but it contains good, practically-oriented descriptions of several important
modeling techniques. We'll refer to it several times during our lectures, particularly for the material on bounds
- The following books are also useful resources. They are generally available at UW libraries, or you can
borrow them from me.
- Queueing Systems Volume 1: Theory, L. Kleinrock
- A First Course in Probability, S. Ross
- Probability, Stochastic Processes, and Queueing Thoery, R. Nelson
- UW math professor Timo Seppäläinen has prepared a
set of notes on
probability theory that may be helpful.
- CS professors Remzi and Andrea Arpaci-Dusseau are working on an
operating systems book. Their chapters
are a good resource for reviewing systems topics.
- Basic knowledge of computer organization and systems. Some familiarity with probability theory is helpful, but not required.
- You may discuss assignments with your classmates. However, you may not copy answers, code,
or collaborate to complete an assignment. Everything you submit must be your own unique work.
- Submitting someone else's work as your own is academic misconduct. Cheating and plagiarism will
be dealt with in accordance with University procedures
(see the Academic Misconduct Guide for Students).
- Homework 1 (assigned 1/27, due 2/3 in class)
- Homework 2 (assigned 2/3, due 2/10 in class)
- Homework 3 (assigned 2/10, due 2/17 in class)
- Homework 4 (assigned 2/17, due 2/24 in class)
- Homework 5 (assigned 2/24, due 3/2 in class)
- Homework 6 (assigned 3/2, due 3/9 in class)
- Homework 7 (assigned 3/23, due 3/30 in class)
- Homework 8 (assigned 4/20, due 4/27 in class)
- Homework 9 (assigned 5/4, due 5/11 in class)
- Approximately: 50% homework, 25% midterm, 25% final.
- One assignment most weeks.
- Some assignments will require programming. There is no required language, but MATLAB is recommended
for assignments that require plotting and manipulating large amounts of data.
- One midterm and one final exam.
- Both exams will be take-home and emphasize model design and interpretation.
- Midterm: the week of March 12.
- Final: given the last week of class, due on or before May 18.
These are summaries of the material covered in each lecture. They are provided as a reference to what
was covered on each day. I strongly recommend you attend each lecture and take your own notes.
Please let me know if you find any mistakes.
Handouts and Extra Material