CS 417 Syllabus

Spring 2021

week date topic*
1 Jan 25 Introduction
Networking: network protocols, point-to-point communication
2 Feb 1 Data marshaling: JSON, Google protocol buffers
Remote procedure calls, distributed objects
3 Feb 8 Clock synchronization
Event ordering: Logical clocks, vector clocks
4 Feb 15 Group communication: message ordering and message delivery, multicasting
Replication, group management, and virtual synchrony
5 Feb 22 Distributed mutual exclusion
Election algorithms
Distributed consensus: Raft
Google's Chubby lock manager
6 Mar 1 Network attached storage: design, NFS, AFS (scale), DFS & SMB (cache control), CODA (redundancy)
Parallel file systems: Google FS (GFS), Hadoop Distributed FS (HDFS)
7 Mar 8 Distributed lookup services and distributed hash tables, Amazon Dynamo
8 Mar 15 NO CLASS: SPRING BREAK
9 Mar 22 Databases: commit protocols, ACID/BASE models
Distributed deadlock
Concurrency control
10 Mar 29 Tables: Bigtable (Apache Hama), Spanner
MapReduce
11 Apr 5 Parallel computation frameworks: Hive, Apache Spark, Bulk Synchronous Parallel framework (Apache Hive), Pregel (Apache Giraph)
12 Apr 12 Content delivery networks: Akamai,
Peer-to-peer content delivery,
Kafka event streaming,
Distributed caching: memcached, Redis
13 Apr 19 Cryptography: introduction, communication and authentication, key exchange, secure communication, hybrid cryptosystems, digital signatures
Distributed authentication: protocols, digital certificates, Kerberos, SSL
Identity management (OpenID), distributed authorization (OAuth)
14 Apr 26 Google cluster architecture,
Clustering: high-performance computing (HPC), load balancing, and availability
15 May 3 Distributed systems design

Go here to get lecture notes and other course documentation.

*Subject to change without notice.
Last modified April 16, 2021.
recycled pixels