CS 417 Syllabus
Spring 2021
week | date | topic* |
---|---|---|
0 | Jan 20 | Recitation canceled |
1 | Jan 25 |
Introduction
Networking: network protocols, point-to-point communication |
1.5 | Jan 27 | Introduction, network programming |
2 | Feb 1 |
Marshaling: JSON, Google protocol buffers
Remote procedure calls, distributed objects |
2.5 | Feb 3 | Java RMI, Web services with Python |
3 | Feb 8 |
Web services
Clock synchronization Event ordering: Logical clocks, vector clocks |
3.5 | Feb 10 | Assignment review |
4 | Feb 15 |
Group communication: message ordering and message delivery, multicasting
Replication and virtual synchrony |
4.5 | Feb 17 | Review for Exam 1 |
5 | Feb 22 |
Distributed mutual exclusion
Election algorithms Consensus: Raft |
5.5 | Feb 24 | No recitation |
6 | Mar 1 |
Exam review
Network attached storage: design, NFS, AFS (scale), DFS & SMB (cache control), CODA (redundancy) |
6.5 | Mar 3 | Project discussion |
7 | Mar 8 |
Google FS (GFS), Hadoop Distributed FS (HDFS)
Chubby, Distributed lookup services and distributed hash tables, Amazon Dynamo |
7.5 | Mar 10 | |
8 | Mar 15 | NO CLASS: SPRING BREAK |
8.5 | Mar 17 | NO CLASS: SPRING BREAK |
9 | Mar 22 |
Distributed transactions: two phase commit, three-phase commit, ACID/BASE models
Distributed deadlock Concurrency control |
9.5 | Mar 24 | Assignment review and Q & A |
10 | Mar 29 | Google cluster architecture, MapReduce |
10.5 | Mar 31 | |
11 | Apr 5 |
Bigtable (Apache Hama), Spanner, Bulk Synchronous Parallel framework (Apache Hive)
Pregel framework (Apache Giraph)
Hive, Apache Spark |
11.5 | Apr 7 | |
12 | Apr 12 |
Content delivery networks: Akamai
Peer-to-peer content delivery Clustering: scalable performance, load balancing, and availability |
12.5 | Apr 14 | Assignment discussion, Amazon Elastic MapReduce |
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) |
13.5 | Apr 21 | TBD |
14 | Apr 26 |
Messaging: Kafka
Distributed caching: memcashed, Redis |
14.5 | Apr 28 | No recitation |
15 | May 3 | Distributed systems design |
Go here to get lecture notes and other course documentation.
*Subject to change without notice.