CSE 60771/40771 - Distributed Systems - Spring 2007

Syllabus Dated: 15 January 2007

3:00-3:350PM MWF in DeBartolo 125

Prof. Douglas Thain
Email: dthain at cse dot nd dot edu
Office: 382 Fitzpatrick
Office Hours: Tue 10-11AM, Thu 4:30-5:30PM or by appointment.

TA: Jeffrey Hemmes
Email: jhemmes at cse dot nd dot edu
Office: 222 Cushing

Course Web Page:: http://www.cse.nd.edu/~dthain/courses/cse60771/spring2007

This course will introduce students to the practice and theory of distributed systems. Students will study specific examples of distributed systems in detail, focusing on critical evaluation of structures and algorithms. Topics may include remote procedure call, distributed file systems, distributed operating systems, peer-to-peer computing, mobile computing, security, and algorithms.

The course textbook will be Distributed Systems: Principles and Paradigms by Andrew Tannenbaum. The textbook will be supplemented by a selection of technical papers that present detailed case studies of distributed systems. Each graduate student in the class will prepare and deliver a formal lecture on one of these case studies.

Two projects will be required of each student. The first project will involve a thorough quantitative measurement of some aspect of a distributed system, and will require a written report detailing, the work, results, and appropriate conclusions. The second project will involve adding new capabilities to an existing distributed system, and will require a demonstration, a formal lecture, and a written report describing the modified system. Two working environments are available for these projects: the Cooperative Computing Lab and the TeamTrak mobile computing environment.

A novel feature of this class is that it will be an environment for carrying out current research on the TeamTrak platform. At periodic intervals during the course, TA Jeffrey Hemmes will describe the TeamTrak software and lead the class in outdoor lab exercises on a network of mobile computing devices. Through this experience, students will learn about the challenges of building distributed systems and the process of conducting research.

Students will be issued a tablet PC and GPS unit for carrying out projects and for participating in the experimental activities. This equipment should be treated with care, and used only for class-related activities. The equipment must be returned in good condition by the end of the semester, or students will be charged the replacement cost of any missing or damaged components.

Prerequisites

Course Outcomes

Students successfully completing this course will be able to:
  • Describe the architecture and operation of a variety of common distributed systems.
    Presented in course readings, evaluated in midterm and final.
  • Compare the architecture and operation of various distributed systems.
    Presented in class discussions, evaluated in midterm and final.
  • Describe how distributed systems are fundamentally different from standalone systems in matters such as naming, invocation, synchronization, and fault tolerance.
    Presented in course readings, evaluated in midterm and final.
  • Construct, test, and evaluate programs in a distributed environment.
    Presented, practiced, and evaluated in the two projects.
  • Communicate technical results orally and in writing.
    Practiced in project papers, project talk, and case studies.
  • Attendance

    Students are expected to attend all class meetings.

    In particular, attendance will be taken for the TeamTrak experimental sessions To receive credit for these sessions, students must be present at the beginning of class, with all required equipment powered on, initialized, and software ready for immediate use. (This means you should power on, login, and download and start software before class begins.) At the end of the session, email the required data (typically ttlog.txt and myplaces.txt) to the teaching assistant. Upon receipt of the required files, credit for participation will be given.

    Exceptions may be made for students with out-of-town job interviews (or similar circumstances), provided that reasonable notice is given to the instructor.

    No exceptions will be made for the class period preceding spring break.

    Grading

    All written assignments are due at the beginning of class on the date due. Late assignments will receive no credit. This includes assignments submitted after class has begun. Exceptions will be made only for grave emergencies.

    Both projects will be done in groups of two students. Both members of a pair will receive the same grade on work done jointly. Both members of a pair are expected to contribute to the project. If any serious difficulty should arise between you and your project partner, consult the instructor sooner rather than later.

    For each assignment, a numeric grade will be assigned. Throughout the semester, students will be advised of their numeric grades and the class average. At the end of the semester, number grades will be converted to letter grades.

    For undergraduate students, grades will be weighted as follows:
    Attendance 10
    Project I Paper 10
    Project II Demo 5
    Project II Talk 10
    Project II Paper 15
    Midterm Exam 25
    Final Exam 25

    For graduate students, grades will be weighted as follows:
    Attendance 10
    Project I Paper 10
    Project II Demo 5
    Project II Talk 10
    Project II Paper 15
    Midterm Exam 20
    Final Exam 20 Paper Talk 10

    Collaboration

    To understand the textbook and class readings, you may consult with anyone at all.

    To undertake the course project, you will work in pairs. To refine your project ideas, you may consult with anyone at all. You may employ software written by others and hardware provided by others, provided that you obtain the necessary permissions and give credit within your work. However, all software development, experimental work, and paper writing must be done solely by you and your partner.

    The midterm and final exam are to be taken alone.

    Read and understand the Academic Code of Honor.