虚拟化多核环境下非一致性I/O访问虚拟机资源迁移方法技术

技术编号:13977136 阅读:108 留言:0更新日期:2016-11-11 17:43
本发明专利技术公开了一种基于虚拟化多核环境下的非一致性I/O访问虚拟机资源迁移方法,包括:通过VMM和宿主机内存访问检测获得各虚拟CPU线程的线程内存分布矩阵,并记录在监视模块;通过宿主各内存节点访问延迟数据收集获得线程访问各节点的访问延迟矩阵,并记录在监视模块;当发现某个节点的负载高于某个阈值时,触发本CPU上负载最高的线程标记为需要迁移状态;利用公式得到迁移的目的节点,并实施迁移;迁移结束后将反馈管理模块,取消线程标记,继续监控。本发明专利技术解决了在虚拟化多核环境下的非一致性I/O访问虚拟资源调度问题,使得高性能网络中的物理带宽利用率得到提升。

【技术实现步骤摘要】

本专利技术涉及计算机虚拟化领域,尤其涉及一种虚拟化多核环境下非一致性I/O访问虚拟机资源迁移方法
技术介绍
虚拟化是云计算中的关键技术。虚拟化允许多个计算机系统运行在一个物理计算机上,将物理机的硬件资源(CPU,内存,I/O设备等等)抽象成类似于电力的可按需使用的资源,提供给客户使用。虚拟化技术的使用,极大的减少了小型企业对服务器购买的投入,同时也极大的提高了空闲主机的使用效率,所以虚拟化技术广泛的存在于当今高性能服务器里面,比较有代表性的虚拟化云计算实例有亚马逊的EC2和阿里巴巴的阿里云。虚拟化技术中一个关键组件就是虚拟机监视器(Virtual Machine Management,VMM)。虚拟机监视器负责将主机硬件资源抽象给虚拟机使用,同时还负责虚拟机的管理和虚拟机之间的通信等等。传统的硬件资源包括CPU资源,内存资源和I/O资源等,在非一致性内存访问(Non-Uniform Memory Access,NUMA)的架构下,虚拟化技术主要关注的是提升这些硬件资源虚拟化过后的性能。CPU虚拟化是虚拟化技术的基础之一。CPU的虚拟化技术是一种硬件方案,支持虚拟话技术的CPU使用经过特别优化过的指令集来控制虚拟过程,通过这些指令集,相比纯软件的虚拟化技术,虚拟机的性能可以得到很大程度的提高。QEMU/KVM中提供了一套完整的硬件系统环境,对于客户机看来其所拥有的CPU即VCPU。在KVM环境中,每个客户机都是一个标准的Linux进程,而每个VCPU在宿主机中是QEMU进程派生的一个普通线程,所以对于虚拟机VCPU的管理,实际上就是对于宿主机中特定的线程的管理。现有的主流多核处理器采用的架构是非一致性内存访问(Non-Uniform Memory Access,简称NUMA)架构。NUMA架构的特点是系统的相关硬件资源(如内存、CPU)被划分为多个节点。在NUMA架构里,处理器访问本地节点的内存的速度要比访问远程节点的内存的速度要快。如图2所示的是物理平台的具有4个NUMA节点的NUMA架构服务器的示意图。由于不同位置的处理器(CPU)与各个内存之间的距离不同,且各个处理器之间的距离也不同,因此不同处理器访问各个内存的时间也是不同的。在多核和高速I/O的情境下,现有的调优方法集中体现在非虚拟化情况下的NUMA内存迁移,由于缺乏虚拟化环境下宿主机的相关信息,原有的调优策略在现有的NUMA和高速I/O情境下会失效。因此,本领域的技术人员致力于开发一种虚拟化多核环境下非一致性I/O访问虚拟机资源迁移方法,可以根据各虚拟机的运行状态和资源需求,动态分配虚拟机线程在物理CPU上的分布和资源使用。
技术实现思路
有鉴于现有技术的上述缺陷,本专利技术所要解决的技术问题是在虚拟化非一致性内存访问架构下,当CPU负载过高时,I/O带宽并不能被完全使用,为了充分利用高性能网络中的高带宽,使得宿主机中的虚拟机整体资源利用率达到最高,通过使用物理机节点信息和虚拟机虚拟CPU信息相结合,利用访问延迟推导出最优部署,以提升虚拟机性能和总体带宽利用。使得宿主机中的虚拟机整体资源,特别是I/O资源的利用率达到最高。为了实现上述目的,本专利技术提供了一种基于虚拟化多核环境下的非一致性I/O访问虚拟机资源迁移方法,包括以下步骤:(1)、通过VMM和宿主机内存访问检测获得各虚拟CPU线程的线程内存分布TMT矩阵,并记录在监视模块;(2)、通过宿主机各内存节点访问延迟数据收集获得线程访问各节点的访问延迟DT矩阵,并记录在监视模块;(3)、当发现某个节点的负载高于阈值时,触发本CPU上负载最高的线程标记为需要迁移的状态;(4)、利用公式 T M T [ T ] [ k ] Σ j = 1 n T M T [ T ] [ j ] D T [ T ] [ k ] ≤ T M T [ T ] [ p ] Σ j = 1 n T M T [ T ] [ j ] D T [ T ] [ p ] ]]>得到迁移的目的节点,并实施迁移;迁移结束后将反馈管理模块,取消线程标记,回到步骤(1)继续监控。进一步地,所述阈值为物理CPU使用率高于90%。本方法与现有技术相比,至少具有以下有益的技术效果:1.通过对VCPU资源的合理调度,使得各线程的内存访问效率最大化,平均延迟时间最少,从而使得I/O资源的带宽能够得到充分利用。2.线程动态迁移代价较小,根据公式1可以得到最优的调度结果。以下将结合附图对本专利技术的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本专利技术的目的、特征和效果。附图说明图1为本专利技术的一个较佳实施例的结构示意图;图2为本专利技术的一个较佳实施例的内存节点结构示意图;图3为本专利技术的一个较佳实施例的执行流程示意图。具体实施方式下面结合附图对本专利技术的实施例作详细说明,本实施例在以本专利技术技术方案为前提下进行实施,以下给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围不限于下述的实施例。基于非一致性I/O访问虚拟机VCPU资源迁移方法包括包括以下步骤:步骤1、通过VMM和宿主机获得各线程(VCPU)信息。该信息主要包括:宿主机的处理器结构和宿主机各虚拟机线程对应的在处理器节点的内存分布情况。该数据为动态数据,需要动态获得。其数据如下表所示。所获得的数据即为公式1中TMT矩阵值。节点0节点1节点2节点3…线程1线程2…步骤2、通过宿主机获得处理器各节点间的访问延迟信息。该信息可由Intel Memory Latency Checker获得,并形成以下数据如表2所示。所获得数据即为公式1中DT矩阵。本文档来自技高网
...

