110 likes | 216 Views
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.
E N D
CS533 Concepts of Operating SystemsClass 8 Distributed Systems & Remote Procedure Call
Questions • Can message passing primitives be used for synchronization? • Centralized solutions? • Decentralized solutions? • What makes this work? CS533 - Concepts of Operating Systems
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
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
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
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
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
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
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
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
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