Extensibility, Safety and Performance in the SPIN Operating System Brian Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, David Becker, Marc.

Slides:



Advertisements
Similar presentations
CS533 Concepts of Operating Systems Class 14 Virtualization and Exokernels.
Advertisements

Department of Computer Science and Engineering University of Washington Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
Ensuring Operating System Kernel Integrity with OSck By Owen S. Hofmann Alan M. Dunn Sangman Kim Indrajit Roy Emmett Witchel Kent State University College.
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.
Lightweight Remote Procedure Call Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented by Alana Sweat.
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 Lightweight RPC.
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,
Extensibility, Safety and Performance in the SPIN Operating System Bershad et al Presentation by norm Slides shamelessly “borrowed” from Stefan Savage’s.
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,
1 Extensible Kernels Ken, with slides by Amar Phanishayee.
Extensibility, Safety and Performance in the SPIN Operating System Dave Camarillo.
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.
CS533 Concepts of Operating Systems Class 6 Micro-kernels Extensibility via Hardware or Software Based Protection.
User-Level Interprocess Communication for Shared Memory Multiprocessors Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented.
Extensible Kernels Mingsheng Hong. OS Kernel Types Monolithic Kernels Microkernels – Flexible (?) – Module Design – Reliable – Secure Extensible Kernels.
1 Extensible Kernels Amar Phanishayee. 2 Traditional OS services – Management and Protection Provides a set of abstractions Processes, Threads, Virtual.
CS533 Concepts of Operating Systems Class 9 Lightweight Remote Procedure Call (LRPC) Rizal Arryadi.
CS510 Concurrent Systems Jonathan Walpole. Lightweight Remote Procedure Call (LRPC)
Efficient Software-Based Fault Isolation—sandboxing Presented by Carl Yao.
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?
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
SPIN: Design Contention between Safety-Extensibility-Performance Review of Extensibility, Safety and Performance in the SPIN Operating System By Lewis.
Lightweight Remote Procedure Call (Bershad, et. al.) Andy Jost CS 533, Winter 2012.
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.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
1 Specialization Tools and Techniques for Systematic Optimization of System Software McNamee, Walpole, Pu, Cowan, Krasic, Goel, Wagle, Consel, Muller,
Native Client: A Sandbox for Portable, Untrusted x86 Native Code
CS533 Concepts of Operating Systems Jonathan Walpole.
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.
The xCloud and Design Alternatives Presented by Lavone Rodolph.
The Mach System Abraham Silberschatz, Peter Baer Galvin, Greg Gagne Presentation By: Agnimitra Roy.
EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM
Joonwon Lee Process and Address Space.
The Performance of μ-Kernel-Based Systems H. Haertig, M. Hohmuth, J. Liedtke, S. Schoenberg, J. Wolter Presenter: Sunita Marathe.
Networking Implementations (part 1) CPS210 Spring 2006.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
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.
Improving the Reliability of Commodity Operating Systems Michael M. Swift, Brian N. Bershad, Henry M. Levy Presented by Ya-Yun Lo EECS 582 – W161.
CS533 Concepts of Operating Systems Jonathan Walpole.
Threads, SMP and Microkernels Process vs. thread: –Unit of resource ownership (process has virtual address space, memory, I/O channels, files) –Unit of.
Papers on the Second Quiz Jehan-François Pâris
Introduction to Operating Systems Concepts
CS533 Concepts of Operating Systems
Extensible OSes Exokernel and SPIN (Lecture 9, cs262a)
Presentation by Omar Abu-Azzah
Extensible OSes Exokernel and SPIN Lecture 19, cs262a
Chapter 2 Operating System Overview
CSE 60641: Operating Systems
Advanced Operating Systems (CS 202) Operating System Structure
CSE 542: Operating Systems
In Today’s Class.. General Kernel Responsibilities Kernel Organization
Presentation transcript:

Extensibility, Safety and Performance in the SPIN Operating System Brian Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, David Becker, Marc Fiuczynski, Craig Chambers, Susan Eggers Brian BershadStefan SavagePrzemyslaw PardyakEmin Gun SirerDavid BeckerMarc FiuczynskiCraig ChambersSusan Eggers Presented By Ninad Palsule

Motivation General purpose OS Specialized OS Application needs a resource control – Ex. DBMS Hard: Support specialization in general purpose OS Kernel User DBMS Data page buffer Log page 1 2 Storage

