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.