CS756 I -- Parallel and Distributed Computing: High-Performance Internet Systems and Applications Winter term: 1998-1999 1. Instructor Tim Brecht, Office DC 3508, email: brecht@cs.uwaterloo.ca. Course URL: http://www.cs.uwaterloo.ca/~brecht/756. 2. Introduction Recent research suggests that it is no longer the underlying computer systems or the networks that are roadblocks to high-performance Inter- net 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 bet- ter exploit modern high-speed networks. Possible topics of discus- sion, readings, and study are: widely used and emerging Internet applications, web proxies, caching, high-speed networks, operating systems, disk architecture, file systems, and experimental design. 3. Organizational Meeting Tuesday, January 5, 1:00 pm in DC 3307 to determine class times. If you can not attend this meeting please send me email. 4. Evaluation The student evaluation for this course will be based on class partici- pation, written summaries of the course readings, a course project, and project presentation (with the majority of the weight being assigned to the course project). There may be a final exam in this course (but I'd prefer not to have one). 5. Prerequisites General prerequisites, including CS 354, a good understanding of net- working and operating systems concepts, with strong C and UNIX pro- gramming, testing, and debugging skills. CS 454 is highly recom- mended. Experience with writing sockets code and working with large software systems written by other people will definitely be an asset. 6. Course Readings There will be several course readings assigned. They will be made available through the course web page or handed out in class. A num- ber of classes will focus on two or three papers. For these classes you are expected to hand in a summary of each paper (no more than 1/2 page) stating: 1) the most important contributions of the paper and 2) the most serious problems with the paper. The purpose of these summaries is to encourage you to understand and evaluate the papers before class and to think critically about the papers. -2- 7. Projects Ideally the project involves evaluating and improving the performance of an existing Internet system or application. Group projects are possible and encouraged and ideally two or more projects will be related and at the end of the term can be demonstrated working together.