A PPLICATION P ERFORMANCE AND F LEXIBILITY ON E XOKERNEL S YSTEMS CS5204 – Operating Systems Md Hasanuzzaman Bhuiyan 09-27-2011 Kaashoek et al. MIT Laboratory.

Slides:



Advertisements
Similar presentations
Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems Exokernel: An Operating System Architecture for Application-Level Resource Management.
Advertisements

Slide 19-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 19.
Threads, SMP, and Microkernels
CS533 Concepts of Operating Systems Class 14 Virtualization and Exokernels.
CS 443 Advanced OS David R. Choffnes, Spring 2005 Application Performance and Flexibility on Exokernel Systems M. F. Kaashoek, D.R. Engler, G.R. Ganger,H.M.
Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
1 Application Performance and Flexibility on Exokernel Systems Kaashoek, Engler, Ganger, Briceno, Hunt, Mazieres, Pinckney, Grimm, Jannotti, Mackenzie.
Exokernel: An Opertion System Architecture for Application-Level Resource Management SIGCOMM ’ 96, PDOS-MIT Presented by Ahn Seunghoon Dawson R. Engler,
Extensible Kernels Edgar Velázquez-Armendáriz September 24 th 2009.
G Robert Grimm New York University Extensibility: SPIN and exokernels.
CS533 Concepts of Operating Systems Class 7 Virtualization and Exokernels.
Dawson R. Engler, M. Frans Kaashoek, and James O'Tool Jr.
G Robert Grimm New York University Extensibility: SPIN and exokernels.
Disco Running Commodity Operating Systems on Scalable Multiprocessors.
Extensibility, Safety and Performance in the SPIN Operating System Brian Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
Microkernels: Mach and L4
Dawson Engler, Frans Kaashoek, James O’Toole
Exokernel: An Operating System Architecture for Application-Level Resource Management Dawson R. Engler, M. Frans Kaashoek, and James O’Toole Jr. M.I.T.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
PRASHANTHI NARAYAN NETTEM.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
Extensible Kernels Mingsheng Hong. OS Kernel Types Monolithic Kernels Microkernels – Flexible (?) – Module Design – Reliable – Secure Extensible Kernels.
CS533 Concepts of OS Class 16 ExoKernel by Constantia Tryman.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Virtual Machine Monitors CSE451 Andrew Whitaker. Hardware Virtualization Running multiple operating systems on a single physical machine Examples:  VMWare,
The Origin of the VM/370 Time-sharing system Presented by Niranjan Soundararajan.
AN INTRODUCTION TO LINUX OPERATING SYSTEM Zihui Han.
M. Frans Kaashoek, Dawson R. Engler, Gregory R. Ganger, Hector M. Bricefio, Russell Hunt, David Mazikres, Thomas Pinckney, Robert Grimm, John Jannotti.
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?
Tanenbaum 8.3 See references
Ch4: Distributed Systems Architectures. Typically, system with several interconnected computers that do not share clock or memory. Motivation: tie together.
Computer System Architectures Computer System Software
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Operating System Architectures
APPLICATION PERFORMANCE AND FLEXIBILITY ON EXOKERNEL SYSTEMS M. F. Kaashoek, D. R. Engler, G. R. Ganger H. M. Briceño, R. Hunt, D. Mazières, T. Pinckney,
Paper by Engler, Kaashoek, O’Toole Presentation by Charles Haiber.
CS533 Concepts of Operating Systems Jonathan Walpole.
Exokernel: An Operating System Architecture for Application-Level Resource Management" by Dawson R. Engler, M. Frans Kaashoek, and James O'Toole Jr. Chris.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Background: Operating Systems Brad Karp UCL Computer Science CS GZ03 / M th November, 2008.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
MIT’s Exokernel Presented by Victoria Barrow Kyle Safford Sean Sommers.
UNIX Operating Systems and Kernels Presented By: Walter Haynes April 26, 2007.
EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
1.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Lecture 2: OS Structures (Chapter 2.7)
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.
Overview of the MIT Exokernel Operating System James Madison University CS 450 Abzug MWF 10:10-11:00 12/2/02 Steven Petzinger Billy Lehner.
1 Isolating Web Programs in Modern Browser Architectures CS6204: Cloud Environment Spring 2011.
Operating-System Structures
CS533 Concepts of Operating Systems Jonathan Walpole.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Exokernel Operating System: An Introduction Liming Shu COSC 513, Summer 2002.
Computer System Structures
Virtualization.
Virtual Machine Monitors
CS 5204 Operating Systems Kernel Structures Godmar Back.
Operating System Structures
Operating System Structure
Operating System Structure
OS Virtualization.
Jennifer Rose Daniel Stanaland Amy Turlington
EXOKERNEL Gabriel Beltran John Blackman David Martin Kurt Rohrbacher
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Operating Systems Structure
Presentation transcript:

