Presented by Neha Agrawal

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

Multiple Processor Systems
Multiple Processor Systems
URPC for Shared Memory Multiprocessors Brian Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy ACM TOCS 9 (2), May 1991.
Department of Computer Science and Engineering University of Washington Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
User-Level Interprocess Communication for Shared Memory Multiprocessors Bershad, B. N., Anderson, T. E., Lazowska, E.D., and Levy, H. M. Presented by Akbar.
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
Fast Communication Firefly RPC Lightweight RPC  CS 614  Tuesday March 13, 2001  Jeff Hoy.
Lightweight Remote Procedure Call BRIAN N. BERSHAD THOMAS E. ANDERSON EDWARD D. LAZOWSKA HENRY M. LEVY Presented by Wen Sun.
Lightweight Remote Procedure Call Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented by Alana Sweat.
Extensibility, Safety and Performance in the SPIN Operating System Department of Computer Science and Engineering, University of Washington Brian N. Bershad,
Presented By Srinivas Sundaravaradan. MACH µ-Kernel system based on message passing Over 5000 cycles to transfer a short message Buffering IPC L3 Similar.
G Robert Grimm New York University Lightweight RPC.
User-Level Interprocess Communication for Shared Memory Multiprocessors Bershad, B. N., Anderson, T. E., Lazowska, E.D., and Levy, H. M. Presented by Chris.
SCHEDULER ACTIVATIONS Effective Kernel Support for the User-level Management of Parallelism Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska, Henry.
Extensibility, Safety and Performance in the SPIN Operating System Brian Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
CS533 Concepts of Operating Systems Class 8 Shared Memory Implementations of Remote Procedure Call.
User Level Interprocess Communication for Shared Memory Multiprocessor by Bershad, B.N. Anderson, A.E., Lazowska, E.D., and Levy, H.M.
CS533 Concepts of Operating Systems Class 4 Remote Procedure Call.
Improving IPC by Kernel Design Jochen Liedtke Presented by Ahmed Badran.
3.5 Interprocess Communication Many operating systems provide mechanisms for interprocess communication (IPC) –Processes must communicate with one another.
Lightweight Remote Procedure Call Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, Henry M. Levy ACM Transactions Vol. 8, No. 1, February 1990,
Extensibility, Safety and Performance in the SPIN Operating System Brian Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
3.5 Interprocess Communication
Improving IPC by Kernel Design Jochen Liedtke Shane Matthews Portland State University.
USER LEVEL INTERPROCESS COMMUNICATION FOR SHARED MEMORY MULTIPROCESSORS Presented by Elakkiya Pandian CS 533 OPERATING SYSTEMS – SPRING 2011 Brian N. Bershad.
CS533 Concepts of Operating Systems Class 9 User-Level Remote Procedure Call.
User-Level Interprocess Communication for Shared Memory Multiprocessors Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented.
CS533 Concepts of Operating Systems Class 4 Remote Procedure Call.
1 Lightweight Remote Procedure Call Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska and Henry M. Levy Presented by: Karthika Kothapally.
CS533 Concepts of Operating Systems Class 9 Lightweight Remote Procedure Call (LRPC) Rizal Arryadi.
CS510 Concurrent Systems Jonathan Walpole. Lightweight Remote Procedure Call (LRPC)
Lightweight Remote Procedure Call (Bershad, et. al.) Andy Jost CS 533, Winter 2012.
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
CS533 Concepts of Operating Systems Jonathan Walpole.
Scheduler Activations: Effective Kernel Support for the User- Level Management of Parallelism. Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska,
Scheduler Activations: Effective Kernel Support for the User-level Management of Parallelism Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska,
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster computers –shared memory model ( access nsec) –message passing multiprocessor.
Lightweight Remote Procedure Call BRIAN N. BERSHAD, THOMAS E. ANDERSON, EDWARD D. LASOWSKA, AND HENRY M. LEVY UNIVERSTY OF WASHINGTON "Lightweight Remote.
CSE 60641: Operating Systems Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism. Thomas E. Anderson, Brian N.
Middleware Services. Functions of Middleware Encapsulation Protection Concurrent processing Communication Scheduling.
The Mach System Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne Presented by: Jee Vang.
Networking Implementations (part 1) CPS210 Spring 2006.
LRPC Firefly RPC, Lightweight RPC, Winsock Direct and VIA.
System Components ● There are three main protected modules of the System  The Hardware Abstraction Layer ● A virtual machine to configure all devices.
Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy. Presented by: Tim Fleck.
The Mach System Silberschatz et al Presented By Anjana Venkat.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Brian Bershad, Thomas Anderson, Edward Lazowska, and Henry Levy Presented by: Byron Marohn Published: 1991.
Jonas Johansson Summarizing presentation of Scheduler Activations – A different approach to parallelism.
The Mach System Sri Ramkrishna.
The Multikernel: A New OS Architecture for Scalable Multicore Systems
CS533 Concepts of Operating Systems
B. N. Bershad, T. E. Anderson, E. D. Lazowska and H. M
OPERATING SYSTEMS PROCESSES
CS533 Concepts of Operating Systems Class 10
By Brian N. Bershad, Thomas E. Anderson, Edward D
Thread Implementation Issues
Fast Communication and User Level Parallelism
Threads Chapter 4.
Multithreaded Programming
Presented by: SHILPI AGARWAL
CSE 451: Operating Systems Autumn 2001 Lecture 2 Architectural Support for Operating Systems Brian Bershad 310 Sieg Hall 1.
CS510 - Portland State University
Thomas E. Anderson, Brian N. Bershad,
CS533 Concepts of Operating Systems Class 13
Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M
CS510 Operating System Foundations
CS533 Concepts of Operating Systems Class 11
Operating System Overview
Presentation transcript:

