17
Optimizing Virtual Machines Using Hybrid Virtualization Qian Lin Shanghai Jiao Tong University SAC 2011 -- OS track

Optimizing Virtual Machines Using Hybrid Virtualization

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Optimizing Virtual Machines Using Hybrid Virtualization

Optimizing Virtual Machines Using Hybrid Virtualization

Qian LinShanghai Jiao Tong University

SAC 2011 -- OS track

Page 2: Optimizing Virtual Machines Using Hybrid Virtualization

Agenda

Background: system virtualization

Motivation

Design and optimization

Evaluation

Summary

Page 3: Optimizing Virtual Machines Using Hybrid Virtualization

Background: system virtualization

Goal: consolidate and maximize H/W platform resources

Way: multiple VMs run concurrently on a single machine

Page 4: Optimizing Virtual Machines Using Hybrid Virtualization

Motivation

Current virtualization types

Software-only full virtualization Dynamic binary translation technique For cross-platform development and debug only

H/W assisted full virtualization Leverage H/W virtualization extension of CPU architecture Superior in CPU and memory virtualization, but not in I/O

Paravirtualization Ring compression → compromised strategy Exist much overhead in the execution of system call Efficient in I/O event handling

Page 5: Optimizing Virtual Machines Using Hybrid Virtualization

Motivation (cont.)

Reduce overhead incurred by virtualization

Optimize to reduce the execution redundancy

Hybrid approach to merge advantages

64-bit HVM is at par or faster than 64-bit PVM

Paravirtualization is helpful for enhancing HVM Simplicity, performance, efficiency, scalability, correctness

Page 6: Optimizing Virtual Machines Using Hybrid Virtualization

Design

Type I: Hybrid PVM

Port paravirtualized OS

into HVM container

Add HAP support

Type II: Hybrid HVM

Local optimize HVM

using PV strategy

Import PV components

Common design goal: Run paravirtualized OS in the HVM container.

Page 7: Optimizing Virtual Machines Using Hybrid Virtualization

VM optimization (1)

Abridge the system call path

PVM: Kernel/User space share the same ring

Hybrid VM: Rings are assigned normally

Page 8: Optimizing Virtual Machines Using Hybrid Virtualization

VM optimization (2)

Shadow page table → complex and dull

Page 9: Optimizing Virtual Machines Using Hybrid Virtualization

VM optimization (2)

H/W assisted paging → accelerated!

Page 10: Optimizing Virtual Machines Using Hybrid Virtualization

VM optimization (3)

Local APIC is not used by Hybrid VM Linux

EOI (End of Interrupt) does not cause VM exit.

Use Xen API (event channel)

MSI/MSI-X handling is paravirtualized in Hybrid VM

MSI Mask/Unmask does not cause VM exit

No changes are made to device drivers

I/O intensive loads expose those virtualization overheads

About 12K interrupts/per sec. (per VCPU) with 10 GbE

CPU utilization is >3% higher per VCPU on ordinary HVM

Linux

As number of VCPUs increases, overhead increases

Page 11: Optimizing Virtual Machines Using Hybrid Virtualization

Micro performance (1)

LMBench - Processor

Overhead contributed by fundamental

operations

Factor: system call

Page 12: Optimizing Virtual Machines Using Hybrid Virtualization

Micro performance (2)

LMBench - Context switch

Inter processes, kernel/user mode, interrupt

Factor: address translation, TLB flush

Page 13: Optimizing Virtual Machines Using Hybrid Virtualization

Micro performance (3)

LMBench - Local communication latency

Response time of I/O request

Factor: address translation

Page 14: Optimizing Virtual Machines Using Hybrid Virtualization

Macro performance: CPU intensive

Kernel compile benchmark

Factor: system call, context switch, address translation

Page 15: Optimizing Virtual Machines Using Hybrid Virtualization

Macro performance: I/O intensive

CPU utilization within Ethernet workload

Factor: interrupt handling

Page 16: Optimizing Virtual Machines Using Hybrid Virtualization

Summary

Minimize virtualization overheads and utilize new/advanced H/W features in VMs as much as possible for cloud computing

Take both superiority of H/W assisted virtualization and paravirtualization

Open source implementation of prototype

Also release to the Xen community

Page 17: Optimizing Virtual Machines Using Hybrid Virtualization

Thank you!

Trusted Computing Group @ SJTU

http://202.120.40.124/index.php/Project_TC