UW Logo

CS756I: Topics in Distributed Systems

High-Performance Internet Systems and Applications

Instructor: Tim B. Brecht
Email: brecht@cs.uwaterloo.ca
Office: Davis Center, 3508
Class Times and Locations: Wednesday 12:30-2:30 DC 3307 Starting January 13.
Thursday 11:30-12:30 (when necessary)
Office Hours: Tuesday and Thursday 10:00-11:00 am DC 3508


[New Stuff]   [Description]   [Prerequisites]   [Grading]   [Readings]  
[References]   [Handouts]   [Newsgroup]   [Tools]  
[OS Projects and FAQS]   [Related Links]   [Project Ideas]

New Stuff

Guest Lectures:

Date      Guest             Affiliation    Subject

Feb. 17   Steve Radman      Sybase         World Cup '98 Web Site
Mar.  4   Gordon Cormack    UW             Search Engines and/or MultiText

Course Description

Recent research suggests that it is no longer the underlying computer systems or the networks that are roadblocks to high-performance Internet applications but the software. In this course we will examine existing Internet systems and applications and their performance and hopefully develop new techniques that will enable such systems to better exploit modern high-speed networks. In addition we will investigate techniques for improving performance and hiding latencies in systems with slow network connections.

Possible topics of discussion, readings, and study are: widely used and emerging Internet applications, web servers, web proxies, caching, high-speed networks, operating systems, disk architecture, file systems, and experimental design.


General prerequisites, including Operating Systems (CS 354), a good understanding of operating systems concepts, C and UNIX programming skills. Distributed Systems (CS 454) is highly recommended. The System Performance and Evaluation course (CS 457) is strongly recommended for students interested in doing research in systems or networks.


Grades will probably be computed using the tentative weighting scheme below:

     Class Participation    10%
     Reading Summaries      20%
     Project Proposal       10%
     Final Project          45%
     Project Presentation   15%

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

List of course readings

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.


Operating Systems



Internet / WWW

Course Handouts

The Course Newsgroup

The course newsgroup is the first place you should look for course-related announcements and for answers to course-related questions. You should read the newsgroup regularly.

You may read the course newsgroup using your favorite newsreader. Alternatively, you may use your WWW browser to read the group by clicking on the hypertext reference above. Some WWW browsers, like mosaic, require you to set the environment variable NNTPSERVER before reading newsgroups. If you have trouble reading the course newsgroup using your WWW browser, try this

        setenv NNTPSERVER news.math.uwaterloo.ca

before starting your browser. Better yet, add this line to your .cshrc file.

Tools and Programming

Operating Systems Projects and FAQs

Useful or Related Links

Project Ideas

I'd prefer it if you come up with your own project ideas. If you are having trouble, talk to me and I'll help you out with some possibilities.

Other Computer Science Courses
Last modified: Tue Jan 5 17:59:33 EST 1999
Prev modified: Fri Dec 11 22:39:28 EST 1998