Courses:

Distributed Computer Systems Engineering >> Content Detail



Syllabus



Syllabus

Amazon logo Help support MIT OpenCourseWare by shopping at Amazon.com! MIT OpenCourseWare offers direct links to Amazon.com to purchase the books cited in this course. Click on the Amazon logo to the left of any citation and purchase the book from Amazon.com, and MIT OpenCourseWare will receive up to 10% of all purchases you make. Your support will enable MIT to continue offering open access to MIT courses.

A schedule of topics and important due dates are presented in the calendar.



Structure


6.824 is a core graduate subject with lectures, labs, quizzes, and a final project. 6.824 is 12 units. 6 Engineering Design Points.

Lectures meet two times a week. Most class meetings will be one half lecture and one half paper discussion. You should read the paper before coming to class, and be prepared to discuss it. You can find out what paper to read for each meeting given in the readings section.

We will post a question about each paper 24 hours before we discuss the paper. Please bring your answer to class on a sheet of paper and hand it in. Your answer need only be long enough to demonstrate that you understand the paper; a paragraph or two will usually be enough. We won't hand back the questions, but we will glance at them to make sure your answer makes sense, and they will count for part of the paper discussion grade.

6.824 will have two in-class quizzes.

There are programming labs due every week or two for the first half of the term.

In the second half of the term you'll undertake a project in small teams. Each team will design and implement a system of its choice. Each team will also write a research paper about its project.



Grading


The grade for this class will be based on:


ActivitiesPercentages
Labs (programming assignments)25%
Project (programming and paper)40%
Quizzes25%
Paper discussion, participation, and paper questions10%



Late Policy


The late policy for programming assignments is as follows. You can hand assignments in late, but the total amount of lateness summed over all the assignments must not exceed 72 hours. If you hand in an assignment late, and your total late time (include the late time for that assignment) exceeds 72 hours, we will give that assignment a grade of D. Note that a D is better than the grade you'd get if you handed in nothing. You can divide up your 72 hours among the assignments however you like; you don't have to ask or tell us. If you want an exception to this rule, please bring us a letter from a dean.



Collaboration Policy


You must write all the code you hand in for the programming assignments, except for code that we give you as part of the assignment. You are not allowed to look at anyone else's solution (and you're not allowed to look at solutions from previous years). You may discuss the assignments with other students, but you may not look at or use each other's code.

You may discuss the questions for each discussion paper with other students, but you may not look at other student's answers. You must write your answer yourself.



Useful Books


The following books may help provide background for 6.824 or help with lab programming. None of them are required. They are listed in rough order of usefulness.

Amazon Stevens, W. Richard, Bill Fenner, and Andrew M. Rudoff. UNIX Network Programming, Vol. 1: The Sockets Networking API. 3rd ed. Reading, MA: Addison-Wesley Professional, 2003. ISBN: 9780131411555.

Amazon Tanenbaum, Andrew. Modern Operating Systems. 2nd ed. Upper Saddle River, NJ: Prentice Hall, 2001. ISBN: 9780130313584.

Amazon Tanenbaum, Andrew, and Maarten van Steen. Distributed Systems: Principles and Paradigms. Upper Saddle River, NJ: Prentice Hall, 2002. ISBN: 9780130888938.

Amazon McKusick, Marshall Kirk, Keith Bostic, Michael J. Karels, and John S. Quarterman. The Design and Implementation of the 4.4 BSD Operating System. Reading, MA: Addison-Wesley Professional, 1996. ISBN: 9780201549799.

Amazon Stroustrup, Bjarne. The C++ Programming Language. 3rd ed. Reading, MA: Addison-Wesley Professional, 2000. ISBN: 9780201700732.

Amazon Stevens, W. Richard, and Stephen Rago. Advanced Programming in the UNIX Environment. 2nd ed. Reading, MA: Addison-Wesley Professional, 2005. ISBN: 9780201433074.



Recommended Citation


For any use or distribution of these materials, please cite as follows:

Robert Morris, course materials for 6.824 Distributed Computer Systems Engineering, Spring 2006. MIT OpenCourseWare (http://ocw.mit.edu/), Massachusetts Institute of Technology. Downloaded on [DD Month YYYY].



Calendar



LEC #TOPICSKEY DATES
1Introduction and O/S review
2I/O concurrency and event-driven programming
3Event-driven programming (cont.)Lab 1 due
4Network file system
5RPC transparencyLab 2 due
6Crash recoveryTeam list due
7LoggingLab 3 due
8Cache consistency and lockingProject proposal due
9Memory consistencyLab 4 due
10First project conferences
11Memory consistency (cont.)
12Vector timestamps and version vectorsLab 5 due
Quiz 1
13Two-phase commit
14Paxos
15Viewstamped replication
16HarpFirst draft of report due
17Second project conferences
18Frangipani
19Scalable lookupSecond draft of report due
20Wide-area storage
Quiz 2
21Hacking day (no class)
22Project demonstrations
23Content distribution
24Distributed computingProject reports due

 








© 2010-2017 OpenHigherEd.com, All Rights Reserved.
Open Higher Ed ® is a registered trademark of AmeriCareers LLC.