【技术实现步骤摘要】
基于NUMA架构的虚拟机迁移方法及系统
本专利技术涉及计算机
,特别涉及一种基于NUMA架构的虚拟机迁移方法及系统。
技术介绍
在计算机技术中,虚拟化技术是将物理的计算资源,诸如CPU、内存、网络和存储器等加以抽象,使得用户能够更合理地使用这些资源的一项技术。现已被广泛运用于互联网服务、云计算等一些场景。早期的计算机采用SMP结构(SymmetricMulti-Processing,对称多处理结构),即是所有的内存为所有的CPU共享,每个CPU都可以任意地访问内存的任意地址。然而,随着硬件的发展,特别是随着CPU核心数量的增多,现有的SMP结构容易带来访存冲突,也就是说,不同的CPU同时访问同一块内存导致总线冲突,访问请求被延迟这一现象越来明显。于是,在高性能计算中,多核心的计算机往往不采用SMP结构而采用NUMA架构(NonUniformMemoryAccessArchitecture,非统一内存访问):机器的CPU和存储器可被分为若干个节点,每个节点由若干个CPU和一块存储单元组成。CPU访问本地的存储器成为本地访存,访问远端的存储器成为远端访存,远端访存通过CPU和CPU直接的电路通信。这样,便避免了总线冲突带来的性能开销。然而,却带来了内存的访存速度不平衡的问题:远端访存的开销要远大于本地范存的开销。这也直接造成了在NUMA架构下常规的虚拟化技术的性能问题。由于虚拟机监视器需要把底层硬件为虚拟机隐藏,虚拟机得到的存储器通常只是一块连续的线性地址,并不了解其具体位于哪个节点。其得到的VCPU(虚拟CPU)也并没有标识当前运行在哪一个物理节点上。 ...
【技术保护点】
一种基于NUMA架构的虚拟机迁移方法,其特征在于,包括: (1)获取待迁移虚拟机的配置信息,并根据待迁移虚拟机已使用的内存页、虚拟机寄存器中的内容和I/O设备状态生成临时文件; (2)关闭待迁移虚拟机; (3)获取目标主机上所有物理节点的节点信息,并根据所述的节点信息和迁移指令判断目标主机是否存在目标节点: 若存在,则根据所述的临时文件和配置信息,将待迁移虚拟机迁移至目标节点; 否则,发送错误报告。
【技术特征摘要】
1.一种基于NUMA架构的虚拟机迁移方法,其特征在于,包括以下步骤:(1)获取待迁移虚拟机的配置信息,并根据待迁移虚拟机已使用的内存页、虚拟机寄存器中的内容和I/O设备状态生成临时文件;(2)关闭待迁移虚拟机;(3)获取目标主机上所有物理节点的节点信息,并根据所述的节点信息和迁移指令判断目标主机是否存在目标节点:若存在,则根据所述的临时文件和配置信息,将待迁移虚拟机迁移至目标节点;否则,发送错误报告;所述步骤(3)中通过以下步骤将待迁移虚拟机迁移至目标节点:(S1)根据配置信息在目标节点上构建虚拟机,恢复虚拟机的寄存器的内容、I/O设备状态和页表,并将页表中对应于已使用的内存页的页表项标记为缺页;(S2)启动构建的虚拟机,并根据临时文件中已使用的内存页恢复该虚拟机的内存,并取消对应页表项的缺页标记。2.如权利要求1所述的基于NUMA架构的虚拟机迁移方法,其特征在于,所述的配置信息包括待迁移虚拟机的总内存、VCPU的个数和I/O设备信息。3.如权利要求2所述的基于NUMA架构的虚拟机迁移方法,其特征在于,所述步骤(1)中通过以下步骤生成临时文件:(1-1)将待迁移虚拟机已使用的内存页转存到临时文件,且在转存过程,标记新产生的脏页;(1-2)统计脏页的数量,并与设定的阈值进行比较:若脏页的数量小于设定阈值,则暂停待迁移虚拟机,并将待迁移虚拟机寄存器中的内容和I/O设备状态、所有脏页转存至临时文件中;否则,返回对标记为脏页继续执行步骤(1-1)。4.如权利要求3所述的基于NUMA架构的虚拟机迁移方法,其特征在于,所述的阈值为待迁移虚拟机的总内存的页数的1%~10%。5.如权利要求4所述的基于NUMA架构的虚拟机迁移方法,其特征在于,所述的节点信息包括物理节点的总内存大小和已使用的内存大小,以及该物理节点上物理CPU的个数和各个物理CPU在设定的时间段内的运行时间。6.如权利要求5所述的基于NUMA架构的虚拟机迁移方法,其特征在于,所述步骤(3)通过以下步骤确定目标主机是否存在目标节点:(3-1)根据以下公式计算目标主机上各个物理节点的负载均衡度Ld:其中,为设定时间段内该物理节点上第i个CPU的运行时间,ttotal为设定时间段的时长,n为该物理节点上的物理CPU个数,Mused为该物理节点已使用内存大小,Mtotal为该物理节点的总内存大小;(3-2)按照负载均衡度从小到大的顺序,依次判断各个物理节点的内存是否大于或等于虚拟节点所需要的内存:若大于或等于虚拟节点所需要的内存,则将该物理节点作为候选节点,并继续判断下一个物理节点;否则,直接判断下一个物理节点;(3-3)直至候选节点的个数等于目标节点数或所有物理节点均判断完成时停止:(a)若停止后得到的候选节点的个数等于目标节点数,则比较所有候选节点的物理CPU的总个数与待迁移虚拟机的VCPU的总个数:若所有候选节点的物理CPU的总个数大于或等于待迁移虚拟机的VCPU的总个数,则认为存在目标节点,并以候选节点作为目标节点;否则,认...
【专利技术属性】
技术研发人员:左起同,王备,陈建海,何钦铭,黄步添,
申请(专利权)人:浙江大学,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。