counter stats

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

This web page has information from the Fall 2008 and Winter 2009 versions of these courses.

Instructor

Adam Wierman, 258 Jorg
Office Hours: It's a small class so feel free to stop by whenever, send me an email first if you want to make sure I'm around.

Course Description

When designing a new computer architecture, 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 migration 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, so it should be interesting and accessing both for Computer Science students and for students in Electrical Engineering, Applied Mathematics, Economics, and Operations Research.

The course will be packed with open research questions that are both interesting mathematically and important to computer system design today.

The topics covered in the two-term sequence include:


This course is targeted for graduate students and advanced undergraduates. Students should have a strong background in probability.

Textbook

There is no required textbook. I will pass out course notes and supplementary handouts at the end of each class. Some good reference texts are listed here.

Grading

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

In 147 the grade breakdown will be


In 245 the grade breakdown will change to

Lectures

Since this is the first year of the course and I'm making all the lectures from scratch, As a result, you're 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.

147

This is a very tentative outline and topics may be added or dropped at any time!

245

This is a very tentative outline and topics may be added or dropped at any time!

Assignments

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. I assume that you can code and use Matlab/Mathematica.

147
245

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.

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