Presented by Neha Agrawal User-Level Inter process Communication for Shared Memory Multiprocessors Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented by Neha Agrawal

Outline Motivation for RPC Motivation for URPC URPC concept Components of URPC Processor Re-allocation Data Transfer Thread management Performance Conclusion 2019/2/22

Motivation for RPC Importance of IPC Encourages system decomposition across address space boundaries Failure Isolation Extensibility Modularity Message Passing, a different paradigm RPC interface above messages 2019/2/22

Outline Motivation for RPC Motivation for URPC URPC concept Components of URPC Processor Re-allocation Data Transfer Thread management Performance Conclusion 2019/2/22

Motivation for URPC Problems with Kernel based approach Architectural performance barriers LRPC: kernel mediates every cross address space call Kernel based communication hampering high performance user-level threads Result: Coalesce Weekly related sub-systems Trading major benefits 2019/2/22

Outline Motivation for RPC Motivation for URPC URPC concept Components of URPC Processor Re-allocation Data Transfer Thread management Performance Conclusion 2019/2/22

URPC Concept URPC (User-level Remote Procedure Call) designed for shared memory multiprocessor User-level management of cross-address space communication Uses shared memory to send messages directly between address spaces Avoids unnecessary Processor Reallocation 2019/2/22

URPC Concept Division of responsibility Kernel required ONLY Processor Reallocation Thread management Data transfer Kernel required ONLY for processor reallocation. Exploits RPC definition Operation of channels of communication processor reallocation mechanisms 2019/2/22

Outline Motivation for RPC Motivation for URPC URPC concept Components of URPC Processor Re-allocation Data Transfer Thread management Performance Conclusion 2019/2/22

Processor Reallocation : Why should it be avoided ? High Immediate costs Scheduling costs Cost to update the virtual memory mapping registers Cost to transfer the processor between address spaces High Long-term costs Locality shift of address space Results in diminished performance of Cache TLB 2019/2/22

Processor reallocation Optimistic reallocation policy assumes The client has more work to do Inexpensive context switch Server will have a processor for service Exploits parallelism Amortize cost of single processor reallocation Advantages over Handoff scheduling Logically centralized resources 2019/2/22

URPC timeline 2019/2/22

Why Optimistic approach will not always hold ? Issues : Single threaded applications Real time applications High latency I/O operations Priority Invocations URPC Solution : Force processor reallocation 2019/2/22