A PPLICATION P ERFORMANCE AND F LEXIBILITY ON E XOKERNEL S YSTEMS CS5204 – Operating Systems Md Hasanuzzaman Bhuiyan Kaashoek et al. MIT Laboratory for Computer Science The 16 th Symposium on Operating Systems Principles, October, 1997, France

C ONTENT Introduction Traditional OS Monolithic kernel and Microkernel Exokernel Performance Evaluation Example File System Conclusion Discussion 2

T RADITIONAL OS Only privileged servers and the kernel can manage system resources Both resource management and protection are done by kernel Centralized control Untrusted applications are limited to the interface Limited functionality Hurt application performance Hide information (page fault etc.) 3

T RADITIONAL OS An interface designed to accommodate every application must anticipate all possible needs Flawed ! Solution: Allow applications enough control over resources by separating protection from management “Exokernel” does this ! 4 User process Kernel User process System calls

M ONOLITHIC K ERNEL Kernel takes care of almost all the system tasks Applications do not have control over resources Example: Windows 9x series: Windows 95, 98 BSD: FreeBSD, OpenBSD Linux Ref: Kaashoek et al. 5

M ICROKERNEL Runs most of the operating system services at the user space. Parts that require privilege (IPC, etc) are in kernel mode and other critical parts (FS, Network Stack) in user mode. Example: L4 microkernel Performance issue ! Ref: Tanenbaum’s distributed systems. 6

E XOKERNEL Separates resource management from protection Normal kernel does both Kernel protect the resources Application Manage the resources Virtual memory, file system etc. are in application libraries Gives untrusted software as much control over hardware and software resources as possible Specialized applications can gain high performance without sacrificing the unmodified UNIX program 7

E XOKERNEL : E XAMPLE Application manages its disk-block cache and kernel allows cached pages to be shared securely between applications 8 User space Kernel space

M ICROKERNEL VS. E XOKERNEL 9 MicrokernelExokernel User space Kernel space Microkernel User process Memory module Process module File module Microkernel Hardware No direct data exchange between modules User Kernel System Call

E XTENSIBLE O PERATING SYSTEMS Extensibility lets new functionalities to be included in the operating systems Goal is to let applications safely modify system behavior for the applications’ own need Different approaches to extensible OS: Exokernel (MIT) SPIN (UW) VINO (Harvard) L4 (IBM) Fluke/OSKit (Utah) 10

3 R EAL E XOKERNEL S YSTEMS XoK For Intel x86 based computers Multiplexes physical resources (disk etc) In this paper, Xok is used for the experiments Aegis Runs on MIPS based DECStations Glaze For the Fugu microprocessor 11

LIB OS ES Library operating systems. “Unix as a library” Can implement traditional OS abstraction. Most application programs will be linked to libOSes of their choices instead of communicating with the exokernel. Unprivileged libraries – can be modified or replaced at will. Different libOSes can coexist on the top of same exokernel. This allows system to emulate behaviors of several conventional OSs. 12

E X OS ExOS is Xok’s default library. Much code borrowed from OpenBSD. 13

E XOKERNEL P RINCIPLES Separate resource protection and management Exokernel and libOSes Minimum resource management as required by protection (allocation, revocation etc) Expose allocation Applications allocate resources Kernel allows the allocation requests Expose names Exokernels use physical names wherever possible Expose revocation Let application choose which instance of resource is to give up Expose information Expose all system information and collect data that application can not easily derive locally 14

E XOKERNEL : P ROTECTED A BSTRACTIONS Xok’s 3 design techniques: Access control on all resources is uniform Bind hardware together with software abstractions Example: tie together buffer cache and physical memory Allow downloaded code where necessary, and protect it Example: files may require valid updates to their validation times 15

