CS 4513 Distributed Computing Systems WPI, D Term 2001
Craig E. Wills Syllabus
Tuesday, March 13, 2001

Instructor

Craig E. Wills, FL-236, cew@cs. Office hours: 10:00-11:00 Tuesdays, 1:00-3:00 Thursdays, any time for short questions. Electronic mail is an effective method to contact me.

Teaching Assistants

Course Web Page

Copies of all handouts, assignments, notes and old exams will be posted as appropriate on the course Web page. The address for it is http://www.cs.wpi.edu/~cs4513/d01/.

Laboratory

Unless otherwise specified, all projects will be done in the Fossil Lab located in FL-B17. Machines in this lab, each running the Linux operating system, are for students in this class. The web page for the lab is available at http://fossil.wpi.edu/. It contains links to lots of useful information about the lab and Linux.

Accounts on machines in the lab must be obtained from the course TAs. Student groups will have root access for one of the machines. Deliberate irresponsible use of this privileged access is grounds for an NR grade in the course and possible referral to the WPI Judicial system.

Purpose

This is an undergraduate course in the design of advanced systems. It focuses on the issues of advanced operating systems and distributed systems, which have evolved from general-purpose multiprogramming systems covered in CS3013. The course covers file systems, distributed systems, distributed file systems, remote communication, performance evaluation and other issues related to advanced and distributed systems. The goals are 1) to acquaint students with the components of single-machine and distributed file systems, 2) to acquaint students with issues in distributed systems 3) to show students abstractions underlying design choices, tradeoffs, and their consequences, and 4) to give students ``hands on'' experience with operating and distributed systems.

Prerequisites

A first course in operating systems, such as CS 3013. An interest in reading, thinking about and discussing issues in advanced system design.

Recommended background: CS3013.

Text Books

Required:

Operating Systems Concepts. A. Silberschatz and P.B. Galvin Addison Wesley, 5th edition, 1998.

Reference:

Modern Operating Systems. Andrew S. Tanenbaum, Prentice Hall, 1992. Second edition published in 2001. Former text used in the course.

Distributed Systems Concepts and Design. George Coulouris, Jean Dollimore and Tim Kindberg, Addison Wesley, 2nd edition, 1994. Focuses on distributed systems issues.

Grading Policy

Final grades will be computed as follows:
Midterm Exam: 30%;
Final Exam: 30%;
Homework, projects, quizzes, and class participation: 40%.

Grading policy for each project and homework will be provided at the time of the assignment. In general, each assignment will have a basic objective for the majority of the assignment points and an extended objective for demonstrating additional work and understanding.

Final grades will reflect the extent to which you have demonstrated understanding of the material, and completed the assigned projects. The base level grade will be a ``B'' which indicates that the basic objectives on assignments and exams have been met. A grade of ``A'' will indicate significant achievement beyond the basic objectives and a grade of ``C'' will indicate not all basic objectives were met, but work was satisfactory for credit. No incomplete grades will be assigned unless there exist exceptional, extenuating circumstances.

Late Policy

Each homework and programming assignment will be given a point value when it is handed out. The point value indicates the weight of the assignment relative to the other assignments. Late programs and homeworks will be be penalized 5% of total assignment value per day (with the weekend counting as one day) or partial day, and no assignments will be accepted after seven days beyond the due date. All programs and written homeworks are due at the start of class on the due date. Homeworks and programs turned in after the start of class will be counted late. Projects will be submitted as directed in class. Exceptions to these rules can be made only a priori. Finally, no assignments will be accepted after Tuesday, May 1 to allow sufficient time for grading.

Cheating

Unless explicitly noted, all work is to be done on an individual basis. Any violation of the WPI's guidelines for academic integrity will result in no credit for the course and referral to the Student Affairs Office for disciplinary action.

Schedule

The following is a tentative outline of the material that will be covered in this course. All references to chapters are from Silberschatz's and Galvin's (SG) as well as Tanenbaum's (T) books. Not all sections will be covered from each chapter and the lectures will be supplemented with material from other sources. Each week will entail four classes unless otherwise noted.

week 1:
3-13-3-16. Three classes. Introduction. File systems, SG Chapters 10-11, T Chapter 4.
week 2:
3-19-3-23, File systems (cont.),
week 3:
3-26-3-30. File systems (cont.). Distributed systems, SG Chapter 16, T Chapter 9. Communication in distributed systems, T Chapter 10.
week 4:
4-2-4-6. Communication (cont.). Midterm Exam.
week 5:
4-9-4-13. Distributed file systems, SG Chapter 17, T Chapter 13. Distributed processing, T Chapter 12.
week 6:
4-16-4-20. Three classes. Synchronization/Clocks, SG Chapter 18, T Chapter 11. Advanced topics in distributed systems.
week 7:
4-23-4-27. Advanced topics.
week 8:
4-30-5-1. Two classes. Advanced topics. Final Exam.