CS 417 Syllabus

Spring 2023

week date topic*
1 Jan 23 Introduction
Networking: network protocols, point-to-point communication
2 Jan 30 Data marshaling: JSON, Google protocol buffers
Remote procedure calls, distributed objects
3 Feb 6 Clock synchronization
Event ordering: Logical clocks, vector clocks
4 Feb 13 Group communication: message ordering and message delivery, multicasting
Replication, group management, and virtual synchrony
5 Feb 20 Distributed mutual exclusion
Election algorithms
Distributed consensus: Raft
6 Feb 27 Google's Chubby lock manager (Apache Zookeeper)
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 6 Distributed lookup services and distributed hash tables, Amazon Dynamo, DNS
  Mar 13 Spring Break
8 Mar 20 Distributed transactions: commit protocols, ACID/BASE models
Distributed deadlock
Concurrency control
9 Mar 27 Structured data: Bigtable (Apache HBase), Cassandra, Spanner
10 Apr 3 MapReduce
Parallel computation frameworks: Bulk Synchronous Parallel framework (Apache Hama), Pregel (Apache Giraph)
11 Apr 10 Aoache Spark,
Content delivery networks: Akamai, peer-to-peer content delivery,
Kafka event streaming,
Distributed caching: memcached, Redis
12 Apr 17 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 Apr 24 Google cluster architecture,
Clustering: high-performance computing (HPC), load balancing, and availability
14 May 1 Distributed systems design
15 May 5 Final exam: 4:00-6:00pm

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 February 3, 2023.
recycled pixels