9 Distributed Systems

Week 14: December 4, 2022

Unfortunately, we didn’t get a lot of time to get into distributed systems. I will not be uploading the videos of lecture as it was a rather shallow exposure, which the slides should sufficiently capture.

Learning Objectives

  • Explain why designing distributed systems are difficult.
  • Explain what are the implications of the Fisher-Lynch-Patterson Impossibility Result with respect to agreement and the CAP (Consistency, Availability, and Partition Tolerance) theorem are with respect to distributed systems design tradeoffs.
  • Describe basic strategies to create distributed locking primitives.
  • What are the advantages/disadvantages of a centralized lock-manager?
  • Describe how the Berkeley algorithm can synchronize time across different machines? Why is not a good idea to deduct time when fixing drift and what is a better alternative?