【技术保护点】
一种基于虚拟化多核环境下的非一致性I/O访问虚拟机资源迁移方法,其特征在于,包括以下步骤:(1)、通过VMM和宿主机内存访问检测获得各虚拟CPU线程的线程内存分布TMT矩阵,并记录在监视模块;(2)、通过宿主机各内存节点访问延迟数据收集获得线程访问各节点的访问延迟DT矩阵,并记录在监视模块;(3)、当发现某个节点的负载高于阈值时,触发本CPU上负载最高的线程标记为需要迁移的状态;(4)、利用公式TMT[T][k]Σj=1nTMT[T][j]DT[T][k]≤TMT[T][p]Σj=1nTMT[T][j]DT[T][p]]]>得到迁移的目的节点,并实施迁移;迁移结束后将反馈管理模块,取消线程标记,回到步骤(1)继续监控。

【技术特征摘要】
1.一种基于虚拟化多核环境下的非一致性I/O访问虚拟机资源迁移方法,其特征在于,包括以下步骤:(1)、通过VMM和宿主机内存访问检测获得各虚拟CPU线程的线程内存分布TMT矩阵,并记录在监视模块;(2)、通过宿主机各内存节点访问延迟数据收集获得线程访问各节点的访问延迟DT矩阵,并记录在监视模块;(3)、当发现某个节点的负载高于阈值时,触发本CPU上负载最高的线程标记为需要迁移的状态;(4)、利用公式 T M T [ T ] [ k ] Σ j = 1 n T M T [ T ] [ j ] D T [ ...

【专利技术属性】
技术研发人员:管海兵李阳德钱建民马汝辉李健
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海;31

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

1