Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Similar documents
Full and Para Virtualization

COS 318: Operating Systems. Virtual Machine Monitors

Virtualization. Types of Interfaces

Virtualization. Pradipta De

Virtualization Technology. Zhiming Shen

Uses for Virtual Machines. Virtual Machines. There are several uses for virtual machines:

Virtualization. Explain how today s virtualization movement is actually a reinvention

Virtual Machine Monitors. Dr. Marc E. Fiuczynski Research Scholar Princeton University

COS 318: Operating Systems. Virtual Machine Monitors

Basics in Energy Information (& Communication) Systems Virtualization / Virtual Machines

Virtualization. Dr. Yingwu Zhu

Intel s Virtualization Extensions (VT-x) So you want to build a hypervisor?

Virtualization. Jia Rao Assistant Professor in CS

Chapter 5 Cloud Resource Virtualization

COM 444 Cloud Computing

Virtualization for Cloud Computing

Leveraging Thin Hypervisors for Security on Embedded Systems

KVM: A Hypervisor for All Seasons. Avi Kivity avi@qumranet.com

Basics of Virtualisation

Virtual Machines. Virtualization

CPET 581 Cloud Computing: Technologies and Enterprise IT Strategies. Virtualization of Clusters and Data Centers

Performance tuning Xen

Virtual Machines. COMP 3361: Operating Systems I Winter

nanohub.org An Overview of Virtualization Techniques

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

Cloud Computing CS

Virtualization. Introduction to Virtualization Virtual Appliances Benefits to Virtualization Example Virtualization Products

Introduction to Virtual Machines

Chapter 16: Virtual Machines. Operating System Concepts 9 th Edition

Networked I/O for Virtual Machines

Virtualization. Jukka K. Nurminen

Virtual machines and operating systems

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

Cloud^H^H^H^H^H Virtualization Technology. Andrew Jones May 2011

Hypervisors. Introduction. Introduction. Introduction. Introduction. Introduction. Credits:

x86 ISA Modifications to support Virtual Machines

The Xen of Virtualization

Distributed and Cloud Computing

Enabling Technologies for Distributed Computing

Enabling Technologies for Distributed and Cloud Computing

Multi-core Programming System Overview

Clouds Under the Covers. Elgazzar - CISC Fall

Chapter 14 Virtual Machines

Knut Omang Ifi/Oracle 19 Oct, 2015

Hardware Based Virtualization Technologies. Elsie Wahlig Platform Software Architect

Virtualization. Michael Tsai 2015/06/08

OS Concepts and structure

Introduction to Virtual Machines

Virtual Machine Monitors: Disco and Xen. Robert Grimm New York University

Models For Modeling and Measuring the Performance of a Xen Virtual Server

Virtualization Technologies

Xen and the Art of. Virtualization. Ian Pratt

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself

COS 318: Operating Systems

An Introduction to Virtual Machines Implementation and Applications

Virtualization: Know your options on Ubuntu. Nick Barcet. Ubuntu Server Product Manager

Distributed Systems. Virtualization. Paul Krzyzanowski

Outline. Outline. Why virtualization? Why not virtualize? Today s data center. Cloud computing. Virtual resource pool

Xen and the Art of Virtualization

Understanding Full Virtualization, Paravirtualization, and Hardware Assist. Introduction...1 Overview of x86 Virtualization...2 CPU Virtualization...

MODULE 3 VIRTUALIZED DATA CENTER COMPUTE

Cloud Computing #6 - Virtualization

B) Using Processor-Cache Affinity Information in Shared Memory Multiprocessor Scheduling

Networking for Caribbean Development

KVM Security Comparison

Virtualization. ! Physical Hardware. ! Software. ! Isolation. ! Software Abstraction. ! Encapsulation. ! Virtualization Layer. !

Database Virtualization

Intel Virtualization Technology Overview Yu Ke

Virtual Machine Security

OPEN SOURCE VIRTUALIZATION TRENDS. SYAMSUL ANUAR ABD NASIR Warix Technologies / Fedora Community Malaysia

Survey On Hypervisors

Virtualization and the U2 Databases

Virtual Computing and VMWare. Module 4

Virtualization: What does it mean for SAS? Karl Fisher and Clarke Thacher, SAS Institute Inc., Cary, NC

A hypervisor approach with real-time support to the MIPS M5150 processor

RUNNING vtvax FOR WINDOWS

Virtual Machines.

GUEST OPERATING SYSTEM BASED PERFORMANCE COMPARISON OF VMWARE AND XEN HYPERVISOR

2972 Linux Options and Best Practices for Scaleup Virtualization

Virtualization. Clothing the Wolf in Wool. Wednesday, April 17, 13

Virtualization Technologies (ENCS 691K Chapter 3)

Avirtual machine monitor is a software system

INFO5010 Advanced Topics in IT: Cloud Computing

VMware and CPU Virtualization Technology. Jack Lo Sr. Director, R&D

The MIPS architecture and virtualization

I/O Virtualization Using Mellanox InfiniBand And Channel I/O Virtualization (CIOV) Technology

