EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM

Slides:



Advertisements
Similar presentations
Slide 19-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 19.
Advertisements

Department of Computer Science and Engineering University of Washington Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM B. Bershad, S. Savage, P. Pardyak, E. G. Sirer, D. Becker, M. Fiuczynski, C. Chambers,
Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
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.
Extensibility, Safety and Performance in the SPIN Operating System Brian Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, David Becker, Marc.
Background Computer System Architectures Computer System Software.
Extensibility, Safety and Performance in the SPIN Operating System Department of Computer Science and Engineering, University of Washington Brian N. Bershad,
Extensible Kernels: Exokernel and SPIN Presented by Hakim Weatherspoon (Based on slides from Edgar Velázquez-Armendáriz and Ken Birman)
Extensible Kernels Edgar Velázquez-Armendáriz September 24 th 2009.
G Robert Grimm New York University Extensibility: SPIN and exokernels.
Extensibility, Safety and Performance in the SPIN Operating System B. N. Bershad, S. Savage, P. Pardyak, E. G. Sirer, M. E. Fiuczyski, D. Becker, C. Chambers,
G Robert Grimm New York University Opal.
Extensibility, Safety and Performance in the SPIN Operating System Brian Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
Figure 2.8 Compiler phases Compiling. Figure 2.9 Object module Linking.
Extensibility, Safety and Performance in the SPIN Operating System Bershad et al Presentation by norm Slides shamelessly “borrowed” from Stefan Savage’s.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
User Level Interprocess Communication for Shared Memory Multiprocessor by Bershad, B.N. Anderson, A.E., Lazowska, E.D., and Levy, H.M.
G Robert Grimm New York University Extensibility: SPIN and exokernels.
Extensibility, Safety and Performance in the SPIN Operating System Brian Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
Active Messages: a Mechanism for Integrated Communication and Computation von Eicken et. al. Brian Kazian CS258 Spring 2008.
Extensibility, Safety and Performance in the SPIN Operating System Dave Camarillo.
Microkernels: Mach and L4
Figure 1.1 Interaction between applications and the operating system.
Presentation of Extensibility, Safety and Performance in the SPIN Operating System Brain N. BershadStefan SavagePrzemyslaw Emin Gun Sirer Marc E.FiuczynskiDavid.
Exokernel: An Operating System Architecture for Application-Level Resource Management Dawson R. Engler, M. Frans Kaashoek, and James O’Toole Jr. M.I.T.
User-Level Interprocess Communication for Shared Memory Multiprocessors Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented.
The Design of Robust and Efficient Microkernel ManRiX, The Design of Robust and Efficient Microkernel Presented by: Manish Regmi
Extensible Kernels Mingsheng Hong. OS Kernel Types Monolithic Kernels Microkernels – Flexible (?) – Module Design – Reliable – Secure Extensible Kernels.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
CS533 Concepts of Operating Systems Class 9 Lightweight Remote Procedure Call (LRPC) Rizal Arryadi.
Stack Management Each process/thread has two stacks  Kernel stack  User stack Stack pointer changes when exiting/entering the kernel Q: Why is this necessary?
SPIN: Design Contention between Safety-Extensibility-Performance Review of Extensibility, Safety and Performance in the SPIN Operating System By Lewis.
Operating System Architectures
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
CS533 Concepts of Operating Systems Jonathan Walpole.
Operating System Architectures
Extensibility, Safety and Performance in the SPIN Operating System Ashwini Kulkarni Operating Systems Winter 2006.
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
The Performance of Microkernel-Based Systems
The Performance of Micro-Kernel- Based Systems H. Haertig, M. Hohmuth, J. Liedtke, S. Schoenberg, J. Wolter Presentation by: Seungweon Park.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
Processes Introduction to Operating Systems: Module 3.
The xCloud and Design Alternatives Presented by Lavone Rodolph.
1 Choices “Our object-oriented system architecture embodies the notion of customizing operating systems to tailor them to support particular hardware configuration.
1 Threads, SMP, and Microkernels Chapter Multithreading Operating system supports multiple threads of execution within a single process MS-DOS.
M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young MACH: A New Kernel Foundation for UNIX Development Presenter: Wei-Lwun.
The Mach System Silberschatz et al Presented By Anjana Venkat.
MIDORI The Windows Killer!! by- Sagar R. Yeole Under the guidance of- Prof. T. A. Chavan.
Advanced Operating Systems (CS 202) Extensible Operating Systems Jan, 11, 2016.
Efficient Software-Based Fault Isolation Authors: Robert Wahbe Steven Lucco Thomas E. Anderson Susan L. Graham Presenter: Gregory Netland.
CS533 Concepts of Operating Systems Jonathan Walpole.
Introduction to Operating Systems Concepts
Computer System Structures
Extensible OSes Exokernel and SPIN (Lecture 9, cs262a)
Presentation by Omar Abu-Azzah
KERNEL ARCHITECTURE.
Threads, SMP, and Microkernels
Lecture 4- Threads, SMP, and Microkernels
Chapter 2 Operating System Overview
CSE 60641: Operating Systems
Advanced Operating Systems (CS 202) Operating System Structure
CSE 542: Operating Systems
Presentation transcript:

EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM Brian N. Bershad, Stefan Savage, Przemysław Pardyak, Emin G¨un Sirer, Marc E. Fiuczynski, David Becker, Craig Chambers, Susan Eggers Presenter: Myeonwoo Lim

OUTLINE Overview Motivation SPIN Architecture Core Services Performance Conclusions

OVERVIEW What is spin? SPIN is a dynamically extensible operating system that allows user applications to safely change the operating system's interface and implementation. Extensions are linked into the operating system kernel at application runtime, enabling them to access system services with low overhead.

OVERVIEW Goals SPIN combines research in systems, languages, and compilers to achieve the three fundamental goals of modern operating systems. Extensibility Applications must be able to extend kernel functionality. Safety Access to system resources must be controlled at the same granularity at which extensions are defined Performance Requires low-overhead in the extension mechanisms Application performance is the end goal

OVERVIEW Approach for the goals Co-location Enforced modularity Extensions live in kernel space Enforced modularity Extensions are written in Modula-3, which enforces interface boundaries between modules. Logical protection domains Namespaces inside kernel, intra-domain communication possible at cost of procedure call Dynamic call binding Extensions execute in response to system events.

MOTIVATION SPIN is motivated by the need to support applications that present demands poorly matched by an operating system’s implementation or interface. Related Work Hydra [Wulf et al ‘81] Microkernels [Bershad et al ‘90] Cross-Domain Communication [Hamilton & Kourgiouris] “Little Languages” [Lee et al ‘94] Code install in kernel at runtime [Heidemann & Popek ‘94] Software fault isolation [Wahbe et al. 93] Aegis[Engler et al. 95]

SPIN STRUCTURE SPIN architecture provides a software infrastructure for safely combining system and application code. Protection Model supports efficient, fine-grained access control of resources Extension Model enables extensions to be defined at the granularity of a procedure call Relevant properties of Modula-3 Interfaces, type safety, automatic storage management, objects, generic interfaces, threads, and exceptions.

SPIN STRUCTURE PROTECTION MODEL Controls the set of operations that can be applied to resources. Capabilities: Unforgeable reference to a resource. All kernel resources are referenced by capabilities Resources are protected to ensure that extension reference the resources to which they have been given access SPIN implements capabilities directly using pointers A pointer can be passed from the kernel to user-level applications as externalized references

SPIN STRUCTURE PROTECTION MODEL CONT’D. Protection domains Defines a set of names, or program symbols, which can be referenced by code with access to the domain. A domain, named by a capability, is used to control dynamic linking, and corresponds to one or safer object files. Operations Create: create a new domain Resolve: dynamic linking Combine: create a new aggregate domain

SPIN STRUCTURE EXTENSION MODEL Provides a controlled communication facility between extensions and the base system Extensions in SPIN are defined in terms of events and handlers The primary right to handle an event is restricted to the default implementation module for the event, which is the module that statically exports the procedure named by the event Other modules may request that the dispatcher install additional handlers or even remove the primary handler Dispatcher contacts primary implementation module. If denied installation falls If allowed, the implementation module can provide a guard to be associated with the handler

CORE SERVICES SPIN provides a set of core services that manage memory and processor resources The core services provided by SPIN are Extensible memory management Extensible thread management

CORE SERVICES EXTENSIBLE MEMORY MANAGEMENT A memory management system is responsible for the allocation of virtual addresses, physical addresses, and mapping between the two. Components Physical address service: controls use and allocation of physical pages. Virtual address service: allocates capabilities for virtual addresses. Translation service: expresses relationship between physical and virtual addresses.

CORE SERVICES EXTENSIBLE THREAD MANAGEMENT Application can provide its own thread package and scheduler that executes within the kernel. SPIN doesn’t define thread model, instead defines structure upon which different threading models can be implemented. SPIN use strands. Operations: Block Unblock Checkpoint Resume

PERFORMANCE Platform SPIN runs on DEC Alpha platforms Measurements DEC Alpha 133Mhz AXP 3000/400 works stations Comparison system MEC OSF/1 V2.1 (monolithic operating system) Mach 3.0

PERFORMANCE Mirobenchmarks: Protected communication SPIN performed better for both system calls and cross-address calls. It’s in-kernel calls were significantly faster then either two of the other methods

PERFORMANCE Microbenchmarks: Thread Management Thread performance in spin was better than that of OSF/1 and Mach in the ping-pong and fork-join tests.

PERFORMANCE Microbenchmarks: Virtual Memory Reasons for outperform SPIN uses kernel extensions to define application specific system calls for virtual memory management. Virtual memory event is reflected to the application through a fast in-kernel protected procedure call

PERFORMANCE Networking: Network Latency and Bandwidth SPIN shows better network latency and bandwidth performance characteristics then OSF/1. The application code executes in the kernel, where it has low-latency access to both the device and data.

PERFORMANCE End to End Performance SPIN utilizes half of the hardware as compared to OSF/1 for the same client load. SPIN tries to avoid double buffering between OS and application.

CONCLUSIONS SPIN achieves performance in an extensible system without sacrificing safety. SPIN provides a set of efficient mechanisms to extend services along with basic set of core services. Programming languages with the appropriate feature support can be used to construct future operating systems

QUESTIONS?