This page is organized by the weeks of the quarter in which lectures were given. The weeks are in inverse order, on the assumption you will most often be looking for the most recent week.
This class will be taught by Peter Reiher. There is no textbook, but there will be readings assigned that can be reached from links on this page.
The final exam will be held in Boelter Hall 5440 from 8-11 AM on Wednesday March 18. NOTE THAT THIS IS NOT OUR REGULAR CLASSROOM!!!
The final exam will be cumulative, covering all material from the class, including all lectures, all readings, and anything mentioned in a class session, whether it was covered in the lecture slides and readings or not. The exam will consist of essay questions intended to test your ability to apply knowledge from the class to problems in distibuted systems. It will be an open note test, including all readings and the lecture slides. You may write the tests on your electronic devices (laptops, tablets, etc.), provided you get the test to me in either plain text or PDF before the end of the testing period. Handing in hard copy is also acceptable.
The questions on the test will be similar to the questions on the midterm exam. Here is a copy of the midterm exam, to give you an idea of the kinds of questions to expect.
I will be holding my usual offices hour on the Tuesday before the exam. In addition, I will hold extra offices hours Monday, March 16, from 1-2 PM, to help you with any questions you have on the test.
The TA for the course will be Mevlut Turker Garip -- (mtgarip@cs.ucla.edu). Group projects will be a major component of your grade, and will be handled largely by Turker. We will provide details soon on the projects you can choose from and other information on how projects will be handled in this course. Basically, the Monday recitation sections will be used to deal with project issues.
Lecture 18. Cloud computing.
Lecture 18. Cloud computing, PDF version.
Lecture 17. A distributed system design problem.
Lecture 17. A distributed system design problem, PDF version.
MapReduce: Simplified Data Processing on Large Clusters, Jeffrey Dean and Sanjay Ghemawat, Communications of the ACM, January 2008, Vol. 51, No. 1.
Lecture 16. Security in distributed systems.
Lecture 16. Security in distributed systems, PDF version.
Lecture 15. Finding stuff in distributed systems.
Lecture 15. Finding stuff in distributed systems, PDF version.
Intro to Distributed Hash Tables (DHTs), by real.
Lecture 14. Recovery in distributed systems.
Lecture 14. Recovery in distributed systems, PDF version.
Lecture 13. When is agreement in distributed systems possible?
Lecture 13. When is agreement in distributed systems possible, PDF version.
Lecture 12. Reaching agreement in distributed systems.
Lecture 12. Reaching agreement in distributed systems, PDF version.
Paxos Made Simple, Leslie Lamport, 2001.
Lecture 11. Commitment and mutual exclusion in distributed systems.
Lecture 11. Commitment and mutual exclusion in distributed systems, PDF version.
Lecture 10. A design problem in replicated file systems.
Lecture 10. A design problem in replicated file systems, PDF version.
Lecture 9. Example replicated file systems.
Lecture 9. Example replicated file systems, PDF version.
Coda: A Highly Available File System for a Distributed Workstation Environment, M. Satyanarayanan, et al, IEEE Transactions on Computer, Vol 39, No. 4, April 1990.
Implementation of the Ficus Replicated File System, R. Guy, et al, Usenix Summer Conference, June 1990.
Lecture 8. Data replication.
Lecture 8. Data replication, PDF version.
Time, Clocks, and the Ordering of Events in a Distributed System, Leslie Lamport, Communications of the ACM, Vol. 21, No. 7, July 1978.
No new material, as we will continue discussion of the design slides from lecture 6.
Lecture 7. Examples of remote file systems.
Lecture 7. Examples of remote file systems, PDF version.
A Survey of Distributed File Systems, M. Satyanarayanan, Annual Review of Computer Science, 1990. Two sections of this paper were previously assigned. For today, read sections 3.1 (on NFS) , 3.3 (on AFS), and 4 (on some general mechanisms and techniques). This is a rather old paper, so some details on NFS, in particular, have changed, but the paper still gives a good flavor of the general NFS approach.
Lecture 6. This is a design lecture that should have audio (but not video) attached. I expect you to have listened to it before Thursday's class. It's only around 15 minutes long, so that should be possible.
A Survey of Distributed File Systems, M. Satyanarayanan, Annual Review of Computer Science, 1990. You only need to read sections 1 and 2, for Tuesday.
Lecture 4. This is a pre-taped lecture, with embedded videos. Unfortunately, the technique I used to create it embedded links, not the videos themselves, and the links are to files on my own machine - not helpful to you. Simple fixes aren't helping, so I'm looking into more elaborate ones, which won't be available in time for tomorrow's lecture. You can either view the slides without the videos or, if you are ambitious, you can download the mov files in tar format and figure out how to view them along with the Powerpoint. I will do something at the lecture tomorrow to make up for the fact that I don't expect you'll have a lot of luck doing this. Note, before clicking, that this tar file is 1.6 Gbytes . . .
Fallacies of Distributed Computing Explained, Amon Rotem-Gai-Oz.
Lecture 2. Review of important networking and OS concepts.
I will typically also post a PDF version of the slides. I use some animations in my slides, so some information is lost in the PDF version.
Note on distributed operating systems. This reading is about distributed operating systems, rather than more general distributed systems, but it covers a number of issues common both to general distributed systems and distributed OSes.