UW Logo

CS856: Topics in Distributed Systems

Internet Server Performance

Please remember to frequently use the reload button for these pages.
Instructor: Tim B. Brecht
Email: brecht@cs.uwaterloo.ca
Office: Davis Center, 3508
Class Times and Locations: Tuesday 1:30-4:30 DC 3314 Starting September 9, 2003.

Course Description

In this course we will explore the relationship and boundaries between high-performance Internet servers and the underlying operating system. We will study some example server designs and implementations and the underlying system calls that are used by these servers. The goal of the course will be to to design and evaluate new methods for interacting with the operating system and/or new interfaces and mechanisms that can be provided by the operating system to significantly improve application performance.


General prerequisites, including Operating Systems, Networking, strong C and UNIX programming skills. The System Performance and Evaluation course (CS 457/657) is strongly recommended for students interested in doing research in systems or networks.


Grades will probably be computed using the weighting scheme below (grades assignments and dates are tentative):

     Class Participation    10%
     Reading Summaries      15%    (at start of each class)
     Project Proposal        5%    (NEW: Sept. 25 - 4 pm sharp!)
     Course Project         45%    (Nov.  25 - at start of class)
     Paper refereeing       10%    (Dec.   2 - before class starts)
     Project Presentation   15%    (Dec.   2 - extra day/class)

This is a graduate class. You are expected to be capable programmers and skilled testers and debuggers. Use good programming and writing practices when doing your project. These practices will be considered when assigning grades.

Course Readings

The first few classes will be lecture sytle classes in I will provide some background material. Subsequent classes will take the form of discussions around two or three research papers.

Useful References and Texts

NOTE: There is no text book required for this course. However, there may be text books that you will find useful or even necessary in order to complete your course projects.

Course Notes

Here are the code examples talked about in class.

Course News Group

Please watch the newsgroup for class announcements. You may also wish to use the newsgroup to contact other people in the class who may be looking to join or have somoene join their group. Later in the term we'll probably use the newsgroup to post information about the labs (clusters), their availablity, unavailability, etc.

Course Projects

I encourage you to come up with your own course project ideas but if you are having problems coming up with a project here are some ideas.

Last modified: Tue Sep 9 20:22:36 EDT 2003