LIA. Large Installation Administration. Virtualization

Similar documents
Introduction to Virtual Machines

Virtualization. Pradipta De

COS 318: Operating Systems. Virtual Machine Monitors

Cloud Computing #6 - Virtualization

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

Virtualization for Cloud Computing

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

COS 318: Operating Systems. Virtual Machine Monitors

Full and Para Virtualization

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

Virtualization. Types of Interfaces

Chapter 5 Cloud Resource Virtualization

The Xen of Virtualization

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

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Multi-core Programming System Overview

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

Virtualization. Jia Rao Assistant Professor in CS

x86 ISA Modifications to support Virtual Machines

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

Virtualization. Dr. Yingwu Zhu

Virtualization Technology. Zhiming Shen

CS 695 Topics in Virtualization and Cloud Computing. More Introduction + Processor Virtualization

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

Virtual Machines. COMP 3361: Operating Systems I Winter

Virtual Machines. Virtual Machines

Virtual Machines.

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

The Art of Virtualization with Free Software

Virtual Machines. Virtualization

Virtual machines and operating systems

Basics of Virtualisation

COM 444 Cloud Computing

kvm: Kernel-based Virtual Machine for Linux

Virtual Computing and VMWare. Module 4

Virtualization and the U2 Databases

Virtualization in a Carrier Grade Environment

Virtualization Technologies

Cloud Computing CS

Cloud Computing. Up until now

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

Distributed Systems. Virtualization. Paul Krzyzanowski

COS 318: Operating Systems

Virtualization and Other Tricks.

Virtual Machine Security

Introduction to Virtual Machines

Virtualization. Jukka K. Nurminen

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

Example of Standard API

Hardware Based Virtualization Technologies. Elsie Wahlig Platform Software Architect

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

VMware Server 2.0 Essentials. Virtualization Deployment and Management

Operating System Structures

IOS110. Virtualization 5/27/2014 1

Knut Omang Ifi/Oracle 19 Oct, 2015

System Structures. Services Interface Structure

Virtualization Technology

Xen and the Art of. Virtualization. Ian Pratt

An Introduction to Virtual Machines Implementation and Applications

Clouds Under the Covers. Elgazzar - CISC Fall

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

12. Introduction to Virtual Machines

Anh Quach, Matthew Rajman, Bienvenido Rodriguez, Brian Rodriguez, Michael Roefs, Ahmed Shaikh

Operating System Overview. Otto J. Anshus

An Overview of Virtual Machine Architectures

A Unified View of Virtual Machines

What is virtualization

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

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

Solaris Virtualization and the Xen Hypervisor Frank Hofmann

Chapter 3 Operating-System Structures

Virtual Machines. Adapted from J.S. Smith and R. Nair, VIRTUAL MACHINES, Morgan-Kaufmann Teodor Rus.

Networks and Operating Systems ( ) Chapter 1: Introduction to Operating Systems

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

MODULE 3 VIRTUALIZED DATA CENTER COMPUTE

Server and Storage Virtualization

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Introduction. What is an Operating System?

Virtualization. P. A. Wilsey. The text highlighted in green in these slides contain external hyperlinks. 1 / 16

Virtualization in Linux KVM + QEMU

Distributed and Cloud Computing

SCO Virtualization Presentation to Customers

OS Virtualization Frank Hofmann

Operating System Organization. Purpose of an OS

Chapter 14 Virtual Machines

