Class schedule: Wed 7:10-9:00 CIWW 317
Class instructor: Jinyang Li (Office hour: Mon 5:45-6:45pm)
Distributed systems help programmers aggregate the resource of
many networked computers to construct highly available and scalable services, such as
peta-byte storage, massively parallel computation.
This class teaches the abstractions, design and implementation techniques that
allow you to build fast, scalable, fault-tolerant distributed systems. Topics
include multithreading, network programming, consistency, naming, fault
tolerance, and security and several case studies of distributed systems.
This class is a graduate-level course, but undergraduate students are welcome!
The course consists of lectures and a series of
This class satisfies
the Ph.D. breadth requirement in Systems
and also serves as a M.S. capstone course.
1. Undergraduate Operating Systems or Computer Systems Organization
2. Programming experience
The following books may help provide background help. None of them are required. They are listed in rough order of usefulness.
- Principles of Computer System Design. Jerome Saltzer and M. Frans Kaashoek, Morgan Kaufmann.
- Distributed Systems: Principles and Paradigms, Andrew Tanenbaum and Maarten van Steen, Prentice Hall.