cs533 concepts of operating systems class 9
DESCRIPTION
CS533 Concepts of Operating Systems Class 9. Lightweight and User-Level Remote Procedure Call. 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? - PowerPoint PPT PresentationTRANSCRIPT
CS533 Concepts of Operating Systems
Class 9
Lightweight and User-LevelRemote Procedure Call
CS533 - Concepts of Operating Systems 2
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 3
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 4
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 5
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 6
Questions
Where does most of LRPC’s overhead come from?
How can the kernel be eliminated from the call path on SMMPs with user-level threads?
To a thread URPC is synchronous, but to the thread library it is asynchronous … explain.
Why do kernel thread switches have long term cache and TLB effects that user thread switches do not?
CS533 - Concepts of Operating Systems 7
Questions
In what ways does URPC do “cooperative scheduling” across address space boundaries?
In what ways does URPC do load balancing? How does URPC affect throughput and latency? Why might URPC scale better than kernel-based
RPC? How can a client’s CPU be hijacked by a server?
o How could you solve this problem?
CS533 - Concepts of Operating Systems 8
Questions
Now we have scheduling, synchronization, and IPC outside the kernel
o What should be IN the kernel?o Note, these papers predated scheduler activations
Second half of CS533 examines the evolution of kernel structuring approaches
CS533 - Concepts of Operating Systems 9
Reminder
Midterm exam on Thursday Closed book Questions on race conditions, deadlock,
monitors, RCU, manual and automatic stack management, user-level threads, scheduler activations, RPC vs LRPC vs URPC
I won’t be there, but Jie Huang will be …