for Kerrighed? February 1 st 2008 Kerrighed Summit, Paris Erich Focht NEC

Similar documents
Module 1: Virtualization. Types of Interfaces

1 Virtualization Recap

CSCI 8530 Advanced Operating Systems. Part 19 Virtualization

LINUX Virtualization. Running other code under LINUX

Operating Systems 4/27/2015

Virtualization. Darren Alton

NON SCHOLAE, SED VITAE

Spring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand

Virtualization. ...or how adding another layer of abstraction is changing the world. CIS 399: Unix Skills University of Pennsylvania.

Lecture 5: February 3

Virtual Machine Monitors!

Nested Virtualization and Server Consolidation

Multiprocessor Scheduling. Multiprocessor Scheduling

CHAPTER 16 - VIRTUAL MACHINES

Is Virtualization Killing SSI Research? Jérôme Gallard Kerrighed Summit Paris February 2008

Virtualization. Pradipta De

Virtualization. join, aggregation, concatenation, array, N 1 ühendamine, agregeerimine, konkateneerimine, massiiv

Virtualization. Virtualization

EE 660: Computer Architecture Cloud Architecture: Virtualization

Distributed Systems COMP 212. Lecture 18 Othon Michail

I/O and virtualization

COMPUTER ARCHITECTURE. Virtualization and Memory Hierarchy

Virtualization and memory hierarchy

CprE Virtualization. Dr. Yong Guan. Department of Electrical and Computer Engineering & Information Assurance Center Iowa State University

Travis Cardwell Technical Meeting

CS 350 Winter 2011 Current Topics: Virtual Machines + Solid State Drives

A Survey on Virtualization Technologies

CSE 120 Principles of Operating Systems

Types of Virtualization. Types of virtualization

24-vm.txt Mon Nov 21 22:13: Notes on Virtual Machines , Fall 2011 Carnegie Mellon University Randal E. Bryant.

Virtual Machine Monitors (VMMs) are a hot topic in

Zdeněk Kubala Senior QA

Virtualization. Dr. Yingwu Zhu

What is Cloud Computing? Cloud computing is the dynamic delivery of IT resources and capabilities as a Service over the Internet.

Virtualization and Performance

COS 318: Operating Systems. Virtual Machine Monitors

Virtual Machines. Part 2: starting 19 years ago. Operating Systems In Depth IX 1 Copyright 2018 Thomas W. Doeppner. All rights reserved.

CHAPTER 16 - VIRTUAL MACHINES

The only open-source type-1 hypervisor

Virtualization. Santa Clara Valley Chapter of the IEEE Communication Society June 20, 2007 Scott Lurndal, 3Leaf Systems

Unit 5: Distributed, Real-Time, and Multimedia Systems

Virtualization. Operating Systems, 2016, Meni Adler, Danny Hendler & Amnon Meisels

Virtualization Introduction

The Challenges of X86 Hardware Virtualization. GCC- Virtualization: Rajeev Wankar 36

LIA. Large Installation Administration. Virtualization

Originally prepared by Lehigh graduate Greg Bosch; last modified April 2016 by B. Davison

Introduction to Virtualization and Containers Phil Hopkins

The Architecture of Virtual Machines Lecture for the Embedded Systems Course CSD, University of Crete (April 29, 2014)

SUSE An introduction...

CSCE 410/611: Virtualization

Virtualization. Starting Point: A Physical Machine. What is a Virtual Machine? Virtualization Properties. Types of Virtualization

Virtualization. ! Physical Hardware Processors, memory, chipset, I/O devices, etc. Resources often grossly underutilized

Cloud Computing Virtualization

Chapter 5 C. Virtual machines

Introduction to Virtual Machines. Michael Jantz

An overview of virtual machine architecture

Lecture 09: VMs and VCS head in the clouds

Server Virtualization Approaches

Virtual Machine Security

CS 470 Spring Virtualization and Cloud Computing. Mike Lam, Professor. Content taken from the following:

Making Applications Mobile

Large Systems: Design + Implementation: Virtualization. Image (c) Facebook

