Schedule

The time plan for the semester. For all assignments and projects, follow the deadlines listed on this page.

Schedule

NOTE: Topics/dates listed below are not set in stone. Some adjustments might be made over the course of the semester.

Week

Date

Topic

Slides/Readings

Assignment out

Assignment due

1

Sep 1

Introduction

Slides

1

Sep 3

Communication 1, the Internet in a Day, day 1

Slides

Additional Reading: Computer Networks ch1-3

2

Sep 8

Communication 2, the Internet in a Day, day 2

Slides

P0

2

Sep 9 & 12

Recitation: P0

Slides

2

Sep 10

Communication 3, Classical synchronization + Go-style concurrency

Slides

Additional Resources: Chapter on Condition Variables from the Wisconsin OS book, for more information. Rob Pike - Go Concurrency Patterns. Kesden concurrency notes.

3

Sep 15

Classical synchronization + Go-style concurrency

3

Sep 17

Time Synchronization

Slides

Additional Resources: Tanenbaum 6.1-6.2

HW1

P0

3

Sep 18

P1

4

Sep 22

Distributed Mutual Exclusion

Slides

Additional Resources: Tanenbaum 6.3-6.4

4

Sep 23 & 26

Recitation: P1 part a

Slides

4

Sep 24

Remote Procedure Calls, Distributed File Systems 1

Slides (RPC), Slides (DFS)

Additional Resources: Tanenbaum 4.2, and the RPC chapter from Heather's Distributed Programming book. See also the book chapters on AFS and NFS from the Wisconsin OS book.

5

Sep 29

Distributed File Systems 2

Slides

P1 - CKPT

5

Sep 30

HW1

5

Sep 30 & Oct 3

Recitation: Debugging

Slides

5

Oct 1

Concurrency Control (2PL, 2PC) 1

Slides

Additional Resources: Tanenbaum 8.5

6

Oct 6

Concurrency Control (2PL, 2PC) 2; Logging and Crash Recovery 1

Slides (Logging and Crash Recovery)

Additional Resources: Tanenbaum 8.1, 8.6; Wikipedia Algorithms for Recovery and Isolation

HW2

6

Oct 7 & 10

Recitation: P1 part b

Slides

6

Oct 8

Logging and Crash Recovery 2

6

Oct 10

P1 - Part A

7

Oct 13

Fault Tolerance & RAID

Slides

Additional Resources: Book chapter from the Wisconsin book.

.

7

Oct 15

Distributed Replication

Slides

Additional Resources: Tanenbaum Ch7 (p364-p370, p398-p401), Tanenbaum 8.2, Paxos Made Simple Paper

8

Oct 19 Oct 17

HW2

8

Oct 20

Distributed databases (case study), Spanner, First Midterm Review

Slides (Spanner), Slides (Review)

Additional Resources:Spanner paper. 2018 blog article. HN commentary about said blog article.

Note regarding review slides: These are just a subset of the slides from the actual lectures. You should really look at the original lecture slides to prepare for the exam.

P1 - Part B

8

Oct 22

First Midterm Exam

9

Oct 26

P2

9

Oct 27

Data center storage (GFS / HDFS)

Slides

Additional Resources: Read Sections 2.3-2.6, 3.1, 3.3, 5.1, 5.2 in the Google Filesystem paper. Optional GFS follow-up interview.

9

Oct 28 & 31

Recitation: P2

Slides

9

Oct 29

Data-Intensive Computing and MapReduce/Hadoop

Slides

Additional Resources: Read Sections 3 and 4 in the MapReduce paper, it's pretty readable.

10

Nov 3

In-memory cluster compute, Spark,Distributed ML

Slides

Additional Resources: Spark/RDD Paper, Helland on Immutability, further refs in slides, + slides from Heather's distributed ML course

HW3

10

Nov 5

Distributed ML, Internet Content Delivery 1 (DNS)

Slides (DNS)

11

Nov 9

P2 - CKPT

11

Nov 10

Internet Content Delivery 2 (CDN), Publish-Subscribe 1

Slides (CDN), Slides (pub-sub)

11

Nov 12

Publish-Subscribe 2, Kafka, Virtualization 1

Slides (Virtualization)

Additional Resources: The book chapter on Virtual Machines from the Wisconsin OS book

HW3

12

Nov 17

Virtualization 2, Scaling - 3-tier web service architecture 1

Slides (scaling architecture)

P3

P2 - Final

12

Nov 18 & 21

Recitation: P3

12

Nov 19

Scaling - 3-tier web service architecture 2, Security Protocols 1

Slides (security protocols 1)

HW4

13

Nov 24

Security Protocols 2, Byzantine Fault tolerance 1

Slides (security protocols 2) Slides (bft1)

Additional Resources: An online lecture about BFT by Barbara Liskov, and the PBFT paper. Tanenbaum pages 449 - 460. Optional (fun) read James Mickens' Saddest Moment

13

Nov 26

Thanksgiving Break

14

Dec 1

Byzantine Fault Tolerance 2

Slides

P3 - CKPT

14

Dec 3

P2P networks, distributed ledgers, and blockchains

Slides, Proof of Work Sketch

15

Dec 7

HW4

15

Dec 8

Second Midterm Review

Slides (Heather) Slides (Rashmi)

15

Dec 10

Second Midterm Exam

15

Dec 11

P3 - Final