URPC for Shared Memory Multiprocessors Brian Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy ACM TOCS 9 (2), May 1991.

Slides:



Advertisements
Similar presentations
Threads, SMP, and Microkernels
Advertisements

Operating Systems: Internals and Design Principles
Scheduler Activations: Effective Kernel Support for the User-level Management of Parallelism Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska,
Distributed System Structures Network Operating Systems –provide an environment where users can access remote resources through remote login or file transfer.
User-Level Interprocess Communication for Shared Memory Multiprocessors Bershad, B. N., Anderson, T. E., Lazowska, E.D., and Levy, H. M. Presented by Akbar.
CHAPTER 5 THREADS & MULTITHREADING 1. Single and Multithreaded Processes 2.
Lightweight Remote Procedure Call BRIAN N. BERSHAD THOMAS E. ANDERSON EDWARD D. LAZOWSKA HENRY M. LEVY Presented by Wen Sun.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
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,
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.
CS533 Concepts of Operating Systems Class 8 Shared Memory Implementations of Remote Procedure Call.
Threads Clients Servers Code Migration Software Agents Summary
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.
Lightweight Remote Procedure Call Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, Henry M. Levy ACM Transactions Vol. 8, No. 1, February 1990,
Based on Silberschatz, Galvin and Gagne  2009 Threads Definition and motivation Multithreading Models Threading Issues Examples.
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.
1 Chapter 4 Threads Threads: Resource ownership and execution.
A. Frank - P. Weisberg Operating Systems Introduction to Tasks/Threads.
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.
Optimizing RPC “Lightweight Remote Procedure Call” (1990) Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, Henry M. Levy (University of Washington)
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)
Chapter 4 Threads, SMP, and Microkernels Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E.
Lightweight Remote Procedure Call (Bershad, et. al.) Andy Jost CS 533, Winter 2012.
1 Lecture 4: Threads Operating System Fall Contents Overview: Processes & Threads Benefits of Threads Thread State and Operations User Thread.
CS533 Concepts of Operating Systems Jonathan Walpole.
Operating System 4 THREADS, SMP AND MICROKERNELS
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
Scheduler Activations: Effective Kernel Support for the User- Level Management of Parallelism. Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska,
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.
The Mach System Abraham Silberschatz, Peter Baer Galvin, Greg Gagne Presentation By: Agnimitra Roy.
The Mach System Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne Presented by: Jee Vang.
Networking Implementations (part 1) CPS210 Spring 2006.
Operating System 4 THREADS, SMP AND MICROKERNELS.
Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy. Presented by: Tim Fleck.
Brian Bershad, Thomas Anderson, Edward Lazowska, and Henry Levy Presented by: Byron Marohn Published: 1991.
Operating Systems Unit 2: – Process Context switch Interrupt Interprocess communication – Thread Thread models Operating Systems.
Chapter 4 Threads, SMP, and Microkernels Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E.
1 Threads, SMP, and Microkernels Chapter 4. 2 Process Resource ownership - process includes a virtual address space to hold the process image Scheduling/execution-
Threads, SMP and Microkernels Process vs. thread: –Unit of resource ownership (process has virtual address space, memory, I/O channels, files) –Unit of.
1 Chapter 5: Threads Overview Multithreading Models & Issues Read Chapter 5 pages
Chapter 4: Threads.
CS533 Concepts of Operating Systems
Operating System Concepts
B. N. Bershad, T. E. Anderson, E. D. Lazowska and H. M
Chapter 4 Multithreading programming
Chapter 4: Threads.
By Brian N. Bershad, Thomas E. Anderson, Edward D
Operating System 4 THREADS, SMP AND MICROKERNELS
Fast Communication and User Level Parallelism
Threads Chapter 4.
Multithreaded Programming
Presented by Neha Agrawal
Presented by: SHILPI AGARWAL
Thomas E. Anderson, Brian N. Bershad,
Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M
CS533 Concepts of Operating Systems Class 11
Chapter 4: Threads.
Operating System Overview
CSE 542: Operating Systems
Presentation transcript:

URPC for Shared Memory Multiprocessors Brian Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy ACM TOCS 9 (2), May 1991

IPC Performance Efficient IPC - central to OS design: encourages systems decomposition across AS –Failure isolation –Extensibility –Modularity But, performance determines its usability

Kernel-based IPC - problems Architectural performance barriers – costs of invoking kernels and processor reallocation (  70% overhead in LRPC) Interaction bet/ kernel-based comm. & high- performance user-level thread mgnt.

URPC for SM multiprocessors Solution – eliminate kernel from path –Use SM for data transfer –Take advantage of P already in AS Advantages –Msgs. Sent bet/ AS w/o invoking kernel –Avoid unnecessary P reallocation –When necessary, cost amortized Only P reallocation requires kernel invocation - contrast w/ microkernels!

RPC idea and definition Apps/OS service comm. through messages vs. procedure calls  RPC RPC – synchronous lang-level control transfer bet/ programs in disjoints AS whose primary comm mech is a narrow channel Nothing of –narrow channel operations –Processor scheduling mech. interaction w/ data transfer

URPC Msgs exchanges bet/ AS using SM User-level thread mgnt integrated w/ user- level msg channel mgnt When a T in a client invokes a procedure in a server T blocks P serves another T in same AS … same on server side User’s view is unchanged

Processor reallocation & context switching Context switching – switching P bet/ Ts in same AS (15  sec) Processor reallocation – allocating P to T in another AS (55  sec w/o long-term costs) Costs Changing mapping registers defining virtual AS (immediate) Decide the AS Diminishing benefits from cache and TLB (long-term)

Processor reallocation Sometimes necessary Underpowered AS – an AS w/ pending incoming msgs P balances load by reallocating itself Detecting incoming msgs and scheduling T done by low-level T in URPC / P scan for incoming msgs only when idle

Example EditorWinMgrFCMgr T1 Call (send/recv WinMgr) T1 Call (send/recv FCMgr) T2 Call (send/recv FCMgr) Recv & process reply T1 Recv & process reply T2 Context switch – terminate T2 Context switch Recv & process reply T1 Context switch – terminate T1 Processor realloc Time

Design rationale Data transfer –SM msg channels give same safety guarantees Processor reallocation Optimistic Client has other work to do (thread or incoming msgs) Server has or soon will have a P to use When wrong: P reallocation

Design rationale Threads High-performance T mgnt necessary for fine- grained parallel programs This can only be done at user-level Due to close interaction – comm has to be done at user level Heavyweight / Middleweight / Lightweight threads Lightweight threads  user-level comm.

Performance evaluation TestURPCTaos Procedure call77 Fork Fork;Join Yield3757

Performance evaluation ComponentClientServer Send1813 Poll66 Receive109 Dispatch2025 Total5453