Distributed Systems: Course Syllabus

Fall 2016

The reading list for this course is here.

week date topic*
0 Sept 7 Recitation canceled
1 Sept 12 Introduction: multiprocessor vs. networked systems, interconnect architectures, service models
Networking: Client-server computing, networking, network protocols, point-to-point communication
1.5 Sept 14 Introduction
2 Sept 19 Marshaling: JSON, Google protocol buffers
Remote procedure calls, distributed objects, and web services
Case studies: ONC RPC, DCE RPC Microsoft DCOM/ORPC/.NET, Java RMI, XML-RPC, SOAP, REST
2.5 Sept 21 Assignment discussion
3 Sept 26 Clock synchronization,
logical clocks, vector clocks
3.5 Sept 28 Homework review
4 Oct 3 Group communication: message ordering and message delivery, IP multicasting
Distributed mutual exclusion
Election algorithms
4.5 Oct 5 Homework review & review for exam 1
5 Oct 10 Replication and virtual synchrony
Consensus: Paxos & Raft
5.5 Oct 12 No recitation
6 Oct 17 Exam review
Distributed transactions: two phase commit, three-phase commit, ACID/BASE models
Concurrency control
Distributed deadlock
6.5 Oct 19 Google Cluster Architecture
7 Oct 24 Network file systems: design, NFS, AFS (scale), DFS & CIFS (cache control), CODA (redundancy)
Distributed & parallel file systems: Dropbox, Google FS (GFS), Hadoop Distributed FS (HDFS)
7.5 Oct 26 Project discussion
8 Oct 31 Naming and binding, DNS, multicast DNS
Distributed lookup services and hash tables,
8.5 Nov 2 Review for exam 2
9 Nov 7 Amazon Dynamo
9.5 Nov 9 Recitation canceled
10 Nov 14 Exam review
Bulk Synchronous Parallel and Pregel frameworks
10.5 Nov 16 Project discussion
11 Nov 21 Apache Spark
Content delivery networks: Akamai
Clustering: scalable performance, load balancing, and availability
11.5 Nov 23 No recitation – Rutgers Friday
12 Nov 28 Cryptography: introduction, communication and authentication: key exchange, secure communication, hybrid cryptosystems, digital signatures
Distributed authentication: protocols, digital certificates, Kerberos, SSL,
Virtual Private Networks
Identity management (OpenID), distributed authorization (OAuth)
12.5 Nov 30 Review for exam 3
13 Dec 5 Distributed caching
13.5 Dec 7 Recitation canceled
14 Dec 12 Distributed systems design
14.5 Dec 14 No recitation
15 Dec 19 FINAL EXAM: 8-10pm (note the time!)

Go here to get lecture notes and other course documentation.

*Subject to change without notice.