cs533 concepts of operating systems class 9

9
CS533 Concepts of Operating Systems Class 9 Lightweight and User-Level Remote Procedure Call

Upload: ross-osborn

Post on 31-Dec-2015

31 views

Category:

Documents


4 download

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 Presentation

TRANSCRIPT

Page 1: CS533 Concepts of Operating Systems Class 9

CS533 Concepts of Operating Systems

Class 9

Lightweight and User-LevelRemote Procedure Call

Page 2: CS533 Concepts of Operating Systems Class 9

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?

Page 3: CS533 Concepts of Operating Systems Class 9

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?

Page 4: CS533 Concepts of Operating Systems Class 9

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?

Page 5: CS533 Concepts of Operating Systems Class 9

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?

Page 6: CS533 Concepts of Operating Systems Class 9

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?

Page 7: CS533 Concepts of Operating Systems Class 9

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?

Page 8: CS533 Concepts of Operating Systems Class 9

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

Page 9: CS533 Concepts of Operating Systems Class 9

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 …