1 / 10

CS533 Concepts of Operating Systems Class 8

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?

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 Remote Procedure Call & LRPC

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

  3. 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

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

  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? • What are they? • 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? • How might this problem be addressed? • How does LRPC solve the problem of a client thread being “captured” by a server? • 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? • Why does this work? • Why is this approach potentially wasteful? • 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 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