KVM as a Microsoft-compatible hypervisor.



Similar documents
Cooperation of Operating Systems with Hyper-V. Bartek Nowierski Software Development Engineer, Hyper-V Microsoft Corporation

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

Windows Server Virtualization & The Windows Hypervisor

Memory Forensics with Hyper-V Virtual Machines.

Virtualization. Pradipta De

Performance monitoring with Intel Architecture

Windows Server Virtualization & The Windows Hypervisor. Background and Architecture Reference

Compromise-as-a-Service

Virtualization with Windows

HyperV_Mon 3.0. Hyper-V Overhead. Introduction. A Free tool from TMurgent Technologies. Version 3.0

The Microsoft Windows Hypervisor High Level Architecture

HyperV_Mon. Introduction. A Free Tool From TMurgent Technologies

Virtualization Technologies

NoHype: Virtualized Cloud Infrastructure without the Virtualization

Virtualization. Jia Rao Assistant Professor in CS

IOS110. Virtualization 5/27/2014 1

Full and Para Virtualization

Oracle Database 10g Performance on Windows Server 2008 Hyper-V Virtual Machine. By: Gary W Parker Performance Tuning Corporation

Architecture of the Kernel-based Virtual Machine (KVM)

Intel Ethernet and Configuring Single Root I/O Virtualization (SR-IOV) on Microsoft* Windows* Server 2012 Hyper-V. Technical Brief v1.

RUNNING vtvax FOR WINDOWS

Distributed Systems. Virtualization. Paul Krzyzanowski

IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft Hyper-V Server Agent Version Fix Pack 2.

Nested Virtualization

ELI: Bare-Metal Performance for I/O Virtualization

Ring 0 to Ring -1 Attacks

matasano Hardware Virtualization Rootkits Dino A. Dai Zovi

Intro to Virtualization

Maximizing SQL Server Virtualization Performance

KVM in Embedded Requirements, Experiences, Open Challenges

IOmark Suite. Benchmarking Storage with Applica4on Workloads August, Evaluator Group, Inc.

Hypervisor Software and Virtual Machines. Professor Howard Burpee SMCC Computer Technology Dept.

Virtualization System Vulnerability Discovery Framework. Speaker: Qinghao Tang Title:360 Marvel Team Leader

VIRTUALIZATION 101. Brainstorm Conference 2013 PRESENTER INTRODUCTIONS

CPU performance monitoring using the Time-Stamp Counter register

Monitoring Microsoft Hyper-V. eg Enterprise v6.0

Enabling Intel Virtualization Technology Features and Benefits

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

Chapter 14 Virtual Machines

A Superior Hardware Platform for Server Virtualization

Two drivers soon followed utils, timesource. Initial location in the kernel tree: drivers/staging/hv/ Total number of lines of code: About 21,000

KVM, OpenStack, and the Open Cloud

Intel Virtualization Technology

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

CHOOSING THE RIGHT RED HAT ENTERPRISE LINUX SUBSCRIPTION. Gerry Riveros Senior Manager Server Solutions, Red Hat May 6, 2011

Microsoft Hyper-V chose a Primary Server Virtualization Platform

Dell Solutions Overview Guide for Microsoft Hyper-V

Database Virtualization

Operating Systems Virtualization mechanisms

Virtualization and the U2 Databases

Intel Virtualization Technology Overview Yu Ke

Hypervisors and Virtual Machines

SQL Server Virtualization

KVM: Kernel-based Virtualization Driver

Intel Virtualization Technology FlexMigration Application Note

Intel 64 Architecture x2apic Specification

How To Save Power On A Server With A Power Management System On A Vsphere Vsphee V (Vsphere) Vspheer (Vpower) (Vesphere) (Vmware

2) Xen Hypervisor 3) UEC

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

Virtualization in the ARMv7 Architecture Lecture for the Embedded Systems Course CSD, University of Crete (May 20, 2014)

Hyper-V Networking. Aidan Finn

RED HAT ENTERPRISE VIRTUALIZATION & CLOUD COMPUTING

Windows Server 2012 Hyper-V Virtual Switch Extension Software UNIVERGE PF1000 Overview. IT Network Global Solutions Division UNIVERGE Support Center

Enhancing Hypervisor and Cloud Solutions Using Embedded Linux Iisko Lappalainen MontaVista

GUEST OPERATING SYSTEM BASED PERFORMANCE COMPARISON OF VMWARE AND XEN HYPERVISOR

Microsoft Windows Common Criteria Evaluation

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

CSE 501 Monday, September 09, 2013 Kevin Cleary

BHyVe. BSD Hypervisor. Neel Natu Peter Grehan

Real-time KVM from the ground up

Supported File Systems

Paragon Protect & Restore

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

A Hypervisor IPS based on Hardware assisted Virtualization Technology

Attacking Hypervisors via Firmware and Hardware

Microsoft Hyper-V Performance Tuning

Introduction to Per Core Licensing and Basic Definitions

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

Kernel Virtual Machine

Large-scale performance monitoring framework for cloud monitoring. Live Trace Reading and Processing

Lecture 2 Cloud Computing & Virtualization. Cloud Application Development (SE808, School of Software, Sun Yat-Sen University) Yabo (Arber) Xu

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

Windows Server R2 Hyper-V. Microsoft's Hypervisor. Insiders Guide to. Wiley Publishing, Inc. John Kelbley. Mike Sterling WILEY

Nested Virtualization

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

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

Virtual machine CPU monitoring with Kernel Tracing

