counter stats

(CS/EE 147) Network performance analysis
a.k.a. Analytic tools for system design



Course Description

When designing a network protocol, distributed system, etc., it is essential to be able to quantify the performance impacts of design choices along the way. For example, should we invest in more buffer space or a faster processor? One fast disk or multiple slower disks? How should requests be scheduled? What dispatching policy will work best? Ideally, one would like to make these choices before investing the time and money to build a system. This class will teach students how to answer this type of "what if" question by introducing students to analytic performance modeling, the tools necessary for rigorous system design. The course will focus on the mathematical tools of performance analysis (which include stochastic modeling, scheduling theory, and queueing theory) but will also highlight applications of these tools to real systems. This course is targeted for graduate students and advanced undergraduates. Students should have a strong background in probability.


Adam Wierman,

Office Hours: TBA

Teaching Assistants



We will be using "Performance Modeling and design of computer systems" by Mor Harchol-Balter as our primary textbook. However, some good reference texts that I will be making use of are listed here.


This is a preliminary breakdown that may change during the term.


You're likely going to be stuck with my handwritten notes...I'll try to keep them legible! Because of that, I recommend taking notes yourself during class because I will occasionally say important things that won't be reflected in the notes. Also, note that there are very likely typos in the notes. When you find them, let me know and I'll correct them.

Course overview
The basics
Baby queueing
Intermediate queueing
Advanced topics


Homeworks will be assigned every 1-2 weeks. Some of the problems will be challenging, so please start early. Most assignments will be primarily proofs, however there will be an occasional problem that requires you to build a simulator and/or do numeric experiments. We assume that you can code and use Matlab/Mathematica.

Collaboration vs. cheating

You will receive one homework every week or so. These will typically require a significant amount of work, and you should start immediately and come to office hours to discuss questions. Please do not search the web for help on the homework problems. It is difficult to develop good homework problems, and thus you may come across similar problems if you search the web for help.

You are strongly encouraged to collaborate with your classmates on these problems, but each person must write up the final solutions individually. You should note on your homework specifically which problems were a collaborative effort and with whom.

Late Policy

Assignments will typically be due on Friday at 1pm. If the assignment is turned in by Monday at 8am the late penalty is 15 points; if it is turned in by the following Wednesday the late penalty is 30 points. Homeworks will not be accepted after this point unless there are special circumstances that you have discussed with the professor before the original due date.

Relevant reference books and online notes

Online lecture notes

Books on stochastic processes and queueing

Books on Scheduling

Books on Performance Modeling

Books on Probability and Statistics