Introduction to Cloud Computing and Virtualization. Mayank Mishra Sujesha Sudevalayam PhD Students CSE, IIT Bombay

Björn Döbel. Microkernel-Based Operating Systems. Exercise 3: Virtualization

OS Virtualization. Linux Containers (LXC)

SAINT LOUIS JAVA USER GROUP MAY 2014

e-pg Pathshala Subject: Computer Science Paper: Cloud Computing Module 23: Virtualization II Module No: CS/CC/23 Quadrant 1 e-text

Advanced Operating Systems (CS 202) Virtualization


Virtual Leverage: Server Consolidation in Open Source Environments. Margaret Lewis Commercial Software Strategist AMD

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University

Virtual Machines Measure Up

Xen and the Art of Virtualization. Nikola Gvozdiev Georgian Mihaila

Faculty of Computer Science Institute for System Architecture, Operating Systems Group. Virtualization. Henning Schild. Dresden,

Virtual Machines. To do. q VM over time q Implementation methods q Hardware features supporting VM q Next time: Midterm?

Xen and the Art of Virtualization

Virtual Machines Disco and Xen (Lecture 10, cs262a) Ion Stoica & Ali Ghodsi UC Berkeley February 26, 2018

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

CS 550 Operating Systems Spring Introduction to Virtual Machines

Virtual Machine Systems

OS Containers. Michal Sekletár November 06, 2016

Cloud and Datacenter Networking

Fast access ===> use map to find object. HW == SW ===> map is in HW or SW or combo. Extend range ===> longer, hierarchical names

System Virtual Machines

Operating system hardening

System Virtual Machines

The Future of Virtualization

CS370: Operating Systems [Spring 2016] Dept. Of Computer Science, Colorado State University

Four Components of a Computer System

Virtualisation: The KVM Way. Amit Shah

The Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams.

Virtualization. Michael Tsai 2018/4/16

Virtual Machines. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Performance Evaluation of Virtualization Technologies

CS370 Operating Systems

Xen and the Art of Virtualization. CSE-291 (Cloud Computing) Fall 2016

Multicore Computing and the Cloud Optimizing Systems with Virtualization

Virtualization and High-Availability

Chapter 5 B. Large and Fast: Exploiting Memory Hierarchy

TDDI04, K. Arvidsson, IDA, Linköpings universitet Operating System Structures. Operating System Structures Overview. Operating System Services

Transcription:

Virtualization for Kerrighed? February 1 st 2008 Kerrighed Summit, Paris Erich Focht NEC

Why virtualization? Virtualization means many things! Multi-programming any UNIX is virtualizing resources to allow their sharing Resource sharing CPU, memory, disks, devices Machine partitioning illusion of several machines running on same hardware mainframes in '60s - '90s, ISPs and virtual desktops today Resource isolation protect data from other users protect from failures and faults separate networks from each other 2

Why virtualization? Quality of Service assigned memory, I/O bandwidth, fairness of scheduling Simulation and Emulation: simulate different CPU and different hardware (devices) testing, development, hardware, firmware Example: old/new hardware, old/new software A quote from 1974: [R. Goldberg, Survey of Virtual Machines Research] "Virtual machine systems were originally developed to correct some of the shortcomings of the typical third generation architectures and multi-programming operating systems - e.g., OS/360." 3

Why virtualization? Resource joining I/O virtualization: many disks merged to one big virtual file space user doesn't need to care of where his files are admin can grow file space according to needs Single System Image: many machines joined to look like one single bigger machine more resources simpler management Grid Computing: join resources of many machines and allow to share them in easy way 4