Suh yun Ki m (KIS T) (KIS suhyunk@.com

Server and Storage Virtualization. Virtualization. Overview. 5 Reasons to Virtualize

RPM Brotherhood: KVM VIRTUALIZATION TECHNOLOGY

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Virtualization: Hypervisors for Embedded and Safe Systems. Hanspeter Vogel Triadem Solutions AG

Compromise-as-a-Service

Chapter 2 System Structures

How To Virtualize A Computer System

Advanced Computer Networks. Network I/O Virtualization

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

nanohub.org An Overview of Virtualization Techniques

Distributed systems Techs 4. Virtualization. October 26, 2009

Virtualization with Windows

Enterprise-Class Virtualization with Open Source Technologies

VIRTUALIZATION 101. Brainstorm Conference 2013 PRESENTER INTRODUCTIONS

Transcription:

LIA Large Installation Administration Virtualization

2 Virtualization What is Virtualization "a technique for hiding the physical characteristics of computing resources from the way in which other systems, applications, or end users interact with those resources." Virtualization is the process of making things more abstract in order to make them easier to use.

Examples? 3

4 Storage virtualization Files Linear sequence of bytes Instead of blocks on a disk (or magnetic particles) Disk partitioning LBA RAID - redundant array of independent disks Logical Volume management Combines disks and partitions into logical disks.

5 Network virtualization VLAN Multiple logical networks on same physical wires Channel bonding multiple links combined offered a single, higherbandwidth link Computer clusters multiple discrete computers into larger metacomputers e.g. Hadoop Virtual NICs and bridges for VM communication

6 Resource virtualization Multiprogramming Each process thinks it has CPU to itself Virtual memory Present linear address space composed of nonconsecutive blocks of: Physical memory Disk space

Virtual Machines 7

8 Credits Slides largely based on:

9 Why Virtual Machines? Isolate applications in separate VMs Sandbox applications for security Support different OSes concurrently Legacy applications on legacy OSes Application testing using VMs with known state Testing OS upgrades, training OS development

10 Why Virtual Machines? LIA context: Resource utilization Server consolidation Facilitate maintenance Basis for cloud computing

12 Computer Architecture Recap

13 Instruction Set Architecture Software ISA Hardware E.g. x86_64

14 User + System ISA Application Programs System ISA Operating System User ISA Hardware

15 User ISA = For doing computations Simple Memory Instructions Move data from memory to registers and v.v. Integer Instructions Floating-Point Instructions Branch instructions Jump to address Jump to address if... Part of SHA1 in assembly: addl %esi, %e; movl %c, %esi; xorl %d, %esi; andl %b, %esi; xorl %d, %esi;

16 System ISA (1/2) = Management of system resources System Resources: Main memory Storage Other I/O devices Management: Fair allocation between user programs Prevent concurrent/unauthorized access Role of the Operating System

17 System ISA (2/2) OS requires special privileges over user programs OS runs in CPU Kernel mode Apps run in CPU User Mode x86: Implemented via 2 privilege levels / rings User Mode Kernel Mode Ring 0 1 2 3

18 System ISA Instructions Processor Management Change to user mode + run application Timer interrupt gives control back to OS Memory Management Manage page table, TLB: virtual memory I/O Management load and store to/from device Traps Change to kernel mode from application On purpose (system call) or on exception

19 System Call Instruction Application Programs I/O instructions Operating System System call Handler System call: read(file) E.g. syscall on x86 or svc on ARM. Hardware Disk

20 System Call = Mechanism for User Mode code to request services from Kernel Mode What services? Read/write to files and devices Create processes i.e. use Operating System abstractions: File abstraction for storing blocks on disk Process abstraction for running different code in parallel

21 System Call Interface (1/2) Application Programs System calls Operating System ISA Hardware

22 System Call Interface (2/2) Read/write files or devices: open(filename, ) CreateFile(...) read(fd,data, ) ReadFile(...) write(fd,data, ) WriteFile(...) ioctl() SetConsoleMode(...) Manipulate processes fork() CreateProcess( ) exit() ExitProcess( ) More...

23 System calls via libraries Application Programs Operating System System calls Libraries E.g. libc Hardware

24 Architecture Model Application Programs User Mode Run Libraries Kernel Mode Operating System System calls Interrupts, Traps, faults Privileged instructions Hardware

Virtual Machines 25

26 Virtualize the machine? What is the machine? Machine is defined by an interface 3 interfaces that can be virtualized: 1. Instruction Set Architecture (ISA) 2. Application Binary Interface (ABI) 3. Application Programming Interface (API)

27 Interface 1: ISA Application Programs Libraries Operating System System calls ISA Hardware Virtualize a complete machine, running an OS supporting multiple processes = System VM

28 Interface 2: ABI Application Programs Libraries Operating System System calls Hardware ABI = System calls + user ISA Virtualize the environment of a single process = Process VM

29 Interface 3: API Application Programs Libraries Operating System System calls Hardware API = Libraries + user ISA

30 Example Virtualizing ISA Support a machine's complete ISA VM/370 Xen* KVM*

31 Example Virtualizing ABI Run binaries unmodified on different platform Sun WABI Run Win32-x86 binaries on Solaris-SPARC Digital FX!32 Run Win32-x86 binaries on Win32-Alpha

32 Example Virtualizing API Recompile applications from source Runs on any platform with same API E.g. Linux-x86 and Linux-ARM (Assuming platform-independent code)

33 VM Implementations Application Programs Application Programs Libraries Guest OS Virtual Machine Monitor Virtual Machine Monitor Host OS Hardware Hardware (a) System VM (b) Process VM

34 What ISA? Same or different Same: Run Win32-x86 on Linux-x86 Diff: Run Linux-ARM on Win32-x86 Application Programs Libraries OS Virtual Machine Monitor Hardware Source ISA Target ISA

35 Taxonomy Process VMs System VMs Same ISA Different ISA Same ISA Different ISA Multiprogrammed Systems Emulators/ Translators Classic-System VMs Whole-System VMs High-level Language VMs Hosted VMs Codesigned VMs

Example: Windows Multiprogramming 36 Win32 native Win32 native Process Win32 API Windows OS One CPU, illusion of processes running in parallel X86 Hardware

37 Example: Android Java High-level Language VM (HLL-VM) Java VM + Libs Linux OS ARM Hardware Different ISA: Java vs. ARM

38 Example: Android Emulation Java Java VM Whole- System VM Linux OS ARM VM Runtime Win32 API Win32 native Process Windows OS X86 Hardware

39 Example: Android Emulation on Xen Java Java VM Linux OS Win32 Native Linux Native Linux Native ARM VM Runtime Windows OS Linux OS Xen domain Xen Hypervisor = Hosted VM X86 Hardware

40 Example: VMWare Applications Guest OS VMApp VMMonitor VM Driver Host OS X86 Hardware = Hosted VM

41 Example: AS/400 Application Programs Higher level ISA Allow evolution of hardware ISA OS Virtual Machine Monitor Hardware Source ISA Target ISA = Co-designed VM

42 Taxonomy Examples Process VMs System VMs Same ISA Different ISA Same ISA Different ISA Multiprogrammed Systems UNIX Emulators/ Translators FX!32, WABI Classic-System VMs VM/370 Whole-System VMs ARM VM runtime High-level Language VMs Java VM, MS CLR Hosted VMs VMware, Xen, Docker* Codesigned VMs AS/400