pk.org: Distributed Systems

CS 417 Documents

O you possessed of sturdy intellects, observe the teaching that is hidden here beneath the veil of verses so obscure.
      —Dante Alighieri, Inferno IX:61–63, trans. A. Mandelbaum

This page contains links to lecture notes, class lecture slides, and related reading material. Lecture slides are in Adobe PDF format. The slides here will generally be a superset of the material presented in class, with extra annotations and, in some cases, additional pages for clarity.

Please let me know if you find any errors or unclear wording. Any corrections will be most appreciated.

Week 1 Introduction to Distributed Systems

Topics

  • Definitions, properties, and challenges of distributed systems

  • Types of transparency (access, location, migration).

  • Horizontal vs. vertical scaling

  • Failure models (crash-stop, omission, and Byzantine faults)

  • Networking: IP, TCP/UDP, QUIC, sockets, head-of-line blocking, and latency vs. throughput

Lecture Notes Notes

  1. Introduction to Distributed Systems

  2. Networking

Additional Notes Notes

  1. Socket Programming

Lecture Slides Slides

  1. Introduction (PDF)

  2. Networking (PDF)

Study Guide Terms

Terms You Should Know Terms


Week 2 Remote Procedure Calls and Web Services

Topics

  • Remote procedure calls (RPC), stubs, versioning

  • Data serialization and deserialization

  • Web services: XML-RPC/SOAP/REST, gRPC, observability

Lecture Notes Notes

  1. Remote Procedure Calls

  2. Web Services

Lecture Slides Slides

  1. The Remote Procedure Call (PDF)

  2. RPC Frameworks (PDF)

  3. Web Services (PDF)

RPC Examples Terms

Study Guide Terms

Terms You Should Know Terms


Week 3 Clock Synchronization & Logical Clocks

Topics

  • Physical clock synchronization: drift, skew, slewing

  • Cristian’s algorithm, NTP, PTP

  • Logical clocks: concurrent and causal evemts

  • Lamport, Vector timestamps, hybrid logical clocks

Lecture Notes Notes

  1. Clock Synchronization

  2. Logical Clocks

Lecture Slides Slides

  1. Clock Synchronization (PDF)

  2. Logical Clocks (PDF)

  3. Hybrid Logical Clocks: Discussion (PDF)

Study Guide Terms

  1. Week 3 Study Guide - Clock Sync

  2. Week 3 Study Guide - Logical Clocks

Terms You Should Know Terms


Week 4 Mutual Exclusion, Leader Election, and Group Communication

Topics

  • Mutual exclusion algorithms: centralized, Lamport’s, Ricart-Agrawala, Token Ring

  • Leader election: Bully and Ring

  • Group communicatin: order, reliability, IP multicast

  • Group management: virtual synchrony

Lecture Notes Notes

  1. Group Communication

  2. Mutual Exclusion and Leader Election

Lecture Slides Slides

  1. Group Communication (PDF)

  2. Failure Detection and Virtual Synchrony (PDF)

  3. Mutual Exclusion and Leader Election (PDF)

Study Guide Terms

  1. Week 4 Study Guide

  2. Exam 1 Q&A

  3. Exam 1 info

Terms You Should Know Terms