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
Contents
[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
-
Project Proposal. Due *** Monday February 1 ***, 1999.
I'd prefer a hardcopy if you can
(you can put it under my door or put it in my mail box
in the CS department).
If not just send me an email copy.
Proposal Guidelines
 
NOTE: HARD 1 PAGE LIMIT
-
Related Talk of Possible Interest
The infraNET Project Distinguished Speaker Seminar
"Practical Solutions for Web Site Content Management and
Personalization"
David Boswell, President and CEO, LivePage Corporation
2:30 p.m. - 4:00 p.m.; DC1302
There is no charge for this event.
Pre-registering to reserve your seat is recommended.
Seats are reserved on a first-come, first-serve basis.
Register via our web site at:
http://infranet.uwaterloo.ca/
or call 519-888-4567 ext. 5611.
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.
Prerequisites:
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.
Grading
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.
Networking
-
UNIX Network Progamming, Volume 1, 2nd Edition,
W. Richard Stevens, Prentice Hall, 1998.
-
UNIX Network Progamming, Volume 2, 2nd Edition,
W. Richard Stevens, Prentice Hall, 1998.
-
TCP/IP Illustrated, Volume 1: The Protocols,
W. Richard Stevens, Addison Wesley, 1994.
-
TCP/IP Illustrated, Volume 2: The Implementation,
Gary R. Wright and W. Richard Stevens, Addison Wesley, 1995.
-
TCP/IP Illustrated, Volume 3: TCP for Transactions, HTTP, NNTP,
and the UNIX Domain Protocols,
W. Richard Stevens, Addison Wesley, 1995.
-
ATM networks, O. Kyas,
International Thomson Computer Press, 1995
-
Gigabit Networking, C. Partidge, Addison-Wesley, 1994
-
IPv6: The New Internet Protocol, Christian Huitema, Prentice Hall, 1997.
-
Mobile IP: The Internet Unplugged, James D. Solomon, Prentice Hall, 1998.
Operating Systems
-
The Design and Implementation of the 4.4BSD Operating System,
M. McKusick, K. Bostic, M. Karels and J. Quarterman,
Addison Wesley, 1996.
-
UNIX Internals: The New Frontiers,
Uresh Vahalia, Prentice Hall, 1996.
-
Solaris 2.x: Internals and Architecture,
J. Graham, McGraw-Hill, 1995.
-
The Magic Garden Explained: The Internals of UNIX System V, Release 4,
B. Goodheart and J. Cox, Prentice Hall, 1994.
-
Operating Systems Concepts, 4th Edition,
Silbershatz and Galvin, Addison-Wesley, 1994.
-
Concurrent Systems: An Integrated Approach to Operating Systems,
Database, and Distributed Systems,
Jean Bacon, Addison Wesley, 1992.
-
Modern Operating Systems,
Tanenbaum, Prentice Hall, 1992
Performance
-
The Art of Computer Systems Performance Analysis,
Raj Jain, John Wiley and Sons, 1991
Java
-
JavaSpace(TM) Technology: A Tutorial and Reference Guide,
Ken Arnold, Eric Freeman and Susan Hupfer,
Addison-Wesley,
forthcoming.
-
The Java Programming Language Second Edition,
Ken Arnold and James Gosling,
Addison-Wesley,
1998.
-
Concurrent Programming in Java:
Design Principles and Patterns, Doug Lea,
Addison-Wesley,
1997.
-
The Java Virtual Machine Specification,
Tim Lindholm and Frank Yellin,
Addison-Wesley,
1997.
-
The Java Language Specification,
James Gosling, Bill Joy and Guy Steele,
Addison-Wesley,
1996.
Internet / WWW
-
Web Server Technology
Nancy J. Yeager and Robert E. McGrath,
Morgan Kaufmann Publishers,
1996.
-
Web Proxy Servers,
Luotonen,
Prentice Hall, 1998
-
The Grid: Blueprint for a New Computing Infrastructure,
Edited by Ian Foster and Carl Kesselman,
Morgan Kaufmann Publishers,
1998.
-
HyperText Transfer Protocol - HTTP/1.1,
T. Berners-Lee, R. Fielding, H. Frystyk, J. Gettys, and J. Mogul,
RFC #2068, January, 1997.
-
Apache Group,
Apache HTTP Server Version 1.3,
May, 1998.
-
HyperText Markup Language (HTML) Home Page
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