一种基于KVM混合式设备虚拟化方法技术

技术编号:11269563 阅读:107 留言:0更新日期:2015-04-08 15:58
本发明专利技术公开了一种基于KVM混合式设备虚拟化方法,通过在现有设备虚拟化模型上增加了虚拟机访问I/O路径选择控制器,当需要访问I/O设备的虚拟机数目大于物理机上I/O设备的个数时,虚拟机采用设备模拟I/O虚拟路径访问I/O设备;当需要访问I/O设备的虚拟机数目小于物理机上I/O设备的个数时,虚拟机采用直接I/O虚拟路径访问I/O设备。本发明专利技术降低了虚拟机访问I/O设备的平均时延,同时提高了设备的利用率。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种基于KVM混合式设备虚拟化方法,通过在现有设备虚拟化模型上增加了虚拟机访问I/O路径选择控制器,当需要访问I/O设备的虚拟机数目大于物理机上I/O设备的个数时,虚拟机采用设备模拟I/O虚拟路径访问I/O设备;当需要访问I/O设备的虚拟机数目小于物理机上I/O设备的个数时,虚拟机采用直接I/O虚拟路径访问I/O设备。本专利技术降低了虚拟机访问I/O设备的平均时延,同时提高了设备的利用率。【专利说明】一种基于KVM混合式设备虚拟化方法
本专利技术涉及计算机领域,具体涉及计算机资源虚拟化,适用于解决虚拟机访问物理设备方式的问题。
技术介绍
虚拟化技术是一种将物理平台上不同种类的、分散的物理资源按不同属性进行抽象、重新组合,以逻辑资源的形式呈现给用户的方法。虚拟化技术最早应用于IBM等大型平台机上,由于当时计算机速度慢,资源利用率低,而计算机资源又比较昂贵,人们针对这个问题提出采用分时复用物理资源的办法来提高资源的利用率,这也是虚拟化的最初思想。随着计算机技术的发展,PC机逐渐普及,功能也越来越强大,人们开始关注内存和CPU的利用率问题。对物理内存的抽象,就产生了虚拟内存技术,使得应用程序认为自身拥有连续可用的地址空间,而实际上对应的物理内存可能是不连续的,分段存在的,即使物理内存不足,应用程序也能顺利执行。虚拟CPU是指在一台服务器上同时运行多个操作系统,并且这些系统相互隔离,互不影响。近几年移动业务的高速发展使得运营商之间竞争日趋激烈,如何降低能耗以及提高资源利用率等是各大运营商必须解决的重要问题。针对上述问题,中国移动提出了基于集中式基带处理池、远端无线射频单元和天线组成的协作式无线网络以及基于开放平台的实时云型基础设施的C-RAN架构。集中式基带处理可以减少覆盖同样区域的基站的数量,从而可以降低能耗、减少成本,实现业务和利润的可持续增长。当处理单元被集中在基带池以后,如何实现物理资源到虚拟资源的映射以及提高资源利用率是虚拟化技术需要解决的关键问题。特别是近几年云计算概念的提出以及云计算技术的广泛应用,虚拟化技术再次成为企业界和学术界广泛关心的热门话题。 随着虚拟化技术的发展,CPU与内存虚拟化技术得到了深入地研宄并且性能有了很大的提高。虽然最近几年国内外都在关注I/O设备虚拟化的研宄,但由于物理设备多样性,同一生产厂家的设备种类和设备型号也有所不同,不同通信协议下使用的设备接口标准也不一样,这些都给I/O设备实现虚拟化和性能提升带来了一定的困难。目前硬件平台上,I/O的吞吐量明显增长,I/O设备的性能直接影响整个系统性能的高低。调查显示,在虚拟化系统中,对I/o频繁访问产生的工作负荷远大于因计算产生的负荷,因此提高I/O设备虚拟化的性能是研宄虚拟化技术工作中的一个重要的任务。 目前,针对虚拟化有几种比较典型的产品,如VMware,Xen, KVM等。每种产品下按VMM所处的位置不同,又可以有不同的实现架构,如监控模型(Hypervisor Model)、宿主模型(Host-based Model)和混合模型(Hybrid Model)。目前对KVM研宄的比较多,KVM (Kernel-based Virtual Machine)是一种GPL授权方式的开源虚拟机软件,基于硬件辅助的虚拟化解决方案。与其他虚拟机不同,KVM作为一个独立的内核模块存在于系统内,与Linux结合的很好,使系统内核自身成为一个虚拟机管理程序,降低了虚拟化开发的代码量。KVM能够提供CPU和内存的虚拟化,但它本身没有设备模拟作用,要实现物理设备的虚拟化需要借助于QEMU模拟器,QEMU是由Fabrice Bel Iard所编写的开源模拟处理器软件,能支持多种处理器架构的模拟,包括X86、ARM、P0werPC等。目前基于KVM物理设备虚拟化方法有两种,即设备模拟I/O虚拟化和直接I/O虚拟化方法。这两种设备虚拟化方法均有其优点和缺点,设备模拟I/O虚拟化方法的优点在于它对硬件平台依赖性低,能模拟各种各样的设备,不需要宿主机及KVM虚拟机特殊的技术支持,模拟代码模块兼容性高。缺点是I/O访问路径长,完成一次I/O请求需要KVM模块与KVM虚拟机,KVM模块与QEMU之间多次切换,数据拷贝次数多,使得KVM虚拟机性能下降。直接I/O虚拟化方法克服了上下文切换的缺陷,也缩短了虚拟机访问I/O设备的路径,这种方法下I/O性能几乎与物理情况下相同,但是一台服务器上的主板空间有限,允许添加的PCI和PCIE设备也有限,设备直接分配后,只能固定的被一个虚拟机访问,物理设备的利用率不高。
技术实现思路
针对现有技术的不足,考虑实际应用中,基带池物理设备资源有限,而虚拟机开启的数目波动比较大,本专利技术旨在提出一种基于KVM混合式设备虚拟化方法,以降低虚拟机访问I/O的平均时延,同时提高设备的利用率。 为了实现上述目的,本专利技术采用如下技术方案: 一种基于KVM混合式设备虚拟化系统,包括Linux内核、KVM虚拟机、KVM模块、QEMU模拟代码模块、KVM虚拟机监控器以及设有I/O设备的物理机,另外还设置有虚拟机访问I/O路径选择控制器。 需要说明的是,所述虚拟机访问I/O路径选择控制器是所述虚拟化系统的关键部件,是实现优化KVM虚拟机访问I/O设备虚拟路径的关键手段,其实质上是一种选择开关。 基于上述系统,一种基于KVM混合式设备虚拟化方法,包括如下步骤: S1空闲的I/O设备的集合用E表示,被占用的I/O设备的集合用B表示,被KVM虚拟机以直接I/o虚拟路径访问的I/O设备的集合用B_d表示,被KVM虚拟机以设备模拟1/0虚拟路径访问的I/O设备的集合用B_s表示;记B_d中每个I/O设备还需执行任务的时间为Td,选择出Td〈I^^ I/O设备,组成集合B_p,其中,为任务等待的门限值; S2记每次开启需要访问I/O设备的KVM虚拟机数目为K,而Ne和Nbp则分别表示集合E和集合B_p中元素的个数;虚拟机访问I/O路径选择控制器通过Ne、Nbp和K的关系比较为KVM虚拟机选择最优的I/O虚拟路径访问I/O设备。 需要说明的是,步骤S2的具体步骤包括: 2.1)当Ne> = K时,K个KVM虚拟机均采用直接I/O虚拟路径访问I/O设备; 2.2)当0〈Ne〈K且Nbp+Ne>K时,则根据一定要求的优先级对KVM虚拟机进行排序,分别将前Ne个KVM虚拟机以直接I/O虚拟路径访问I/O设备,其余的Κ-Ne个KVM虚拟机排队等待B_p集合中的I/O设备,有完成处理的I/O设备,则KVM虚拟机就以直接I/O虚拟路径访问该I/O设备;当0〈Ne〈K且Nbp+Ne〈K时,则根据相同要求的优先级对KVM虚拟机进行排序,前Ne个虚拟机以直接I/O虚拟路径访问空闲的I/O设备,剩下的Nbp个虚拟机依次排队等待以直接I/O虚拟路径访问B_p中的I/O设备,最后剩余的KVM虚拟机以设备模拟I/O虚拟路径访问B_s中的I/O设备,并使这些I/O设备上加载的KVM虚拟机均衡; 2.3)当Ne = 0时,则根据与步骤2.2)相同要求的优先级对KVM虚拟机进行排序,前Nbp个KV本文档来自技高网
...
一种基于KVM混合式设备虚拟化方法

【技术保护点】
一种基于KVM混合式设备虚拟化系统,包括Linux内核、KVM虚拟机、KVM模块、QEMU模拟代码模块、KVM虚拟机监控器以及设有I/O设备的物理机,其特征在于,还设置有虚拟机访问I/O路径选择控制器。

【技术特征摘要】

【专利技术属性】
技术研发人员:李兵兵林春黄敏贾琼于海龙
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1