Linux KVM Virtualization Performance
http://hi.baidu.com/weisu_star/blog/item/2ee55597bf75586954fb961d.html
http://www.phoronix.com/scan.php?page=article&item=623&num=1
For only being a release candidate the Linux 2.6.20 kernel has already generated quite a bit of attention. On top of adding asynchronous SCSI scanning, multi-threaded USB probing, and many driver updates, the Linux 2.6.20 kernel will include a full virtualization (not para-virtualization) solution. Kernel-based Virtual Machine (or KVM for short) is a GPL software project that has been developed and sponsored by Qumranet. In this article we are offering a brief overview of the Kernel-based Virtual Machine for Linux as well as offering up in-house performance numbers as we compare KVM to other virtualization solutions such as QEMU Accelerator and Xen. What has been merged into the Linux 2.6.20 kernel is the device driver for managing the virtualization hardware. The other component that comprises KVM is the user-space program, which is a modified version of QEMU. Kernel-based Virtual Machine for Linux uses Intel Virtualization Technology (VT) and AMD Secure Virtual Machine (SVM/AMD-V) for hardware virtualization support. With that said, one of the presented hardware requirements to use KVM is an x86 processor with either of these technologies. The respective technologies are present in the Intel Core series and later, Xeon 5000 series and later, Xeon LV series, and AMD's Socket F and AM2 processors. The Kernel-based Virtual Machine also assigns every virtual machine as a regular Linux process handled by the Linux scheduler by adding a guest mode execution. With the virtual machine being a standard Linux process, all standard process management tools can be used. The KVM kernel component is embedded into Linux 2.6.20-rc1 kernels and newer, but the KVM module can be built on older kernels (2.6.16 to 2.6.19) as well. At this stage, KVM supports Intel hosts, AMD hosts, Linux guests (x86 and x86_64), Windows guests (x86), SMP hosts, and non-live migration of guests. However, still being worked on is optimized MMU virtualization, live migration, and SMP guests. Microsoft Windows x64 does not work with KVM at this time. Whether you are using a kernel with KVM built-in or loading it as a module, the process for setting up and running guest operating systems is quite easy. After setting up an image (qemu-img will work with KVM) and the KVM kernel component loaded, the modified version of QEMU can be used with the standard QEMU arguments to get you running. The hardware requirements to use KVM is an x86/x86_64 processor with AMD or Intel virtualization extensions and at least one Gigabyte of system memory to allow for enough RAM for the guest operating system. For our purposes, we had used two dual-core Intel Xeon LV processors with the Linux 2.6.20-rc3 kernel, which was released on January 1, 2007. Below is the rundown of system components used. The benchmarks we had used for comparing the performance was Gzip compression, LAME compilation, LAME encoding, and RAMspeed. The virtualization environments we had used were QEMU 0.8.2 with the kqemu accelerator module, Xen 3.0.3, and finally KVM. We had also compared these virtualized environments against running Fedora Core 6 Zod without any form of virtualization. During the Xen 3.0.3 testing, we had used full virtualization and not para-virtualization. The image size was set to 10GB during the testing process. The operating system used throughout the entire testing process was Fedora Core 6 Zod. Looking over the virtualization performance results, KVM was not the clear winner in all of the benchmarks. KVM had taken the lead during Gzip compression, but in the other four benchmarks it had stumbled behind Xen 3.0.3. However, both Xen with full virtualization and the Kernel-based Virtual Machine had performed in front of QEMU with the QEMU accelerator in our select benchmarks using dual Intel Xeon LV processors with Intel Virtualization Technology. The benefits of KVM are high performance, stable, no modifications of the guest operating system are necessary, and a great deal of other capabilities (e.g. using the Linux scheduler). Once the Linux 2.6.20 kernel is officially out the door we will proceed with a greater number of KVM benchmarks in various environments including looking at the hardware virtualization performance between AMD and Intel.Hardware Components Processor: 2 x Intel Xeon LV Dual-Core 2.00GHz Motherboard: Tyan Tiger i7520SD S5365 Memory: 2 x 512MB Mushkin ECC Reg DDR2-533 Graphics Card: NVIDIA GeForce FX5200 128MB PCI Hard Drives: Western Digital 160GB SATA2 Optical Drives: Lite-On 16x DVD-ROM Cooling: 2 x Dynatron Socket 479 HSFs Case: SilverStone Lascala LC20 Power Supply: SilverStone Strider 560W Software Components Operating System: Fedora Core 6
Linux KVM与Xen的性能比较
http://hi.baidu.com/hackeryl/blog/item/3b759435982de08ea71e124c.html
介绍
Linux 2.6.20内核的预发行版已经引起很多人的关注. 其中热点包括增加异步SCSI扫描, 多线程USB检测和许多驱动更新,其中最引人关注的是一个全虚拟化的解决方案(非半虚拟化, 不过kvm已经支持半虚拟化, (或简称为KVM)是一个由Qumrannet开发和赞助的开源项目. 本文主要介绍KVM在linux上与其它虚拟技术QEMU Accelerator和Xen的性能比较.
Linux 2.6.20内核部分包含了用于管理虚拟化硬件的设备驱动程序. 其它主件包括kvm用户空间程序, 一个修改过的QEMU版本. linux kvm的硬件虚拟需要Intel虚拟技术(VT, Virtualization Technology)或AMD安全虚拟机(SVM/AMD-V)的支持. 也就是说, kvm使用的x86处理器至少需要包含其中一项虚拟化技术(Intel-VT或AMD-V). 支持运行KVM的CPU包括Intel Core系列, Xeon 5000系列, Xeon LV系列. AMD的Socket F和AM2处理器.
KVM增加了一个新的客户模式, 每一个虚拟机都是一个由linux调度程序管理的标准进程. 这样我们可以使用通常的进程管理工具来管理每一个虚拟机. linux 2.6.20-rc1和最新的内核已经包含了KVM内核主件, 而且我们还也可以在更老的内核(2.6.16到2.6.19)上运行kvm. KVM支持Intel主机, AMD主机, Linux客户机(x86和x86_64), Windows客户机(x86), SMP主机和非动态迁移的客户机. 正在开发的功能包括: MMU虚拟优化, 动态迁移, SMP客户机和Windows x64.
无论你是通过内核内置或者内核模块方式使用kvm, 建立客户操作系统的过程都十分简单. 首先创建好映像文件(qemu-img支持kvm), 然后运行kvm内核主件(内核内置或者内核模块方式).
系统安装
kvm需要运行在至少含有AMD或Intel虚拟技术的x86/x86_64处理器上, 至少1GB系统内存(为客户机准备足够的内存). 我们使用了两个Dual-core双核心Intel Xeon LV处理器, linux 2.6.20-rc3内核(于2007年1月1日发行). 下面是我们的系统状况:
硬件部分:
处理器: 2 x Intel Xeon LV Dual-Core 2.00GHz
主板: Tyan Tiger i7520SD S5365
内存: 2 x 512MB Mushkin ECC Reg DDR2-533
显卡: NVIDIA GeForce FX5200 128MB PCI
硬盘: Western Digital 160GB SATA2
光驱: Lite-On 16x DVD-ROM
冷却部件: 2 x Dynatron Socket 479 HSFs
机箱: SilverStone Lascala LC20
电源: SilverStone Strider 560W
软件部分:
操作系统: Fedora Core 6
我们选用的基准测试包括Gzip压缩, LAME Complication(编译), LAME encoding(编码)和RAMspeed. 我们使用的虚拟环境QEMU .8.2(含kqemu accelerator模块), Xen 3.0.3和KVM. 我们也比较了这些虚拟化环境和没有任何虚拟化技术的Fedora Core 6 Zod. 在Xen 3.0.3测试当中, 我们使用了全虚拟化而不是半虚拟化技术. 测试中使用的映像文件大小为10GB. 整个测试过程使用的操作系统是Fedora Core 6 Zod.
性能
结论
我们看到各个虚拟化性能比较的结果, KVM不是所有测试的获胜者. KVM在Gzip压缩测试中是领先的,但是在其它四个测试中都落后于Xen 3.0.3. 然而, 所有测试中Xen的全虚拟化和KVM都领先于QEMU+kqemu. KVM的优点是高性能, 稳定, 无需修改客户机系统和大量的其它功能(比如. 可使用linux调度器). 在Linux 2.6.20内核正式推出来后, 我们将会做更多的KVM基准测试, 其中会包括比较AMD和Intel的硬件虚拟化性能.
没有评论:
发表评论