Operating System Organization. Purpose of an OS

IOS110. Virtualization 5/27/2014 1

WHITE PAPER Mainstreaming Server Virtualization: The Intel Approach

The Microsoft Windows Hypervisor High Level Architecture

kvm: Kernel-based Virtual Machine for Linux

Cloud Architecture and Virtualisation. Lecture 4 Virtualisation

Satish Mohan. Head Engineering. AMD Developer Conference, Bangalore

Virtualization benefits Introduction to XenSource How Xen is changing virtualization The Xen hypervisor architecture Xen paravirtualization

Virtualization in Linux KVM + QEMU

VMware Server 2.0 Essentials. Virtualization Deployment and Management

Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details

Transcription:

Microkernels, virtualization, exokernels Tutorial 1 CSC469

Monolithic kernel vs Microkernel Monolithic OS kernel Application VFS System call User mode What was the main idea? What were the problems? IPC, file system Scheduler, virtual memory Device drivers, dispatcher Kernel mode Application IPC Microkernel Unix server Device driver IPC, virtual memory File server Hardware Hardware

Exokernels Motivation OSes hide machine info behind abstractions (processes, files, address spaces, IPC) These abstractions are hardcoded => restrictive Idea Separate protection from management Application level (untrusted) resource management VM, IPC implemented at application level Library OSes implement all the abstractions Basically, it s a minimal kernel that multiplexes securely the hardware resources

Virtual Machine Monitors (VMM) Definitions: A VMM is a hardware virtualization technique that allows multiple operating systems, termed guests, to run concurrently on a host computer A VMM is a software layer that runs on a host platform and provides an abstraction of a complete computer system to higher level software. Also called Hypervisor

VMM types Type 1: run directly on the host's hardware Type 2: run within a conventional operating system environment Disco, VMWare ESX Server, Xen VMWare workstation, VirtualPC, User Mode Linux, UMLinux

Disco Goals Extend modern OS to run efficiently on shared memory multiprocessors without large changes to the OS VMM can run multiple copies of Silicon Graphics IRIX operating system on a Stanford Flash shared memory multiprocessor

Problem Commodity OS's not well suited for ccnuma (1997) Do not scale: Lock contention, memory architecture Do not isolate/contain faults: more processors => more failures Customized operating systems Take time to build, lag hardware Cost a lot of money

Solution Add a virtual machine monitor (VMM) Commodity OSes run in their own virtual machines (VMs) Communicate through distributed protocols VMM uses global policies to manage resources Moves memory between VMs to avoid paging Schedules virtual processors to balance load

Advantages Scalability Flexibility Hide NUMA effect Fault Containment Compatibility with legacy applications

Disco

VM challenges Overheads Instruction execution, exception processing, I/O Memory Code and data of hosted operating systems Replicated buffer caches Resource management Lack of information Idle loop, lock busy waiting Page usage Communication and sharing Not really a problem anymore because of distributed protocols

Disco interface VCPUs provide abstraction of a MIPS R10000 processor Emulates all instructions, the MMU, trap architecture Enabling/disabling interrupts, accessing privileged registers > Memory based interface to VMM Physical memory Contiguous address space, starting at address 0 Physical to machine address translation, second (software) TLB

Disco interface (cont d) I/O devices Each VM assumes exclusive access to I/O devices Virtual devices exclusive to VM Physical devices multiplexed between virtual ones Special interface to SCSI disks and network devices Interpose on DMA calls Disk: Set of virtualized disks to be mounted by VMs Copy on write disks; for persistent disks, uses NFS Network: Virtual subnet across all virtual machines Uses copy on write mappings => reduces copying, allows sharing

Xen virtualization Technically, two kinds Paravirtualization Guests run a modified OS High performance on x86 Hardware assisted virtualization CPUs that support virtualization Unmodified guest OSes

Xen infrastructure

How does it compare to Disco? Three main differences Less complete virtualization Domain0 to initialize/manage VMs, incl. to set policies Strong performance isolation Other Interface is pretty close to hardware and enables lowoverhead high performance virtualization Need to change more OS code than in Disco All the cool details Xen and the art of virtualization SOSP 03

Questions What s the difference between a hypervisor and an exokernel?

Questions What about an exokernel and a microkernel? Performance? What about fault isolation?

Questions What is the difference between a hypervisor (VMM) and a microkernel?

Questions Can a microkernel be used to implement a hypervisor?

Questions Can a hypervisor be used to implement a microkernel?

Hypervisors for servers Type 1 or Type 2? Hyper V: MicroKernelized Hypervisor Design VMWare ESX Server: Monolithic hypervisor architecture

Monolithic Hypervisor Hypervisor design Microkernel Hypervisor VM1 (Admin) VM2 VMn VM1 (Admin) Virtualization Stack Virt Stack VM2 VMn Hypervisor Drivers Hardware Drivers Drivers Drivers Hypervisor Hardware Both true Type 1 hypervisors no host OS The hardware is the physical machine; OSs are all virtual