1 / 11

CS533 Concepts of Operating Systems Class 8

CS533 Concepts of Operating Systems Class 8. Distributed Systems & Remote Procedure Call. Questions. Can message passing primitives be used for synchronization? Centralized solutions? Decentralized solutions? What makes this work?. Questions.

Download Presentation

CS533 Concepts of Operating Systems Class 8

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. CS533 Concepts of Operating SystemsClass 8 Distributed Systems & Remote Procedure Call

  2. Questions • Can message passing primitives be used for synchronization? • Centralized solutions? • Decentralized solutions? • What makes this work? CS533 - Concepts of Operating Systems

  3. Questions • Total ordering of commands allows deterministic execution of the same state machine in different processes • They all arrive at the same conclusion over whose turn it is • It’s a solution to a consensus problem CS533 - Concepts of Operating Systems

  4. Questions • Synchronization can be viewed as a consensus problem • all must agree on who gets the resource • distributed consensus is costly! • Why is consensus much harder with failures! CS533 - Concepts of Operating Systems

  5. Questions • Why does shared memory help? • Does lock-based synchronization reach consensus? • Among how many processes? • How much information is in a lock? CS533 - Concepts of Operating Systems

  6. Questions • Concensus number for synchronization primitives [Herlihy] 1 - read/write registers 2 - test&set, swap, fetch&add, queue, stack ... - compare&swap, load-linked + store-conditional, augmented queue 8 CS533 - Concepts of Operating Systems

  7. Questions • What is partial failure and why does it complicate RPC? • What are the semantics of RPC? • At most once? At least once? • Why not use time-outs? • Can partial failure be completely hidden? • If not, where does it appear? • Can you distinguish between crashed and slow? • Why does caller probe periodically? CS533 - Concepts of Operating Systems

  8. Questions • What server-side state is maintained? • When can it be discarded? • What is a conversation ID and why do you need it? • What is a caller ID used for? • In the caller? • In the callee? • How does RPC piggy-back acknowledgements and connection establishment? CS533 - Concepts of Operating Systems

  9. Questions • What are stubs and what do they do? • How do they relate to adaptors from the last class? • Are stubs proxies? • Who imports and who exports interfaces? • Caller • Callee • Caller stub • Callee stub CS533 - Concepts of Operating Systems

  10. Questions • Why can’t parameters be passed by reference? • How does RPC minimize process creation costs? • Why use process IDs in packets? CS533 - Concepts of Operating Systems

  11. Reminder • Class 9 presenters • Discuss your presentation plans with me ahead of time • Mail me the final version of your slides BEFORE the class CS533 - Concepts of Operating Systems

More Related