UW Logo

CS856 - Advanced Topics in Distributed Computing:

Architectural Principles for Large-scale Networks

Please remember to frequently use the reload button for these pages.
Term: Fall 2007
Instructor: Martin Karsten
Class Times and Locations (new time and room!): Tue, 10:00am-1:00pm, MC 2036 (Sep 18 - Nov 27, 2007)
Announcements: this web page and/or course newsgroup: news://news.uwaterloo.ca/uw.cs.cs856

Course Description

Internet technology provides a highly flexible communication platform that has the potential to replace existing networks, such as the current telephone network, while offering ubiquitous access to additional communication services at the same time. There is also a trend to apply Internet technology to new scenarios (such as mobile end systems) that are not necessarily handled well by the original design. Due to a number of reasons, it is largely undebated that the underlying architecture has reached inherent limitations. This course covers the state of the art in different aspects of large-scale networking techniques for a next-generation Internet.

The challenges for a next-generation highly integrative internetwork can be descibed as a number of scaling requirements:

Course Organization

The course primarily consists of reading, reviewing, and presenting research papers. There will be two main papers assigned to each class period, selected from topics including the following:

Reading List

All students must read both of the papers before class, and must submit a review for one of them (of the student's choice) by 9am on the day of the lecture. Each paper will be presented to the class by one student, in a 25-minute conference-style presentation. The student presenting the paper will then lead the class in a discussion of the paper, taking up to 45 minutes for the presentation and discussion in total for each paper. In addition, supplementary papers might be assigned to a main paper and must be taken into account when reviewing and presenting the main paper.

All students must also submit presentation feedback forms (one for each of the two presentations per class period) by the evening of the day following the class period. These forms will be made available (anonymously) to the presenter.

In addition, students are expected to work on a research project as described below.

Course Projects

Students will work in groups of 1-3 students (depending on the size of the project) on a research project related to the topic of the course. Each group must submit a proposal to the instructor. Near the end of term, the group will present their work to the class in a 30-minute conference-style presentation. In addition, by the end of term, the group must produce a workshop-quality paper, 10-15 pages in length, describing their project. A list of sample project ideas will be distributed during the first class, but students are also welcome to propose their own projects. Projects should consist of literature research and some investigative component, using mathematics, simulation, or prototype implementation/experimentation.

Draft timeline for project work:


Grading will be computed using the following weighting scheme:

Paper Reviews 15%
Paper Presentation 10%
Presentation Reviews 5%
Class Participation (attendance is required throughout the term!) 20%
Course Project (incl. Proposal & Final Presentation) 50%

For an audit credit, you need to satisfy passing requirements for 'Paper Reviews', 'Presentation Reviews', and 'Class Participation'.


From the School's web page:

Graduate courses assume a background of at least third-year Honours Computer Science at the University of Waterloo and a similar level of mathematical maturity. Students lacking this background will be asked to acquire this material in addition to the other requirements of the program.

Students considering the course should have taken and enjoyed a computer networks course, such as CS 456/656.

Academic Integrity

Note that students are not generally permitted to submit the same work for credit in multiple classes. For example, if a student has reviewed or presented one of the papers in another seminar or class, he or she should avoid reviewing or presenting it again for this class.

Students are expected to know what constitutes academic integrity, to avoid committing academic offences, and to take responsibility for their actions. Students who are unsure whether an action constitutes an offence, or who need help in learning how to avoid offences (e.g., plagiarism, cheating) or about "rules" for group work / collaboration should seek guidance from the course professor, TA, academic advisor, or the Undergraduate Associate Dean.

For information on categories of offences and types of penalties, students should refer to Policy #71, Student Academic Discipline, http://www.adm.uwaterloo.ca/infosec/Policies/policy71.htm

Students who believe that they have been wrongfully or unjustly penalized have the right to grieve; refer to Policy #70, Student Grievance, http://www.adm.uwaterloo.ca/infosec/Policies/policy70.htm

Last updated: Sep 13, 2007