Presented By Srinivas Sundaravaradan. MACH µ-Kernel system based on message passing Over 5000 cycles to transfer a short message Buffering IPC L3 Similar.

Slides:



Advertisements
Similar presentations
Multiple Processor Systems
Advertisements

Threads, SMP, and Microkernels
Processes Management.
More on Processes Chapter 3. Process image _the physical representation of a process in the OS _an address space consisting of code, data and stack segments.
Improving IPC by Kernel Design Jochen Liedtke Slides based on a presentation by Rebekah Leslie.
G Robert Grimm New York University Virtual Memory.
MACHINE-INDEPENDENT VIRTUAL MEMORY MANAGEMENT FOR PAGED UNIPROCESSOR AND MULTIPROCESSOR ARCHITECTURES R. Rashid, A. Tevanian, M. Young, D. Golub, R. Baron,
Operating Systems ECE344 Ding Yuan Final Review Lecture 13: Final Review.
User-Level Interprocess Communication for Shared Memory Multiprocessors Bershad, B. N., Anderson, T. E., Lazowska, E.D., and Levy, H. M. Presented by Akbar.
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.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Lightweight Remote Procedure Call Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented by Alana Sweat.
Computer Systems/Operating Systems - Class 8
1. Overview  Introduction  Motivations  Multikernel Model  Implementation – The Barrelfish  Performance Testing  Conclusion 2.
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
CS533 Concepts of Operating Systems Class 6 Micro-kernels Mach vs L3 vs L4.
User Level Interprocess Communication for Shared Memory Multiprocessor by Bershad, B.N. Anderson, A.E., Lazowska, E.D., and Levy, H.M.
Scheduler Activations Effective Kernel Support for the User-Level Management of Parallelism.
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.
Improving IPC by Kernel Design Jochen Liedtke Proceeding of the 14 th ACM Symposium on Operating Systems Principles Asheville, North Carolina 1993.
Lightweight Remote Procedure Call Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, Henry M. Levy ACM Transactions Vol. 8, No. 1, February 1990,
Inter Process Communication:  It is an essential aspect of process management. By allowing processes to communicate with each other: 1.We can synchronize.
3.5 Interprocess Communication
Improving IPC by Kernel Design Jochen Liedtke Shane Matthews Portland State University.
1 Last Class: Introduction Operating system = interface between user & architecture Importance of OS OS history: Change is only constant User-level Applications.
User-Level Interprocess Communication for Shared Memory Multiprocessors Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented.
1 I/O Management in Representative Operating Systems.
CS533 Concepts of Operating Systems Class 6 The Performance of Micro- Kernel Based Systems.
CS533 Concepts of OS Class 16 ExoKernel by Constantia Tryman.
CS510 Concurrent Systems Jonathan Walpole. Lightweight Remote Procedure Call (LRPC)
Chapter 51 Threads Chapter 5. 2 Process Characteristics  Concept of Process has two facets.  A Process is: A Unit of resource ownership:  a virtual.
Memory Management in Windows and Linux &. Windows Memory Management Virtual memory manager (VMM) –Executive component responsible for managing memory.
Chapter 8 Windows Outline Programming Windows 2000 System structure Processes and threads in Windows 2000 Memory management The Windows 2000 file.
Improving IPC by Kernel Design
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
1 Micro-kernel. 2 Key points Microkernel provides minimal abstractions –Address space, threads, IPC Abstractions –… are machine independent –But implementation.
Operating System 4 THREADS, SMP AND MICROKERNELS
CS533 Concepts of Operating Systems Jonathan Walpole.
The Performance of Micro-Kernel- Based Systems H. Haertig, M. Hohmuth, J. Liedtke, S. Schoenberg, J. Wolter Presentation by: Seungweon Park.
Operating Systems CSE 411 Multi-processor Operating Systems Multi-processor Operating Systems Dec Lecture 30 Instructor: Bhuvan Urgaonkar.
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster computers –shared memory model ( access nsec) –message passing multiprocessor.
Threads G.Anuradha (Reference : William Stallings)
The Mach System Abraham Silberschatz, Peter Baer Galvin, Greg Gagne Presentation By: Agnimitra Roy.
A summary by Nick Rayner for PSU CS533, Spring 2006
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
The Performance of μ-Kernel-Based Systems H. Haertig, M. Hohmuth, J. Liedtke, S. Schoenberg, J. Wolter Presenter: Sunita Marathe.
LRPC Firefly RPC, Lightweight RPC, Winsock Direct and VIA.
The Mach System Silberschatz et al Presented By Anjana Venkat.
Processor Structure and Function Chapter8:. CPU Structure  CPU must:  Fetch instructions –Read instruction from memory  Interpret instructions –Instruction.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Managing Processors Jeff Chase Duke University. The story so far: protected CPU mode user mode kernel mode kernel “top half” kernel “bottom half” (interrupt.
Low Overhead Real-Time Computing General Purpose OS’s can be highly unpredictable Linux response times seen in the 100’s of milliseconds Work around this.
Threads, SMP, and Microkernels Chapter 4. Processes and Threads Operating systems use processes for two purposes - Resource allocation and resource ownership.
T HE M ULTIKERNEL : A NEW OS ARCHITECTURE FOR SCALABLE MULTICORE SYSTEMS Presented by Mohammed Mustafa Distributed Systems CIS*6000 School of Computer.
The Mach System Sri Ramkrishna.
Lecture Topics: 11/19 Paging Page tables Memory protection, validation
William Stallings Computer Organization and Architecture 8th Edition
CS533 Concepts of Operating Systems
Threads & multithreading
I/O Systems I/O Hardware Application I/O Interface
Improving IPC by Kernel Design
Fast Communication and User Level Parallelism
Improving IPC by Kernel Design
Presented by Neha Agrawal
Presented by: SHILPI AGARWAL
Improving IPC by Kernel Design
Process.
Operating Systems Structure
Presentation transcript:

Presented By Srinivas Sundaravaradan

MACH µ-Kernel system based on message passing Over 5000 cycles to transfer a short message Buffering IPC L3 Similar to MACH Hardware Interrupts delivered through messages No Ports

Design Philosophy Focus on IPC Any Feature that will increase cost must be closely evaluated. When in doubt, design in favor of IPC Design for Performance A poorly performing technique is unacceptable Evaluate feature cost compared to concrete baseline Aim for a concrete performance goal Comprehensive Design Consider synergistic effects of all methods and techniques Cover all levels of implementation, from design to code

Making IPC faster Fewer Call / Reply & Receive Next Combining messages Faster 15 other optimizations Architectural level Use redesign of L3 as opportunity to change kernel design

Methodology Theoretical minimum Null message between address spaces receiver is ready to receive it 107 cycles to enter & leave kernel 45 cycles for TLB misses 172 cycles Goal 350 cycles Achieved 250 cycles = T

Minimize system calls Why minimize system calls ? 60% of T Traditional IPC 4 system calls Solution Call Reply & Receive next

Minimize system calls Unblocked Blocked Send Receive (reply) Send (reply) Receive (next) Blocked Unblocked ClientServer Call Reply and receive next Receive

Complex Message Direct String Data to be transferred directly from send buffer to receive buffer Indirect String Location and size of data to be transferred by reference Memory Object Description of a region of memory to be mapped in receiver address space (shared memory) A Complex Message

Ways of Message Transfer Twofold Message Copy user space A -> kernel space -> user space B LRPC mechanism share user-level memory secure ? does not support variable-to-variable transfer

Temporary Mapping… Two copy message transfer costs n cycles L3 copies data once to a special communication window in kernel space Window is mapped to the receiver for the duration of the call (page directory entry) kernel copy mapped with kernel-only permission add mapping to space B

Temporary Mapping… Top-level Page table 2nd-level tables frames in memory

Temporary Mapping

Lazy Scheduling Scheduler overhead is significant component of IPC cost Threads doing IPC are often moved to wait queue only to be inserted back again onto the ready queue. Lazy Scheduling avoid locking of queues queue manipulation is avoided instruction execution TLB misses

Use registers for short messages Messages are usually short ! ack/error replies from drivers hardware interrupt messages Intel 486 processor 7 general purpose registers sender info, data May not work for CPU’s with fewer registers

Summary of Optimizations Architectural System Calls, Messages, Direct Transfer, Strict Process Orientation, Thread Control Blocks Algorithmic Thread Identifier, Virtual Queues, Timeouts/Wakeups, Lazy Scheduling, Direct Process Switch, Short messages Interface Unnecessary Copies, Parameter passing Coding Cache misses, TLB misses, Segment registers, General registers, Jumps and Checks, Process Switch

Results…

Results

Conclusions L3’s message passing was 22 times faster than that of MACH Kernel redesign focused mainly on IPC Caveats Ports and Buffering Specific to the architecture

Thank You !