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



Similar documents
System Virtual Machines

Cloud Computing #6 - Virtualization

Virtualization. Pradipta De

Virtualization. Jia Rao Assistant Professor in CS

Full and Para Virtualization

COS 318: Operating Systems. Virtual Machine Monitors

Virtual Machines. COMP 3361: Operating Systems I Winter

Virtual machines and operating systems

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

Virtualization Technology. Zhiming Shen

Virtualization. Jukka K. Nurminen

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

A Unified View of Virtual Machines

Intel Virtualization Technology Overview Yu Ke

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

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

Chapter 5 Cloud Resource Virtualization

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

Virtualization in Linux KVM + QEMU

Virtualization. Types of Interfaces

Platform Virtualization: Model, Challenges and Approaches

Cloud Computing. Dipl.-Wirt.-Inform. Robert Neumann

ARM Virtualization: CPU & MMU Issues

Distributed Systems. Virtualization. Paul Krzyzanowski

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

x86 ISA Modifications to support Virtual Machines

COS 318: Operating Systems. Virtual Machine Monitors

The MIPS architecture and virtualization

Virtualization. Dr. Yingwu Zhu

kvm: Kernel-based Virtual Machine for Linux

Clouds, Virtualization and Security or Look Out Below

Virtualization VMware Inc. All rights reserved

OS Virtualization. CSC 456 Final Presentation Brandon D. Shroyer

x86 Virtualization Hardware Support Pla$orm Virtualiza.on

Virtual Machines. Virtualization

Clouds Under the Covers. Elgazzar - CISC Fall

Cloud Computing CS

Xen and the Art of. Virtualization. Ian Pratt

Nested Virtualization

CS5460: Operating Systems. Lecture: Virtualization 2. Anton Burtsev March, 2013

The Xen of Virtualization

Basics of Virtualisation

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

Jukka Ylitalo Tik TKK, April 24, 2006

Development of Type-2 Hypervisor for MIPS64 Based Systems

Architecture of the Kernel-based Virtual Machine (KVM)

COM 444 Cloud Computing

FRONT FLYLEAF PAGE. This page has been intentionally left blank

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

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

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

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

The Art of Virtualization with Free Software

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

Distributed and Cloud Computing

Implementation of a Purely Hardware-assisted VMM for x86 Architecture

Virtualization for Cloud Computing

Virtualization Concepts And Applications. Yash Jain DA-IICT (DCOM Research Group)

Virtualization. Guillaume Urvoy-Keller UNS

matasano Hardware Virtualization Rootkits Dino A. Dai Zovi

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

Introduction to Virtual Machines

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

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

Brian Walters VMware Virtual Platform. Linux J. 1999, 63es, Article 6 (July 1999).

Hypervisors and Virtual Machines

Cloud Computing. Up until now

GUEST OPERATING SYSTEM BASED PERFORMANCE COMPARISON OF VMWARE AND XEN HYPERVISOR

Virtualization Technologies

Security of Cloud Computing

Introduction to Virtualization & KVM

Hardware Based Virtualization Technologies. Elsie Wahlig Platform Software Architect

Virtual Machines.

Data Centers and Cloud Computing

Hybrid Virtualization The Next Generation of XenLinux

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

Knut Omang Ifi/Oracle 19 Oct, 2015

12. Introduction to Virtual Machines

COS 318: Operating Systems

Compromise-as-a-Service

Virtualization Technology. Zhonghong Ou Data Communications Software Lab, Aalto University

VMkit A lightweight hypervisor library for Barrelfish

Advanced Computer Networks. Network I/O Virtualization

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

Virtual Servers. Virtual machines. Virtualization. Design of IBM s VM. Virtual machine systems can give everyone the OS (and hardware) that they want.

An Introduction to Virtual Machines Implementation and Applications

Cloud Architecture and Virtualisation. Lecture 4 Virtualisation

Securing your Virtual Datacenter. Part 1: Preventing, Mitigating Privilege Escalation

Intel Virtualization Technology and Extensions

Introduction to Virtualization

nanohub.org An Overview of Virtualization Techniques

Analysis of the Intel Pentium s Ability to Support a Secure Virtual Machine Monitor

Virtual Computing and VMWare. Module 4

PROCESSOR VIRTUALIZATION ON EMBEDDED LINUX SYSTEMS

Kernel Virtual Machine

OSes. Arvind Seshadri Mark Luk Ning Qu Adrian Perrig SOSP2007. CyLab of CMU. SecVisor: A Tiny Hypervisor to Provide

Virtualization on x86 platform and KVM

Networked I/O for Virtual Machines

Distributed System Monitoring and Failure Diagnosis using Cooperative Virtual Backdoors

