Massachusetts Insitute of Technology
6.897 Principles of Fault-Tolerant Distributed Computing, Fall Term 2004
Professor Nancy Lynch
Dr. Gregory Chockler


Announcements


Course Homepage


Fall, 2004
Time: Wednesday, 1:00-2:30pm
Room: 26-168
Credits: 6 (2-0-4)
Level: Grad H

Enrollment and prerequisites: The course is intended for graduate students interested in the area of distributed fault-tolerance. It will provide a quick introduction to the fundamental concepts as well as the current state-of-the-art and open questions. Although the course is intended to be self-contained, some background in distributed systems and algorithms (e.g., 6.852) will be helpful. Students should have a strong background in mathematics, and should be familiar with basic algorithms (e.g., 6.046) and computer systems (e.g., 6.033).

Taught by:

Course assistant: Joanne Talbot Hanley, 32-G672A, 3-6054

Students mailing lists: 6897-students@theory, 6.897-students@theory

Schedule, handouts, papers, and notes

Course Goals and Summary:

Fault-tolerance is one of the most established but yet actively researched subject areas of distributed computing. The interest in the subject is motivated by an ever growing popularity of distributed systems where robustness represents a major concern due to the inherent vulnerability to component failures and malicious attacks. This course is aimed to introduce the students to the principles of fault-tolerance in distributed systems covering both current state of the art and providing a glimpse into the research frontiers.

To make the exposition self-contained we will start by reviewing fundamental concepts and classical results in distributed fault-tolerance. We will cover computation and failure models as well as basic algorithms and impossibility results. Wherever possible, the material will be presented from the modern perspective, giving the up-to-date outlook at the classical problems. The second part will be dealing with recent advances, current research and open problems in the field. The topics to be discussed will include (but will not necessarily be limited to) approaches to circumventing impossibility results, computing with unreliable storage and fault-tolerance in dynamic systems.

The course will combine lectures (the first part) with student presentations (the second part). The first part might be accompanied by a few theoretical exercises whose objective will be to reinforce the material studied in class. There'll be also a possibility for doing a practical project or working on an open problem.