University of Minnesota
Introduction to Distributed Systems

Class Schedule

Note: All upcoming assignment dates are tentative and subject to change.
Text refers to the van Steen, Tannebaum "Distributed Systems" text. [xyz] corresponds to a reference in the Additional Reading List.
The lecture notes are in pdf format (4 slides per page).
Additional Reading materials are accessible through the Additional Reading link (or Canvas in some cases).




Assignments and Projects

Jan 22/24

Introduction and Overview Notes

Distributed Systems: Types and Architectures Notes

Text Ch.1

Text Ch.2

HW 0 Released
(Note: No submission/grading)

Jan 29/31

Jan 29, 31: No classes due to extreme weather

Distributed Architectures (Contd.)

Communication: Overview, RPC, RMI Notes

Text Ch. 3.1: Background on Threads

Text Ch. 4.1, 4.2, 2.1 (Section on Object-based architectures)

Additional Reading: [Com1], [Com2]

Form Project Teams

Feb 5/7

Communication: Overview, RPC, RMI

Communication: Messages Notes

Text Ch. 4.1, 4.2, 2.1 (Section on Object-based architectures)

Additional Reading: [Com1], [Com2], Thrift Tutorial

Text Ch. 4.3

PA 0 Released
(Note: Not graded, 1% course credit for submission)

Feb 12/14

Communication: Messages (Contd.)

Communication: Multicast Notes

Text Ch. 4.3, 4.4

HW1 Released: Feb 12

Feb 19/21

Distributed Computing: Scheduling and Resource Management Notes

Distributed Computing: Data-intensive Computing Notes

Additional Reading: [DC1]-[DC4]

Additional Reading: [DC5]

HW1 Due: Feb 19

PA1 Released: Feb 19

Feb 26/28

Naming: Overview, Flat Naming Notes

Text Ch. 5.1, 5.2

Mar 5/7

Naming: Flat Naming (Contd.)

Naming: Structured Naming Notes

Naming: Attribute-based Naming Notes

Additional Reading: [Nam1]

Text Ch. 5.3

Text Ch. 5.4

PA1 Due: Mar 6

Mar 12/14

Coordination: Clock synchronization Notes

Mid-Term Exam: Mar 14 (In Class)

Text Ch. 6.1

Additional Reading: [Syn1]

PA2 Released: Mar 12

Mar 19/21

Spring Break

Mar 26/28

Coordination: Logical Clocks

Coordination: Mutual Exclusion, Leader Election Notes

Text Ch. 6.2

Additional Reading: [Syn2]

Text Ch. 6.3, 6.4

Apr 2/4

Data Replication and Consistency: Overview, Consistency Models Notes

Text Ch. 7.1-7.2

Additional Reading: [DR1], [DR4]

HW2 Released: Apr 2

PA2 Due: Apr 3 Apr 5

Apr 9/11

Data Replication and Consistency: Client-Centric Consistency Models

Data Replication and Consistency: Consistency Protocols Notes

Data Replication and Consistency: Replica Management Notes

Text Ch. 7.3

Text Ch. 7.5

Text Ch. 7.4

Additional Reading: [DR2], [DR3]

PA3 Released: Apr 9

HW2 Due: Apr 9

Apr 16/18

Fault Tolerance: Overview and Basics Notes

Fault Tolerance: Process Resilience: Consensus, Byzantine Fault Tolerance Notes

Text Ch. 8.1

Text Ch. 8.2

Additional Reading: [FT1], [FT2], [FT3]

Apr 23/25

Fault Tolerance: CAP Theorem

Fault Tolerance: Reliable RPC, Group Communication Notes

Fault Tolerance: Recovery Notes

Additional Reading: [FT5]

Text Ch. 8.3, 8.4

Text Ch. 8.6

HW3 Released: Apr 23

PA3 Due: Apr 24

Apr 30/May 2

Distributed File Systems Notes

Cloud and Edge Computing Notes

Wrapup: Lookback and Lookahead

Additional Reading: [DFS1], [DFS2]

Additional Reading: [CC1], [CC2], [CC3]

HW3 Due: Apr 30

Final Exam: May 15, 1.30-3.30 pm
Location: Keller Hall 3-125

All lecture materials are Copyright (C) 2019 by Abhishek Chandra and may not be used without prior written permission. Some of the figures in the lecture notes are taken from the 2nd and 3rd Editions of the van Steen, Tannebaum Distributed Systems textbook.