The Kernel handles Processor Reallocation URPC provides Processor.Donate call When? Underpowered address space discovered What parameters ? Identity of new address space How ? Through the kernel to the new address space Identity of donar made known to the receiver 2019/2/22

Voluntary Return of Processors : The Policy Return the client’s processor when all outstanding messages from the client processed or The client has become ‘underpowered’ Policy cannot be ENFORCED URPC deals with Load balancing only for communicating applications Preemptive, work conserving policies required to avoid STARVATION No need for global processor re-allocator 2019/2/22

Outline Motivation for RPC Motivation for URPC URPC concept Components of URPC Processor Re-allocation Data Transfer Thread management Performance Conclusion 2019/2/22

SAFE Data Transfer using shared memory Traditional RPC Clients and servers can overload each other Need of higher level protocol Copying Data in and by the Kernel Unnecessary and insufficient for safety URPC approach Use of pair-wise shared memory Mapped during binding phase Stubs responsible for safety 2019/2/22

Controlling Channel Access Bidirectional shared memory queue With a test and set lock on either end Lock must be NON SPINNING The protocol If the lock is free acquire it, else do something else The Rationale Sender Receiver 2019/2/22

Outline Motivation for RPC Motivation for URPC URPC concept Components of URPC Processor Re-allocation Data Transfer Thread management Performance Conclusion 2019/2/22

Thread management Interaction between : Authors argue : Send/Receive of MESSAGES & Start/Stop of Threads Authors argue : High performance thread management facilities Needed for fine-grained parallel programs Can be provided only at the user level Have strong interaction with communication Hence, implement together at user level 2019/2/22

Concurrent programming and thread management Problems with Kernel level threads Kernel deals with thread management Expensive kernel traps General interface for all applications Avoids customization for applications Kernel needs to ensure its protection Adds to the expense of kernel traps User level threads attacks these costs Two level scheduling 2019/2/22

Threads and communication at two different levels! Threads at user level and communication at kernel level Loss of Performance benefits of Inexpensive scheduling Context switching Synchronization would be implemented and executed at two levels Advantage of both functions implemented at user level 2019/2/22

Summarizing the Rationale Advantages of a user-level approach to communication Minimal involvement of the kernel Avoid unnecessarily reallocation of processors between address spaces. Amortization of the processor reallocation cost. Integration of user-level communication with user-level thread management facilities for parallelism and performance. 2019/2/22

Outline Motivation for RPC Motivation for URPC URPC concept Components of URPC Processor Re-allocation Data Transfer Thread management Performance Conclusion 2019/2/22

URPC Performance with no processor reallocation required Work done during URPC Send Poll Receive Dispatch 2019/2/22

Call latency and Throughput Both are Load dependant Both depend on Number of Client Processors (C) Number of Server Processors (S) Number of runnable threads in the client’s Address Space (T) Call Latency: Time from which a thread calls into the stub until control returns from the stub 2019/2/22

Call Latency Latency is proportional to the number of threads per cpu’s increases when T > C+S Pure Latency: 93 sec, S=T=C=1 2019/2/22

Throughput Improves until T > C+S Does not doubles Contention 2019/2/22

LRPC Vs URPC LRPC uses pair-wise mapped shared memory like UPRC LRPC uses kernel level threads hence URPC outperforms LRPC expect for The case S=0 : LRPC outperforms Though both LRPC and URPC require 2 processor reallocations and two kernel invocations Latency NULL URPC 375 microseconds NULL LRPC 157 microseconds 2019/2/22

Why LRPC wins the S=0 case? Processor reallocation in URPC based on LRPC URPC integrated with two level scheduling Is there an idle processor ? and is there an underpowered address space to which it can be reallocated ? 2019/2/22

Outline Motivation for RPC Motivation for URPC URPC concept Components of URPC Processor Re-allocation Data Transfer Thread management Performance Conclusion 2019/2/22

Conclusion Moving the Communication layer from the kernel to user space can be of advantage SMMP need specially designed OS’s so that the its processing power can be exploited URPC is designed for SMMP directly leading to major performance improvements. 2019/2/22