原文来自:http://developer.novell.com/wiki/index.php/AlacrityVM
Novell: 新的虚拟化解决方案 AlacrityVM
KVM(Kernel-based Virtual Machine) 基于内核的虚拟机,是基于X86 架构(Intel 或AMD )的Linux 平台上一种全虚拟化的解决方案,它包含了各种虚拟化扩展。KVM 主要由可加载的内核模块kvm.ko 构成,这个模块提供了核心的虚拟化架构以及处理器所特定的模块,如kvm-intel.ko,kvm-amd.ko 。KVM 也要求有一个可以修改的QEMU ,而不仅是一些上游的改进。
使用KVM 可以通过Linux 或者Windows 镜像同时运行多个虚拟机。每一个虚拟机都会有自己的虚拟化硬件,例如网卡,磁盘,显卡等等。
KVM 的核心组件被包含在主流的Linux 内核中,如2.6.20 。
AlacrityVM 是一个基于Linux KVM 的系统管理程序,而Linux KVM 的主要目的是为了构建一个高性能的虚拟机,这个虚拟机可以是数据处理中心的高性能计算机(HPC) 或实时系统(RT) 。AlacrityVM 通过应用一些新的高性能IO 结构( 通常称为虚拟总线) 来解决各种各样的瓶颈问题,通常这些应用瓶颈会使得虚拟化技术在很多的应用领域被拒之门外。
高性能计算机和实时系统需要有高性能的基础架构,才能使它们工作在最佳或者说是登峰造极状态。通常在可以接受的范围内,解决虚拟化问题的障碍在于执行的环境和真实环境差异太大,甚至起伏不定。现在越来越流行的分布式计算,比如云计算模型和数据处理中心,虚拟化都占据了工作量的主导地位。没有了虚拟化平台,要迎合HPC/RT 方面更高端的需求, 大量的工作就要转移给其他特定的IT 基础设施。
AlacityVM 用虚拟总线架构作为基础,可以更加直接的使用系统资源。这就充分的减少了延时并增加数据吞吐量,同时也提供了一种使得客户端和主机某些状态更加紧密联系,比如实时优先级状态。
AlacrityVM 是一项开源的工程,目前还处于开发的初级阶段。正因为它基于KVM 而来, 所以它可以支持所有上层KVM 工程的所有基本特征。另外,它有一套业务设计包含了基本的系统管理程序,Linux 客户端支持和网路加速,并且还将继续扩展使其包含其他一些重要内容,比如disk-io 加速,IPC ,real-time 扩展,MS Windows 客户端加速支持。
AlacrityVM 还处于测试阶段,但是在Linux 客户端网络加速方面取得了成效,这是已经通过了概念验证的。我们也用它和其他基于KVM 的IO 结构方案对比,产生了一组数据,证明了它的低延时和高吞吐量。
测试环境:
测试结果如下: