1 / 15

CS 5204 Operating Systems Lecture 7

This lecture discusses the goals of distributed systems, types of scalability, pitfalls of centralization, and decentralized algorithms. It also covers physical and logical clocks, as well as various clock algorithms such as Cristian's Algorithm, the Berkeley Algorithm, and vector clocks.

jjoy
Download Presentation

CS 5204 Operating Systems Lecture 7

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS 5204Operating SystemsLecture 7 Godmar Back

  2. Announcements • Project Proposals due next Monday 9/26 • Posted example survey paper CS 5204 Fall 2005

  3. Goals for Distributed Systems • Transparency • Consistency • Robustness • Scalability • Openness • Flexibility CS 5204 Fall 2005

  4. Types of Scalability • Size • Can add more users + resources • Geography • Users & resources are geographically far apart • Administration • System can span across multiple administrative domains • Q.: What causes poor scalability? CS 5204 Fall 2005

  5. Centralization Pitfalls • Centralized services • Single point of failure • Centralized data • Bottlenecks  high latency • Centralized algorithms • Requiring global knowledge CS 5204 Fall 2005

  6. Decentralized Algorithms • Incomplete information about global state • Decide based on local state • Tolerate failure of individual nodes • No global, physical clock • Decentralized algorithms are preferred in distributed systems, but some algorithms can benefit from synchronized clocks (e.g., leases) • Brief review of clocks to follow CS 5204 Fall 2005

  7. Clocks in Distributed Systems • Physical vs Logical Clocks • Physical: • All nodes agree on a clock and use that clock to decide on order of events • Logical clocks: • A distributed algorithm nodes can use to decide on the order of events CS 5204 Fall 2005

  8. Cristian’s Algorithm Central server keeps time, clients ask for time Attempts to compensate for latency – component of modern NTP Protocol – accuracy 1-50ms CS 5204 Fall 2005

  9. Berkeley Algorithm timed polls nodes reply with delta timed instructs nodes to adjust to 3:05 No time reference necessary CS 5204 Fall 2005

  10. Logical Clocks Recap • Lamport clocks are consistent, but they do not capture causality: • Consistent: a  b  C(a) < C(b) • But not: C(a) < C(b)  a  b • (i.e., they are not strongly consistent) • Two independent ways to extend them: • By creating total order (but not strongly consistent!) • (Ci, Pm) < (Ck, Pn) iff Ci < Ck || (Ci == Ck && m < n) • By creating a strongly consistent clock (but not a total order!) • Vector clocks CS 5204 Fall 2005

  11. Vector Clocks • Vector timestamps: • Each node keeps track of logical time of other nodes (as far as it’s seen messages from them) in Vi[i] • Send vector timestamp vt along with each message • Reconcile vectors timestamp with own vectors upon receipt using MAX(vt[k], Vi [k]) for all k • Can implement “causal message delivery” CS 5204 Fall 2005

  12. Vector Clocks (1) a b c d f P1 [1 0 0] [2 0 0] [3 0 0] [4 3 0] [5 5 3] [2 0 0] [3 0 0] [2 3 0] [2 5 3] g i j k l m P2 [0 1 0] [2 2 0] [2 3 0] [2 4 3] [2 5 3] [3 6 5] [0 1 0] [0 1 3] [3 1 5] n o p q r s P3 [0 0 1] [0 1 2] [0 1 3] [3 1 4] [3 1 5] [3 1 6] a  f b  s c  m [1 0 0] < [5 5 3] [2 0 0] < [3 1 6] [3 0 0] < [3 6 5] CS 5204 Fall 2005

  13. Vector Clocks (2) a b c d f P1 [1 0 0] [2 0 0] [3 0 0] [4 3 0] [5 5 3] [2 0 0] [3 0 0] [2 3 0] [2 5 3] g i j k l m P2 [0 1 0] [2 2 0] [2 3 0] [2 4 3] [2 5 3] [3 6 5] [0 1 0] [0 1 3] [3 1 5] n o p q r s P3 [0 0 1] [0 1 2] [0 1 3] [3 1 4] [3 1 5] [3 1 6] d || s q || i k || r [4 3 0] < [3 1 6] [3 1 4] < [2 2 0] [2 4 3] < [3 1 5] CS 5204 Fall 2005

  14. Vector Clocks: Strong Consistency • Definition: • V(a) < V(b): V(a) ≤ V(b) and there exists an i: Vi(a) < Vi(b) • V(a) ≤ V(b): for all components i: Vi(a) ≤ Vi(b) • Strongly consistent: a  b  V(a) < V(b) • Also: a || b  V(a) || V(b)   (V(a) < V(b)  V(b) < V(a)) CS 5204 Fall 2005

  15. Applications of Logical Clocks • Distributed mutual exclusion • Lamport’s algorithm • Totally ordered multicast • For updating replicas • Causal message delivery • E.g., deliver message before its reply • message or application layer implementation • Distributed Simulation CS 5204 Fall 2005

More Related