Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS533 Concepts of Operating Systems Class 8 Remote Procedure Call & LRPC.

Similar presentations


Presentation on theme: "CS533 Concepts of Operating Systems Class 8 Remote Procedure Call & LRPC."— Presentation transcript:

1 CS533 Concepts of Operating Systems Class 8 Remote Procedure Call & LRPC

2 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?

3 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 call ID used for? o In the caller? o In the callee?  How does RPC piggy-back acknowledgements and connection establishment?

4 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?

5 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?

6 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?

7 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?

8 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 2 nd 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?

9 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?

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


Download ppt "CS533 Concepts of Operating Systems Class 8 Remote Procedure Call & LRPC."

Similar presentations


Ads by Google