Why it is hard? Ref: Fig from presentation prepared by Author from

SPIN Design Goals – Extensibility Incremental changes – Safety Correctness – Good performance Efficiency

SPIN Approach – Language and compiler support – Runtime facility Techniques – Co-location Requires dynamic linking Provides low cost communication – Enforced modularity Modula – 3 Compiler enforce interface between modules Can’t access memory or execute privileged instruction unless access given through interface Modularity enforced by the compiler enables modules – Logical protection domains Dynamic linker resolve code in different logical protection domain – Dynamic call binding System Events

Extensibility

Extension model Property of Extension – Easy to apply – Transparent – Efficient Dynamically linked to Kernel address space Provide controlled communication between Extension and Base system Extensions defined in terms of Event and Handler

Extension model Event raised Dispatcher call guards and handlers Evaluating guards If guard true then call handler Safety issues – Type checking Access Control Denial of service – Runaway handlers – Too many handlers Ref: Fig from paper 2 in Reference

Example: System call Ref: From presentation prepared by Author of paper 2.

Programmer’s view Ref: From presentation prepared by Author of paper 2.

SPIN structure Ref: Fig from presentation prepared by Author from

Application: Video system components Ref: Fig from Author presentation from

Safety

Modula – 3 support for SPIN Type Safety – Array index checks (static & dynamic) – Pointer-safe casting “VIEW” used to safe cast – Size of input should match with typed structure – Alignment should match Isolation of untrusted code – Terminating untrusted code “EPHEMERAL” procedure tag for killable procedures – Isolating errors in untrusted code Implicit exception for unhandled exception Enforce modularity – Interface, Modules and procedures Automatic storage management

Protection model Control set of operations on resource Conventional OS uses Address space as a protection model SPIN – Capabilities – Protection domain

Capabilities Implemented using pointers Pointer is a reference to block of memory whose type is declared within interface. Externalized Reference before sending to user space Unforgeable reference to resources (system object and interfaces) Extension reference resources for which they have valid access Interfaces protected to allow different extensions to have different views on services

Protection domains Set of accessible names available for execution context Naming and protection interface at level of language – Name ‘c’ is a instance of type ‘Console.T’ Domains can be intersecting or disjoint

Domain interface

Export/Import domain at run-time Fig from paper [2]

Core Services

Manages Memory and Processor resources Export interfaces for Extensions Extensible Memory management – Three components: Physical storage, Naming(virtual address) and Translation Extensible thread management – Strands – No state, share processor – Application provide its own thread package – Scheduler runs in Kernel – Checkpoint and Resume events – Block / Unblock Events

Performance

Methodology Comparative study – SPIN V0.4 – DEC OSF/1 V2.1 (Monolithic OS) – Mach 3.0 (Micro-kernel) Hardware – DEC Alpha 133 MHz AXP 3000/400 workstation, 64 MB RAM, 512 KB unified external cache Tests – Micro benchmarks – End-to-end performance – Networking

Micro benchmark – Protected communication NULL procedure call Protected in-kernel : SPIN’s cross domain procedure call Cross Address space call: SPIN’s extension Protected communication overhead in microseconds

Micro benchmark: Thread Management overhead

Network Latency and Bandwidth

End-to-end performance

Conclusion It is possible to achieve all three in single OS (Extensibility, Safety and Performance) Extend easily with dynamic linking Use of language and compile with Event facility for safety Communication cost is low Issues – Dispatcher performance? – Does it solve all Safety issues? How do we test correctness? – Language restrictions, changes in Modula - 3

References 1. Extensibility, Safety and Performance in the SPIN Operating System Brian Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, David Becker, Marc Fiuczynski, Craig Chambers, Susan Eggers Brian BershadStefan SavagePrzemyslaw PardyakEmin Gun SirerDavid BeckerMarc FiuczynskiCraig ChambersSusan Eggers 2. Dynamic Binding for an Extensible System, Przemyslaw Pardyak and Brian Bershad 3. Safe Dynamic Linking in an Extensible Operating System, Emin Sirer, Marc Fiucynski, Przemyslaw Pardyak, Brian Bershad 4. Language Support For Extensible Operating System, Wilson Hsieh, Marc Fiuczynski, Charles Garrett, Stefan Savage, David Becker, and Brian Bershad 5. SPIN Operating System web site: Documentation and source code