How To Virtualize A Computer System

Transcription:

CS 695 Topics in Virtualization and Cloud Computing More Introduction + Processor Virtualization (source for all images: Virtual Machines: Versatile Platforms for Systems and Processes Morgan Kaufmann; 1 st edition (June 3, 2005)

Process vs. System view of machine ABI application binary interface ISA instruction set architecture

Process Virtual Machine

System Virtual Machine

Virtual Machine Applications

System VM benefits Single application containers---reliability, isolation, security Mixed OS environments (legacy apps) Multi-platform application development Software testing and debugging Version transitioning Event monitoring and checkpointing Record-replay, migration of machines IaaS

Scope of course (revisited) How to provide system-level virtualization? Common problems/approaches Specific techniques/optimizations Assuming VMs exist (and can be flexed)... How to exploit/use them to meet IaaS requirements?

Key VMM responsibilities State management Switch VMs Resource control VM has access to resources when scheduled cpu, memory region etc. VMM owns & controls all resources VMM is required to control/arbitrate hardware resources

Ex.1 : Process virtual memory example

VA to RA conversion Each process provided with a (virtual) linear address space Translation via a system call Number of page tables? When process switches what happens?

Ex.2 : The interval time interval timer OS (privileged) resource Set value to timer (register) when process scheduled Timer ticks to zero (time to deschedule process) Interrupt on regs value zero OS handles interrupt, schedules (new) process How to manage interval timer with VMs? Should OS of VM be able to read/write interval timer? Write Read

Processor Virtualization Different ISAs of guest and host Emulation Binary translation Same ISAs of guest and host Direct native execution In all cases?

Virtualizability properties Popek & Goldberg (1974) VMM should satisfy following properties 1. Efficiency Innocuous instructions natively executed 2. Resource control No direct control on physical resources for guest 3. Equivalence Identical behavior on native and virtual environments Performance and resource availability exceptions

Modes of execution User mode Guest OS VMM Privileged mode (System mode) VMM

Types of instructions Privileged instructions Reduced functionality or no-permissions in user mode Generate trap when executed in user mode E.g., LPSW (load processor status word from memory location) Set CPU mode, PC etc. SPT (set cpu timer) LRA (load real address) POPF (pop stack into eflags register)

Types of instructions What should be condition on guest VMs?

Does this satisfy G&P conditions?

Does this satisfy G&P conditions? Theorem 1: VMM can be constructed if, sensitive subset of priviliged Theorem 2: VMM is virtualizable VMM w/o timing dependencies

What about problem cases? Sensitive but unprivileged instructions Critical instructions 1. popf, pushf no-op for interrupt enable/disable in user mode sensitive instruction 2. %cs register Expose CPL to process (Guest OS in ring 3) 3. lar, lsl Load access rights, load segment limits Answer depends on privilege level Guest OS is at ring 3! Instruction execution depends on mode/ring# and do not trap on execution

Handling Criticial instructions Scan and patch Paravirtualization Replace criticial instructions with new 'safe' versions New ISA exported by VMM Guest OS needs to re-implement/re-compile Hardware-assisted virtualization AMD-V, VT-X Root and non-root modes Configure exit conditions (more on this in the kvm discussion)

Resource virtualization - Memory What do Guest VMs expect? A linear memory address space Real addressable area, staring from 0x00000000 Memory for processes Virtual memory (and paging)

Paging on Native Systems cr3 page directory page table page

Paging on Native Systems source: Understanding the Linux kernel, O'Reilly Publication

Resource virtualization - Memory What do Guest VMs expect? A linear memory address space Real addressable area, staring from 0x00000000 Memory for processes Virtual memory (and paging) How to virtualize memory to meet these requirements?

Terminology guest virtual address gfn : guest frame number pseudo-physical address pfn : physical frame number machine address mfn : machine frame number

(Two-level) translation Virtual address of process in guest VM needs a real physical address Guest virtual address v2p Pseudo-physical address p2m Machine address Guest OS VMM

Direct Mapping source: Selective Hardware/Software Memory Virtualization, VEE 2011

Shadow Paging source: Selective Hardware/Software Memory Virtualization, VEE 2011

Hardware-assisted source: Selective Hardware/Software Memory Virtualization, VEE 2011

Memory virtualization performance (1) source: Selective Hardware/Software Memory Virtualization, VEE 2011

Memory virtualization performance (2) source: Selective Hardware/Software Memory Virtualization, VEE 2011

What about the TLB? Translation lookaside buffer v2m mapping in cache When is TLB flushed? Virtualizing the TLB

Next class [kvm] Next week [kvm] [xen]