Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.