Installation Guide. Step-by-Step Guide for clustering Hyper-V virtual machines with Sanbolic s Kayo FS. Table of Contents

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

Hybrid-Virtualization Enhanced Virtualization for Linux*

Best Practices for SAP on Hyper-V

Microsoft Windows Common Criteria Evaluation

Intel Vanderpool Technology for IA-32 Processors (VT-x) Preliminary Specification

Hardware accelerated Virtualization in the ARM Cortex Processors

Windows Server 2008 R2 Hyper V. Public FAQ

and Linux Virtualization Solutions

Transcription:

KVM as a Microsoft-compatible hypervisor. Vadim Rozenfeld <vrozenfe@redhat.com> KVM Forum, 2012 1

Agenda Microsoft Enlightenment KVM as a conformant hypervisor Performance Improvments 2

Microsoft Enlightenment An optimization to a guest operating system to make it aware of VM environments and tune its behavior for VMs. Enlightenments help to reduce the cost of certain operating system functions such as memory management. Enlightenments are accessed through the hypercall interface. Enlightened I/O can utilize the VMBus directly, bypassing any device emulation layer. An operating system that takes advantage of all possible enlightenments is said to be fully enlightened. http://msdn.microsoft.com/en-us/library/cc768527%28v=bts.10%29.aspx 3

Supported Windows Operating Systems Windows Vista Windows Server 2008 Windows 7 Windows Server 2008 R2 Windows 8 Windows Server 2012 4

Conformant Hypervisor Minimal HV#1 Interfaces CPUID leaves 0x40000000-0x40000005 Hypervisor synthetic MSRs HV_X64_MSR_GUEST_OS_ID HV_X64_MSR_HYPERCALL HV_X64_MSR_VP_INDEX 5

The Hypercall Environment Check that hypevisor is present Determine Hypervisor version Capabilities Implementation recommendations Report the guest OS' identity Setup and enable the hypercall page 6

Hypercall page No hypercalls Hypercall Page With hypercalls RET MOV EDX, 0 MOV EAX, 2 Hypercall Page int kvm_emulate_hypercall(struct kvm_vcpu *vcpu) { unsigned long nr, a0, a1, a2, a3, ret; int r = 1; if (kvm_hv_hypercall_enabled(vcpu->kvm)) return kvm_hv_hypercall(vcpu); RET VM(M)CALL 7

Partition Reference Time Enlightenment hv_reftime Guest: Windows 7 Windows 7 SP1 Windows Server 2008 R2 Windows Server 2008 R2 SP1 8

(Ke)QueryPerformanceCounter System time sources: HPET PM Timer itsc Reference Time 9

Invariant TSC Host: Constant rate TSC HV_X64_MSR_REFERENCE_TSC MSR allows mapping the reference TSC page Guest: RDTSC as a system time source TSC reference Page uint64_t TscOffset; uint64_t TscScale; uint32_t Res; uint32_t TscSequence; 10

Reference Time Enlightenment as the fallback mechanism. Host: System without invariant TSC HV_X64_MSR_TIME_REF_COUNT MSR 11

Guest Spin locks hv_spinlocks=xxx HvNotifyLongSpinWait hypercall Guest: used by a guest OS to notify the hypervisor that the calling virtual processor is attempting to acquire a resource that is potentially held by another virtual processor within the same partition. Host: hypervisor indicates to the guest OS the number of times a spinlock acquisition should be attempted before indicating an excessive spin situation to the hypervisor 12

Guest Spin locks (KfAcquireSpinLock) Pause-Loop Exiting spin_lock: attempt lock_acquire; if fail { if(!spin_wait_count--) { HvNotifyLongSpinWait } PAUSE; jmp spin_lock; } 13

Local APIC Virtualization hv_vapic KVM provides accelerated MSR access to high usage memory mapped APIC registers. HV_X64_MSR_EOI Accesses the APIC EOI HV_X64_MSR_ICR Accesses the APIC ICR HV_X64_MSR_TPR Access the APIC TPR APIC Assist Page 14

Relaxed Timing hv_relaxed Caused by: Heavy loaded. Interrupt delivery delays. 15

IoMeter 2K 4K 8K 16K 32K 64K Enlgh 2.31 1.94 1.50 1.01 0.80 0.68 kvm 3.34 2.95 2.45 1.94 1.20 0.88 2K 4K 8K 16K 32K 64K Enlgh 12.80 21.87 43.69 47.46 66.38 75.21 kvm 10.51 18.28 29.64 42.50 55.49 72.52 16

Windows Performance Toolkit xbootmgr 17

Viostor (virtio-blk) ISR and DPC performance DPC ISR 18

Microsoft Hyper-V Virtual Machine Bus Third party virtualization solutions must not claim support for the Microsoft HyperV Virtual Machine Bus (VMBus) device in the virtual BIOS ACPI namespace. DefinitionBlock ("DSDT.aml", "DSDT", 1, "MSFTVM", "MSFTVM02", 0x00000002) Scope (\_SB.PCI0.SBRG) { Device (VMBS) { Name (STA, 0x0F) Name (_HID, "VMBus") Name (_DDN, "VMBUS")........ } } 19

Resources: Hypervisor Top-Level Functional Specification 2.0A: Windows Server 2008 R2 http://www.microsoft.com/en-us/download/details.aspx?id=18673 Requirements for Implementing the Microsoft Hypervisor Interface http://msdn.microsoft.com/library/windows/hardware/hh975392 20