60 likes | 71 Vues
CS533 Concepts of Operating Systems Class 9. User-Level Remote Procedure Call. 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?
E N D
CS533 Concepts of Operating SystemsClass 9 User-Level Remote Procedure Call
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
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? • How can a client’s CPU be hijacked by a server? • How could you solve this problem? CS533 - Concepts of Operating Systems
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
Reminder • Midterm exam on Wednesday • Closed book • Questions on race conditions, deadlock, monitors, RCU, manual and automatic stack management, user-level threads, scheduler activations, RPC vs LRPC vs URPC CS533 - Concepts of Operating Systems
What have we learned so far? • Multi-threaded programming primitives • Race conditions and deadlock problems • Monitors • Scalable synchronization on modern CPUs • Event-based programming instead of multi-threading • Manual vs automatic stack management • Cooperative scheduling (task management) • Kernel support for user-level threads • RPC and various optimizations (LRPC & URPC) CS533 - Concepts of Operating Systems