CS 547: Computer System Modeling Fundamentals
Spring 2012
General Course Information
This course provides an introduction to the stateoftheart 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
decisions.
Anlaytic models been used to design optimized operating system semaphores & scheduling
policies, optimized query processing systems for ecommerce, optimized high throughput applications, high performance
parallel architectures, bottleneckfree interconnection networks, simple fair bus arbitration protocols, high
performance Internet protocols such as nearoptimal video streaming protocols and a new nearoptimal TCP protocol.
Analyticallyguided designs have been adopted commercially because they are relatively easy to implement and because
they have nearoptimal 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.
Overview
 Introduction
 Fundamental laws
 Bounds and approximations
 Probability overview
 Singleserver queues
 Open queueing networks
 Closed queueing networks and meanvalue analysis
 Multiclass and priority queueing networks
 Customized models
 Queueing theory using Markov chains
Text
 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, practicallyoriented descriptions of several important
modeling techniques. We'll refer to it several times during our lectures, particularly for the material on bounds
and approximations.
 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 ArpaciDusseau are working on an
operating systems book. Their chapters
are a good resource for reviewing systems topics.
Prerequisites
 Basic knowledge of computer organization and systems. Some familiarity with probability theory is helpful, but not required.
Assignments
 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)
Grading
 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.
Examinations
 One midterm and one final exam.
 Both exams will be takehome 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.
Lecture Notes
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
