cs533 concepts of operating systems class 8
DESCRIPTION
CS533 Concepts of Operating Systems Class 8. Remote Procedure Call & LRPC. 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? - PowerPoint PPT PresentationTRANSCRIPT
CS533 Concepts of Operating Systems
Class 8
Remote Procedure Call& LRPC
CS533 - Concepts of Operating Systems 2
Questions
What is partial failure and why does it complicate RPC?
o What are the semantics of RPC?o At most once? At least once?
Why not use time-outs?
Can partial failure be completely hidden?o If not, where does it appear?
Can you distinguish between crashed and slow?o Why does caller probe periodically?
CS533 - Concepts of Operating Systems 3
Questions
What server-side state is maintained?o When can it be discarded?o What is a conversation ID and why do you need it?
What is a caller ID used for?o In the caller?o In the callee?
How does RPC piggy-back acknowledgements and connection establishment?
CS533 - Concepts of Operating Systems 4
Questions
What are stubs and what do they do?o How do they relate to adaptors from the last class?o Are stubs proxies?
Who imports and who exports interfaces?o Callero Calleeo Caller stubo Callee stub
CS533 - Concepts of Operating Systems 5
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 6
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 7
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+ ?
How are parameters passed by reference? How does LRPC maintain safety?
CS533 - Concepts of Operating Systems 8
Questions
How many copies does RPC do?o What are they?o How many does LRPC do?
What stops a 2nd client thread from changing arguments on the A-stack once the server has started using them?
o How might this problem be addressed? How does LRPC solve the problem of a client
thread being “captured” by a server?o Why is this not necessary in normal RPC?
CS533 - Concepts of Operating Systems 9
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? Why does a tagged TLB save TLB flushing but
not MMU context switching?
CS533 - Concepts of Operating Systems 10
Reminder
Class 9 presenterso Discuss your presentation plans with me ahead of timeo Mail me the final version of your slides BEFORE the
class