Approaches Hardware Emulation emulate/simulate different CPU than underlying hardware accuracy level, latencies, cache behavior,... Examples: SimOS, Simics, Bochs, QEMU, MAME (Multi-Arcade Machine Emulator :-) boot unmodified OS on virtual hardware! slow :-( App App Guest OS Hardware VM Primary OS 5

Approaches Instruction set virtualization (at CPU level (mostly)) binary translation of virtual CPU instructions to instructions of host (physical) CPU Transmeta: X86 to VLIW on-the-fly instruction conversion dynamic recompilation (QEMU?) Processor virtualization (at application level) Programming language virtual machine Pseudo-code, P-code, Byte-code run on virtual CPU, with virtual instruction set Pascal, BCPL, (concept used in compilers for intermediate language (RTL)),.NET, Parrot Java, JVM 6

Approaches API/ABI Emulation create execution environment that help run programs for other OS (of same hardware) SUN WABI, lxrun (SCO UNIX), (MACH emulation library - Mikrokernels) WINE Application virtual OS API emulation Primary OS 7

Approaches Full (native) virtualization Hypervisor, VMM (virtual machine monitor) mediates between virtual machines and hardware unmodified guest OS CPU needs native support for virtualization remark is particularly important for x86 z/vm, Vmware, Xen, KVM, Virtualbox (+emulation) performance: slower than native catch faults traps, tracing Applications Applications unmodified guest OS VMM unmodified guest OS 8

Approaches Paravirtualization Hypervisor, VMM (virtual machine monitor) mediates between virtual machines and hardware guest OS is virtualization aware performance: almost as fast as native, better than full virtualization Xen, UML, lguest, VMware Application Application virt guest OS virt guest OS VMM 9

Approaches OS-level virtualization isolates independent servers from each other run in one instance of operating system Vserver, Viruozzo, OpenVZ, (chroot) Solaris containers, FreeBSD jails, Linux containers App App App isolated, virtualized resources Host OS App App App isolated, virtualized resources 10

Approaches OS-level virtualization Linux containers isolates independent resource servers hierarchy from each other run in one instance isolation of operating system Vserver, Viruozzo, QoS OpenVZ, (chroot) name spaces (PID, uname, mounts) Solaris containers, FreeBSD jails, Linux containers migration, checkpoint but only across nodes with exactly same OS! App App App App App App isolated, virtualized resources isolated, virtualized resources Host Operating System 11

Approaches Single System Image modified OS instances cooperate to provide distributed services applications can use distributed services with a virtual SMP feeling App App App App modified OS virtual SMP view: PIDs, distributed objects, migration modified OS modified OS 12

Approaches virtual SMP hardware VMM layer as firmware provides SMP hardware view unmodified SMP OS ScaleMP (commercial product) App App App App unmodified SMP OS Virtual Hardware VMM VMM VMM 13

Virtualization in Kerrighed? Containers! Why? resource isolation & grouping, QoS merged, so people will use it! new scheduler per container memory accounting resource virtualization (PID, UID, network namespaces) How? container restricted to one node (easiest) migrate entire containers people want this, actually (on normal, non-ssi systems) Application: virtual servers in SSI: container resources distributed across nodes? does this make sense? 14

Virtualization in Kerrighed? Containers! resource virtualization: PID namespaces: global, per container, hierarchical Kernel should never use PIDs much code rewritten to eliminate numeric PIDs from Kernel Kerrighed: global PIDs some bits used for initial node identification Can we adapt PID virtualization/namespaces to Kerrighed? remove usage of numeric PIDs use task_struct and PID structure instead add additional namespace level for global Kerrighed view? 15

Virtualization in Kerrighed? PID namespaces node global pid_namespace init container 1 pid_namespace init in ctnr 1 namespace container 2 pid_namespace init in ctnr 2 namespace 16

Virtualization in Kerrighed? PID namespaces node 1 pid_namespace node 2 pid_namespace Kerrighed glbl pid_namespace Kerrighed glbl pid_namespace container 1 pid_namespace container 3 pid_namespace container 2 pid_namespace container 4 pid_namespace 17

Virtualization... PID approach is usable for other namespaces, too UID do we care? SYSV IPC (shm key IDs) solves some problems with checkpoint/restart/migration network make containers migrateable processes see same network setup solves some problems that Kerrighed also has solved filesystem view mount points, no need for additional effort utsname good for us, no need for additional effort (same name per cluster?) 18

Other stuff... control groups memory! important for isolation and QoS AFAIK, done by detailed accounting per node, yet another argument for not distributing containers... per container swap & container checkpoint CPU uninteresting if containers are restricted to one node Disk I/O, network I/O no need for attention so far 19