E XOKERNEL : P ROTECTED S HARING M ECHANISM Software regions areas of memory that can only be read or written through system calls Hierarchically-named capabilities Requires that these capabilities to be specified explicitly on each system call Example: Buggy child process accidentally requesting write access to the parent’s page Wake-up predicates wake up processes when arbitrary conditions become true Robust critical sections implemented by disabling software interrupts 16

C OMPARISON Evaluation of exokernel is done by comparing end to end application performance on Xok and two widely used 4.4BSD UNIX Systems (FreeBSD and OpenBSD) Berkeley Software Distribution (BSD) is a UNIX operating system developed by the Computer Systems Research Group (CSRG) of the University of California, Berkeley, from 1977 to FreeBSD and OpenBSD are operating systems descended from BSD UNIX. FreeBSD for desktop users OpenBSD is mostly for servers 17

B ENCHMARKS 18

P ERFORMANCE E VALUATION Unmodified UNIX applications: 200-MHz Intel Pentium Pro, 64MB of memory Applications either perform comparably on Xok/ExOS and the BSD UNIXes, or perform significantly better at a speed of 4x Performace of 8 of 11 applications are comparable to BSD Unixes. On 3 applications (pax, cp, diff) Xok/ExOS runs considerably faster. 19

P ERFORMANCE E VALUATION Unmodified UNIX applications: Xok/ExOS is the first bar 20 Better Comparable

C HEETAH HTTP S ERVER : M ODIFIED A PPLICATION Given a client request, HTTP server finds the appropriate document and sends it. Cheetah uses a file system and a TCP implementation customized for the properties of HTTP traffic. Cheetah performs up to eight (8) times faster than the best UNIX HTTP server we measured on the same hardware. Exokernel is well suited to building fast servers 21

C HEETAH HTTP S ERVER : M ODIFIED A PPLICATION Cheetah is the last bar 22

G LOBAL P ERFORMANCE Compared to FreeBSD and as good as FreeBSD. A specific application is pool is used here. 23

A N E XAMPLE : T HE F ILE S YSTEM Multiple library file systems (libFSes) in each libOS will share access to the stable storage (disk) can define new file types with arbitrary metadata formats 4 requirements to allow libFSes to perform their own file management Creating new file formats should not require any special privilege LibFSes should be able to safely share blocks at the raw disk block level Storage system should be efficient Storage system should facilitate cache sharing among distinct libFSes. 24

X OK ’ S F ILE SYSTEM : XN Provides access to stable storage at the level of disk blocks Determine the access rights to a given disk block as efficiently as possible Prevent a malicious user from claiming another user ’ s disk blocks as part of her own files Difficult, because each libFS may use different application-defined metadata XN uses UDF ( Untrusted Deterministic Functions ) UDFs are Metadata translation function C-FFS (Co-locating fast file system) is ExOS’s default file system. is faster than in-kernel file systems 25

E XOKERNEL : B ENEFITS Exposing kernel data structure Can be accessed without system call overhead Flexibility libOSes can be modified and debugged considerable more easily then kernels “Edit, compile, debug” cycle of applications is considerably faster than the “edit, compile, reboot, debug” cycle of kernel. Performance Aggressive applications may gain speed up to 10x 26

E XOKERNEL : D RAWBACKS Exokernel interface design is not simple Most of the major exokernel interfaces have gone through multiple designs over several years The ease of creation and mixing of libOSes could lead to code messes nightmare for maintenance coders and system administrators It is theoretically possible to provide libOSes that enable applications to run simultaneously on the same system, that would also mean different look & feels for each of them. Different libOSes may have varying levels of compatibility and interoperability with each other. Poorly chosen abstractions may cause lose of information Self-paging libOSes Self-paging is difficult 27

C ONCLUSION Exokernel Architecture: Goal: safe application control of all resources. How: by separating resource management from protection. Results found promising: Unmodified applications run same or 4x better. Customized applications can run up to 8x better. Global performance is similarly good like UNIX. 28

D ISCUSSION Do normal applications benefit? Will the exokernel work for multiprocessor systems ? Is this similar in any way to virtual machines? Would you use it? When and why? When not and why? 29

30