1 / 9

CS533 Concepts of Operating Systems Class 9

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?

ross-osborn
Download Presentation

CS533 Concepts of Operating Systems Class 9

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 9 Lightweight and User-Level Remote Procedure Call

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

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

  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? • How could you solve this problem? CS533 - Concepts of Operating Systems

  8. Questions • Now we have scheduling, synchronization, and IPC outside the kernel • What should be IN the kernel? • 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 … CS533 - Concepts of Operating Systems

More Related