Skip to content

rblakemesser/distributed-systems

Repository files navigation

Links

Course Plan (from canvas)

Approximate Schedule for Distributed Systems Vijay K. Garg

Week 1 (January Session)

  • Topics:
  • Introduction
  • Programming Language Primitives
  • Happened Before Model
  • Vector Clock Algorithms
  • Resource Allocation

Ref: Textbook: C6-8

  • Lect 1:Introduction, Prog. language primitives
  • Lect 2: Model of computation, Logical clocks
  • Lect 3: Vector clocks
  • Lect 4: Timestamp based Mutex
  • Lec 5: Dining Philosopher
  • Lect 6: Quorum based Mutex

Week 2 (February Session)

Due: Term project proposal, HW1

  • Topics:
  • Global Snapshot Algorithms
  • Observing Global Conditions
  • Channel Predicates
  • Termination Detection
  • Controlling Global Computation

Ref: Textbook C9-11

  • Lect 7: Test 1 (40 min), Global State
  • Lect 8: Class Presentation I: Map Reduce, GFS
  • Lect 9: Observing global predicates
  • Lect 10: Termination detection
  • Lect 11: Class Presentation II: Chain Clocks, Dynamo
  • Lect 12: Conjunctive predicates

Week 3 (March Session)

Due: HW2, Term project interim report (1 page)

  • Topics:
  • Message Ordering
  • Leader Election
  • Synchronizers

Ref: Textbook C12-14

  • Lec 13: Test 2 (40 min), Order of Messages
  • Lec 14: Class Presentation III: Distributed Trigger Counting, Minimum Spanning Tree
  • Lec 15: Leader Election
  • Lec 16: Spanning Tree
  • Lec 17: Class Presentation IV:P2P System Chord , Publish-Subscribe Systems
  • Lec 18: Synchronizers

Week 4 (April Session)

Due: HW3

  • Topics:
  • Consensus
  • Failure Detection
  • Self-Stabilization

Ref: Textbook C15-16

  • Lec 19: FLP result,
  • Lec 20 Consensus with crash and BGA
  • Lec 21: Class Presentation V: Paxos, Practical Byzantine Fault Tolerance
  • Lec 22: Knowledge, Failure detectors
  • Lec 23: Guest Lecture: TBD
  • Lec 24: Self-stabilization

Week 5 (May Session)

Due: HW 4, Term Paper (8 pages)

  • Recovery,
  • Fault-tolerance based on Fusion,
  • Approximate Agreement
  • Test 3 (75 minutes)
  • Project Presentations

Ref: Textbook 17-18

  • Lec 25: Commit protocols
  • Lec 26: Project Presentation I
  • Lec 27: Recovery
  • Lec 28: Test 3
  • Lec 29: Project Presentation II
  • Lec 30: Project Presentation III

Reading the notes

The easiest way to view these notes is to plug any raw .ipynb file into an ipython notebook viewer, such as this one.

Contribute

Follow the instructions to set up your own ipython notebook.

I will also make corrections if you send me an email or comment on this project.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published