CS 417 Syllabus

Fall 2022

week date topic*
1 Sep 12 Introduction
Networking: network protocols, point-to-point communication
2 Sep 19 Data marshaling: JSON, Google protocol buffers
Remote procedure calls, distributed objects
3 Sep 26 Clock synchronization
Event ordering: Logical clocks, vector clocks
4 Oct 3 Group communication: message ordering and message delivery, multicasting
Replication, group management, and virtual synchrony
5 Oct 10 Distributed mutual exclusion
Election algorithms
Distributed consensus: Raft
Google's Chubby lock manager (Apache Zookeeper)
6 Oct 17 Network attached storage: design, NFS, AFS (scale), DFS & SMB (cache control), CODA (redundancy)
Parallel file systems: Google FS (GFS), Hadoop Distributed FS (HDFS)
7 Oct 24 Distributed lookup services and distributed hash tables, Amazon Dynamo, DNS
8 Oct 31 Distributed transactions: commit protocols, ACID/BASE models
Distributed deadlock
Concurrency control
9 Nov 7 Structured data: Bigtable (Apache HBase), Cassandra, Spanner
10 Nov 14 MapReduce
Parallel computation frameworks: Hive, Apache Spark, Bulk Synchronous Parallel framework (Apache Hama), Pregel (Apache Giraph)
11 Nov 21 Content delivery networks: Akamai, peer-to-peer content delivery,
Kafka event streaming,
Distributed caching: memcached, Redis
12 Nov 28 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 Dec 5 Google cluster architecture,
Clustering: high-performance computing (HPC), load balancing, and availability
15 Dec 12 Distributed systems design
16 Dec 19 Final exam

Go here to get lecture notes and other course documentation.

Rutgers CS Diversity and Inclusion Statement

Rutgers Computer Science Department is committed to creating a consciously anti-racist, inclusive community that welcomes diversity in various dimensions (e.g., race, national origin, gender, sexuality, disability status, class, or religious beliefs). We will not tolerate micro-aggressions and discrimination that creates a hostile atmosphere in the class and/or threatens the well-being of our students. We will continuously strive to create a safe learning environment that allows for the open exchange of ideas while also ensuring equitable opportunities and respect for all of us. Our goal is to maintain an environment where students, staff, and faculty can contribute without the fear of ridicule or intolerant or offensive language. If you witness or experience racism, discrimination micro-aggressions, or other offensive behavior, you are encouraged to bring it to the attention to the undergraduate program director, the graduate program director, or the department chair. You can also report it to the Bias Incident Reporting System].

*Subject to change without notice.
Last modified September 7, 2022.
recycled pixels