CS533 Concepts of Operating Systems Class 4 Remote Procedure Call.
Published byModified over 5 years ago
Presentation on theme: "CS533 Concepts of Operating Systems Class 4 Remote Procedure Call."— Presentation transcript:
CS533 Concepts of Operating Systems Class 4 Remote Procedure Call
CS533 - Concepts of Operating Systems 2 RPC Questions What programming model does RPC enable? o What is the underlying model? What are RPC stubs and what do they do? o How do they relate to adaptors discussed previously? o Is there any stack ripping involved? o How do they relate to the idea of wrapping I/O calls? o Why are they needed? Can RPC pass parameters by reference?
CS533 - Concepts of Operating Systems 3 General Questions What alternative approaches could they have taken to implement a shared memory programming abstraction over a distributed infrastructure? o And what are the relative advantages and disadvantages compared to RPC?
CS533 - Concepts of Operating Systems 4 LRPC Questions Why use RPC for same machine communication? What is a small-kernel OS, and why is it relevant to this discussion? What overhead is involved in a straightforward implementation of RPC in the local case? o What are the basic work components How are they handled in RPC? How are they handled in LRPC?
CS533 - Concepts of Operating Systems 5 LRPC Questions Why do LRPC procedure descriptors include the number of simultaneous calls permitted to the procedure by a client? Why must the binding object be presented to the kernel on every call? Why doesn’t the server handle the callers return address directly? Why does the kernel maintain a stack of linkage records for each caller, instead of just one?
CS533 - Concepts of Operating Systems 6 LRPC Questions Why isn’t a binding object required to validate the return call, just like the initial call? In what way does LRPC depend on the calling conventions of Modula2+ ? o How does LRPC maintain safety?
CS533 - Concepts of Operating Systems 7 LRPC Questions How does LRPC optimize VM context switching on a multiprocessor? o Why does this work? o Why is this approach potentially wasteful? o Why does it help to spin idle CPUs in commonly executed VM contexts?
CS533 - Concepts of Operating Systems 8 URPC Questions Where does most of LRPC’s overhead come from? How can the kernel be eliminated from the call path on multiprocessors with user-level threads? To a thread URPC is synchronous, but to the thread library it is asynchronous … explain. How does URPC affect throughput and latency?
CS533 - Concepts of Operating Systems 9 General Questions Now we have scheduling, synchronization, and IPC outside the kernel o What should be in the kernel? o These papers predated scheduler activations Can you see the train of thought that led to scheduler activations?