Theoretical aspects of distributed systems
Unofficial prerequisite: Distributed algorithms (#236357).
Time and place: Monday, 14:30-16:30 (Ullman 104)
Lecturer: Dr. Hagit Attiya.
Office hours: Monday, 16:30-17:30, Fishbach 455.
The course presents several examples where a good theoretical concept (algorithm, definition, impossibility result) influence the way distributed systems can be built.The course will include the following topics:
- Scalable and lock-free synchronization.
- Broadcast and multicast.
- Replication.
- Distributed shared memory.
- Distributed file systems.
And additional topics, as time permits and the lecturer wishes…
The course will deal with systems, but it is not a programming course—its methodology is theoretical.
The course is research-oriented: It covers mostly recent papers and emphasizes open problems.
Grading policy:
The grade will be based on the following factors
- Homework exercises (not many)
- Mid-term examination
- Presenting a paper in class or writing a good summary (in pairs).
Pointers:
Partial bibliography.
This course borrows some of its material from Maurice Herlihy’s course at Brown University.
See also Nir Shavit’s course at MIT.