CN104216784A - 热点均衡控制方法及相关装置 - Google Patents
热点均衡控制方法及相关装置 Download PDFInfo
- Publication number
- CN104216784A CN104216784A CN201410421153.3A CN201410421153A CN104216784A CN 104216784 A CN104216784 A CN 104216784A CN 201410421153 A CN201410421153 A CN 201410421153A CN 104216784 A CN104216784 A CN 104216784A
- Authority
- CN
- China
- Prior art keywords
- page
- visited
- virtual machine
- physics
- focus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
本发明实施例公开了热点均衡控制方法及相关装置。上述方法包括:建立当前最热节点集;预测所述当前最热节点集中各物理NUMA节点的待访问热点内存页;确定最热虚拟机;将所述最热虚拟机对应的待访问热点内存页迁移至空闲物理NUMA节点。可见,在本发明实施例中,预测了物理机上的待访问热点内存页,并对最热虚拟机拥有的待访问热点内存页进行迁移。预测出的待访问热点内存页是未来可能被频繁访问的内存页,对其进行迁移后,可在一定程度上降低未来某NUMA节点过热出现的概率,实现热点均衡控制。
Description
技术领域
本发明涉及通信技术领域,具体涉及热点均衡控制方法及相关装置。
背景技术
随着虚拟化、云计算的发展,非一致性内存架构(Non-uniformMemory Architecture,NUMA)的物理机(物理服务器)上广泛部署了虚拟机。
在基于NUMA架构的物理机中,包含多个物理处理器和多个内存。上述多个物理处理器和多个内存可被划分为多个组(也可称为物理NUMA节点)。物理NUMA节点上会运行一台或多台虚拟机。
在实施本发明创造中,发明人发现,由于虚拟机运行的业务需要频繁访问(主要是写操作)等原因,物理NUMA节点内存中的某些内存页会被频繁访问、使用,造成该NUMA节点过热。可将被频繁访问的内存页,尤其是被频繁写操作的内存页称为热点内存页。
现有技术中是将虚拟机迁移到其他物理NUMA节点,并在迁移过程中,首先迁移使用率最高的内存页。但这种迁移方案未考虑热点内存页的未来不确定性:当前被频繁访问的内存页,有可能不久之后将不再被频繁访问。这样,即使从NUMA节点上迁移出了当前被频繁访问的内存页,但未来该NUMA节点可能依然过热。
发明内容
本发明实施例的目的在于提供热点均衡控制方法及相关装置,以解决即使从物理NUMA节点上迁移出了当前被频繁访问的内存页,但未来该NUMA节点可能依然过热的问题。
本发明实施例提供如下技术方案:
根据本发明实施例的第一方面,提供一种热点均衡控制方法,包括:
建立当前最热节点集;所述当前最热节点集中的物理非一致性内存架构NUMA节点的内存负载不小于负载阈值;
预测所述当前最热节点集中各物理NUMA节点的待访问热点内存页;所述待访问热点内存页为未来访问频率将超过访问频率阈值的内存页;
确定最热虚拟机,所述最热虚拟机为拥有所述待访问热点内存页最多的虚拟机,或者,所述最热虚拟机为拥有所述待访问热点内存页的各虚拟机中负载最高的虚拟机;
将所述最热虚拟机拥有的所述待访问热点内存页迁移至空闲物理NUMA节点。
结合第一方面,在第一种可能的实现方式中,所述预测所述当前最热节点集中所有物理NUMA节点的待访问热点内存页包括:建立所述当前最热节点集中每一物理NUMA节点的待访问内存页集合,所述待访问内存页集合包含待访问热点内存页;对所有待访问内存页集合中的待访问热点内存页进行合并,得到待访问内存页总集合。
结合第一方面第一种可能的实现方式,在第二种可能的实现方式中,所述建立所述当前最热节点集中每一物理NUMA节点的待访问内存页集合包括:针对所述每一物理NUMA节点建立已访问内存页集合;从每一所述已访问内存页集合中,剔除共享内存页以及访问频率权重小于权重阈值的已访问内存页,得到内存页高权集合;使用每一所述内存页高权集合从多种预测模型中选择出相应的最佳预测模型;其中,任一所述预测模型表征一种或多种内存页之间的关联关系;所述最佳预测模型表征的各种关联关系能够将所述内存页高权集合中访问频率权重最高的已访问内存页,与其他不少于B的已访问内存页关联起来;所述B为预设页数;使用每一所述最佳预测模型从指定集合中筛选出内存页,筛选出的内存页构成相应物理NUMA节点的待访问内存页集合;所述指定集合至少包含相应物理NUMA节点所对应的已访问内存页集合中的已访问内存页。
结合第一方面第一种可能的实现方式或第二种可能的实现方式,在第三种可能的实现方式中,所述对所有待访问内存页集合中的待访问热点内存页进行合并,得到待访问内存页总集合包括:对所述当前最热节点集中每一物理NUMA节点的待访问内存页集合进行扩展,得到扩展后的待访问内存页集合;合并所有扩展后的待访问内存页集合,得到所述待访问内存页总集合。
结合第一方面至第一方面第三种可能的实现方式,在第四种可能的实现方式中,在确定最热虚拟机之后,将所述最热虚拟机对应的待访问热点内存页迁移至空闲物理NUMA节点之前,还包括:制定多种迁移方式;任一所述迁移方式指示所述最热虚拟机,所述最热虚拟机的待访问热点内存页欲迁移至的空闲物理NMUA节点,以及,当前存储有所述最热虚拟机的待访问热点内存页的各物理NUMA节点,向所述空闲物理NUMA节点所迁移的内存页;计算按不同的迁移方式迁移所述最热虚拟机的待访问热点内存页的迁移开销;所述将所述最热虚拟机对应的待访问热点内存页迁移至空闲物理NUMA节点包括:按迁移开销最低的迁移方式进行迁移。
根据本发明实施例的第二方面,提供一种宿主机,包括:
最热节点集建立单元,用于建立当前最热节点集;所述当前最热节点集中的物理非一致性内存架构NUMA节点的内存负载不小于负载阈值;
内存分布预测单元,用于预测所述当前最热节点集中各物理NUMA节点的待访问热点内存页;所述待访问热点内存页为未来访问频率将超过访问频率阈值的内存页;
最热虚拟机确定单元,用于确定最热虚拟机,所述最热虚拟机为拥有所述待访问热点内存页最多的虚拟机,或者,所述最热虚拟机为拥有所述待访问热点内存页的各虚拟机中负载最高的虚拟机;
迁移单元,用于将所述最热虚拟机拥有的所述待访问热点内存页迁移至空闲物理NUMA节点。
结合第二方面,在第一种可能的实现方式中,在所述预测所述当前最热节点集中所有物理NUMA节点待访问热点内存页的方面,所述内存分布预测单元用于:建立所述当前最热节点集中每一物理NUMA节点的待访问内存页集合,所述待访问内存页集合包含待访问热点内存页;对所有待访问内存页集合中的待访问热点内存页进行合并,得到待访问内存页总集合。
结合第二方面第一种可能的实现方式,在第二种可能的实现方式中,在所述建立所述当前最热节点集中每一物理NUMA节点的待访问内存页集合的方面,所述内存分布预测单元用于:针对所述每一物理NUMA节点建立已访问内存页集合;从每一所述已访问内存页集合中,剔除共享内存页以及访问频率权重小于权重阈值的已访问内存页,得到内存页高权集合;使用每一所述内存页高权集合从多种预测模型中选择出相应的最佳预测模型;其中,任一所述预测模型表征一种或多种内存页之间的关联关系;所述最佳预测模型表征的各种关联关系能够将所述内存页高权集合中访问频率权重最高的已访问内存页,与其他不少于B的已访问内存页关联起来;所述B为预设页数;使用每一所述最佳预测模型从指定集合中筛选出内存页,筛选出的内存页构成相应物理NUMA节点的待访问内存页集合;所述指定集合至少包含相应物理NUMA节点所对应的已访问内存页集合中的已访问内存页。
结合第二方面第一种或第二种可能的实现方式,在第三种可能的实现方式中,在所述对所有待访问内存页集合中的待访问热点内存页进行合并,得到待访问内存页总集合的方面,所述内存分布预测单元用于:对所述当前最热节点集中每一物理NUMA节点的待访问内存页集合进行扩展,得到扩展后的待访问内存页集合;合并所有扩展后的待访问内存页集合,得到所述待访问内存页总集合。
结合第二方面至第二方面第三种可能的实现方式,在第四种可能的实现方式中,还包括:迁移方式制定单元,用于制定多种迁移方式;任一所述迁移方式指示所述最热虚拟机,所述最热虚拟机的待访问热点内存页欲迁移至的空闲物理NMUA节点,以及,当前存储有所述最热虚拟机的待访问热点内存页的各物理NUMA节点,向所述空闲物理NUMA节点所迁移的内存页;迁移开销计算单元,用于计算按不同的迁移方式迁移所述最热虚拟机的待访问热点内存页的迁移开销;在所述将所述最热虚拟机对应的待访问热点内存页迁移至空闲物理NUMA节点的方面,所述迁移单元用于:按迁移开销最低的迁移方式进行迁移。
根据本发明实施例的第三方面,提供一种物理主机,包括:硬件层、运行在所述硬件层之上的宿主机Host、以及运行在所述Host之上的至少一个虚拟机VM;所述硬件层包括至少一个物理非一致性内存架构NUMA节点;所述物理NUMA节点包含存储器和至少一个处理器;其中,所述Host用于:
建立当前最热节点集;所述当前最热节点集中的物理非一致性内存架构NUMA节点的内存负载不小于负载阈值;
预测所述当前最热节点集中各物理NUMA节点的待访问热点内存页;所述待访问热点内存页为未来访问频率将超过访问频率阈值的内存页;
确定最热虚拟机,所述最热虚拟机为拥有所述待访问热点内存页最多的虚拟机,或者,所述最热虚拟机为拥有所述待访问热点内存页的各虚拟机中负载最高的虚拟机;
将所述最热虚拟机拥有的所述待访问热点内存页迁移至空闲物理NUMA节点。
可见,在本发明实施例中,预测了物理机上的待访问热点内存页,并对最热虚拟机对应的待访问热点内存页进行迁移。预测出的待访问热点内存页是未来可能被频繁访问的内存页,对其进行迁移后,可在一定程度上降低未来某NUMA节点过热出现的概率,实现热点均衡控制。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的NUMA结构的物理机示例图;
图2为本发明实施例提供的NUMA结构的物理机应用场景示例图;
图3-6为本发明实施例提供的热点均衡控制方法各流程图;
图7为本发明实施例提供的建立待访问内存页集合的流程图;
图8-9为本发明实施例提供的热点均衡控制方法各流程图;
图10-11为本发明实施例提供的迁移示例图;
图12为本发明实施例提供的宿主机结构示例图;
图13为本发明实施例提供的物理主机结构示例图;
图14为本发明实施例提供的物理主机另一结构示例图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了方便理解本发明实施例,首先在此介绍本发明实施例描述中会引入的几个术语:
虚拟机VM:通过虚拟机软件可以在一台物理主机上模拟出一台或者多台虚拟的计算机,而这些虚拟机就像真正的计算机那样进行工作,虚拟机上可以安装操作系统和应用程序,虚拟机还可访问网络资源。对于在虚拟机中运行的应用程序而言,虚拟机就像是在真正的计算机中进行工作。
硬件层:虚拟化环境运行的硬件平台。其中,硬件层可包括多种硬件,例如某物理主机的硬件层可包括处理器(例如CPU)和内存,还可以包括网卡、存储器等等高速/低速输入/输出(I/O,Input/Output)设备,及具有特定处理功能的其它设备,如输入输出内存管理单元(IOMMU,Input/Output Memory Management Unit),其中IOMMU可用于虚拟机物理地址和Host物理地址的转换。
宿主机(Host):作为管理层,用以完成硬件资源的管理、分配;为虚拟机呈现虚拟硬件平台;实现虚拟机的调度和隔离。其中,Host可能是虚拟机监控器(VMM);此外,有时VMM和1个特权虚拟机配合,两者结合组成Host。其中,虚拟硬件平台对其上运行的各个虚拟机提供各种硬件资源,如提供虚拟处理器(如VCPU)、虚拟内存、虚拟磁盘、虚拟网卡等等。虚拟磁盘可对应Host的一个文件或者一个逻辑块设备。虚拟机运行在Host为其准备的虚拟硬件平台上,Host上运行一个或多个虚拟机。
本发明实施例的热点均衡控制方法可以应用于非一致性内存架构(Non-uniform Memory Architecture,NUMA)的物理机(物理服务器)。
上述物理机(物理服务器)可包含硬件层、运行在该硬件层之上的宿主机(Host)、以及运行在该Host之上的至少一个虚拟机VM。
上述硬件层可包括单板,在单板上包含多个物理处理器和多个内存。
上述单板上的几个物理处理器通过内存总线与一块内存相连构成一个组(也可称为物理NUMA节点),这样,单板上的多个物理处理器和多个内存就可以被划分为若干个物理NUMA节点。
对于某一物理NUMA节点(例如物理NUMA节点1)而言,处于该物理NUMA节点中的内存被称为本地内存(local memory),而处于其他物理NUMA节点中的内存,相对于物理NUMA节点1而言,被称为外部内存(foreign memory)。每个物理NUMA节点中的处理器访问本地内存和访问外部内存的延迟是不同的。
此外,物理NUMA节点又可以分为三类,即本地节点(local node),邻居节点(neighbor node)和远端节点(remote node)。对于某个物理NUMA节点中的所有CPU而言,该节点为本地节点,与本地节点相邻的物理NUMA节点可称为邻居节点,而非本地节点或邻居节点的节点,则可称为远端节点。
CPU访问本地节点上的内存时,访问延迟非常低,而访问邻居节点就会比访问本地节点的访问延迟高,访问远端节点的访问延迟则更高。
请参见图1,为本发明实施例设定的一种NUMA结构的物理机100(也可称为计算机系统)。上述物理机(物理服务器)的硬件层包括物理NUMA节点101-103。
每个物理NUMA节点可包括一个或多个处理器和本地内存。示例性的,在本实施例中,每个物理NUMA节点包括4个处理器(处理器104-107)和存储器108。
当然,在每个物理NUMA节点内的处理器的数目可以是可变的,以及每个物理NUMA节点可以具有自己的RAM(随机存储器)。
物理机100的硬件层上运行有Host109,更具体的,Host109可由VMM和VMM上运行的特权虚拟机结合组成。
Host109上还可运行有多个虚拟机(VM110-112)。
需要说明的是,虽然物理机100在本实施例中被描绘为包括虚拟机110-112,但在其他实施例中,物理机100可执行更多或更少的虚拟机。
Host109为虚拟机指定主物理NUMA节点(可简称为主节点),在分配硬件资源时,优先将主节点上的硬件资源(物理处理器和物理内存)分配给虚拟机。
请参见图2,与物理主机相类似,虚拟机上可运行客户操作系统(guest OS)。并且,每个虚拟机中可包含一个或多个虚拟NUMA节点。以VM110为例,其包含虚拟NUMA节点113和114。
进一步的,一个虚拟NUMA节点中可包含一个或多个虚拟处理器以及一个虚拟存储器。
示例性的,图2中,虚拟NUMA节点中包含两个虚拟处理器—VCPU115和116,以及,虚拟存储器117。
需要说明的是,虽然在本实施例中虚拟机被描绘为包括两个虚拟NUMA节点,但在其他实施例中,其可包括更多或更少的虚拟NUMA节点。另外,虽然在本实施例中,虚拟UNMA节点被描绘为具有两个虚拟处理器,但在其他实施例中,虚拟NMUA节点可以具有更多或更少的虚拟处理器。此外,每个虚拟NUMA节点可以具有与其他虚拟NUMA节点不同的虚拟NUMA拓扑结构。例如,一个虚拟NUMA节点可以具有4个虚拟处理器和16G字节的RAM,而另一个虚拟NUMA节点可以具有2个虚拟处理器和8G字节的RAM。
上述热点均衡控制方法的执行主体可为热点均衡控制装置。而热点均衡控制装置则可作为Host109的一个组件。
请参见图3,由热点均衡控制装置执行的热点均衡控制方法至少可包括如下步骤:
S1、建立当前最热节点集;
其中,当前最热节点集中的物理NUMA节点的内存负载不小于负载阈值(H)。
而内存负载则是根据上述物理NUMA节点的内存利用率计算得到。
本文后续将对如何计算内存负载进行详细介绍。
S2、预测上述当前最热节点集中各物理NUMA节点的待访问热点内存页。
所谓的热点内存页,指的是,未来将被频繁访问(尤其是被频繁写操作)的内存页。
可设计在时间段T内,访问频率(特别是写操作频率)超过访问频率阈值的内存页为热点内存页。该阈值可为10、20等等,可由本领域技术人员根据实际需要进行灵活设定,在此不作赘述。相类似,T也可由本领域技术人员根据实际需要进行灵活设定,在此亦不作赘述。
本步骤目的是预测未来将有哪些内存页会被频繁访问(写操作)。
S3、确定最热虚拟机。
上述最热虚拟机可为拥有待访问热点内存页最多的虚拟机。
举例来讲,在步骤S2中,共预测出1000页待访问热点内存页,其中,虚拟机1对应其中的400页,虚拟机2对应其中的200页,虚拟机3对应其中的300页,虚拟机4对应其中的100页。则可将虚拟机1确定为最热虚拟机;或者,将虚拟机1和虚拟机3确定为最热虚拟机。
或者,上述最热虚拟机可为拥有热点内存页的各虚拟机中负载最高的虚拟机。
仍沿用前例,共预测出1000页待访问热点内存页,其中,虚拟机1对应其中的400页,虚拟机2对应其中的200页,虚拟机3对应其中的300页,虚拟机4对应其中的100页。
假定,虚拟机1的负载为5,虚拟机2的负载为20,虚拟机3的负载为25,虚拟机4的负载为30。则可将虚拟机4确定为最热虚拟机;或者,将虚拟机3和虚拟机4确定为最热虚拟机。本文后续将对如何计算各虚拟机负载进行详细介绍。
最热虚拟机的个数可不限于一个。
S4、将最热虚拟机拥有的待访问热点内存页迁移至空闲物理NUMA节点。
需要说明的是,在迁移时,可将最热虚拟机拥有的部分或全部待访问热点内存页迁移至空闲物理NUMA节点。
而空闲物理NUMA节点可以是,所有物理NUMA节点中负载最小的节点,或者,也可以是节点负载小于某一阈值的物理NUMA节点。
可见在本实施例中,预测了物理机上的待访问热点内存页,并对最热虚拟机拥有的待访问热点内存页进行迁移。预测出的待访问热点内存页是未来可能被频繁访问的内存页,对其进行迁移后,可在一定程度上降低未来某NUMA节点过热出现的概率,实现热点均衡控制。
下面,将介绍如何建立当前最热节点集。
请参见图4,建立当前最热节点集可包含如下步骤:
S11、根据上述各物理NUMA节点的负载计算物理机负载分布均衡度;
物理机负载分布均衡度是基于各物理NUMA节点的节点负载计算出来的。
如何计算物理NUMA节点的节点负载可有多种方式。例如,可利用节点的内存利用率和热页比进行计算。
假定一共有n个物理NUMA节点,其中的第i个物理NUMA节点的负载表示为MDi,该物理NUMA节点的内存利用率表示为MRi,热页比表示为HPi,则MDi可通过如下公式计算:
MDi=MRi*HPi (公式一)
内存利用率指节点内非空内存的比例。
节点的热页比,指的是第i个物理NUMA节点上的当前热点内存页(也即当前已被频繁访问的内存页)与所有内存页之间的比例。
需要说明的是,宿主机上记录有各虚拟机在物理NUMA节点上的内存分布。因此,可利用宿主机记录的内存分布来计算物理NUMA节点的内存利用率。
所有物理NUMA节点的负载平均值为(MDave表示负载平均值)。
则负载分布均衡度LBVnl可通过下式计算得到:
S12、在负载分布均衡度(LBVmd)大于均衡度阈值(Δ),并且存在内存负载大于负载阈值(H)的物理NUMA节点时,将所有内存负载大于负载阈值的物理NUMA节点归属于当前最热节点集。
可将负载分布均衡度(LBVmd)大于均衡度阈值(Δ),并且存在内存负载大于负载阈值(H)的物理NUMA节点视为触发条件,在该触发条件被满足时,才将所有内存负载大于负载阈值的物理NUMA节点归属于当前最热节点集。
或者,也可以在执行步骤S11之前,先计算各物理NMUA节点的内存负载,判断是否存在内存负载大于负载阈值(H)的物理NUMA节点,如果存在,则执行步骤S11,计算物理机负载分布均衡度。并判断物理机负载分布均衡度是否大于均衡度阈值,如大于,则将所有内存负载大于负载阈值的物理NUMA节点归属于当前最热节点集。
本领域技术人员可根据实际需要设计Δ、H的取值,在此不作赘述。
在本发明其他实施例中,上述方法还可包括如下步骤:采集信息。
宿主机可通过PMU(Performance Monitor Unit,性能监视单元)进行采样,并将采集到的信息提供给热点均衡控制装置。PMU是Host上的现有软件功能模块,在此不作赘述。
采集的信息可包含各虚拟机在各物理NUMA节点上的内存分布,内存页访问记录。内存页访问记录包含已访问内存页,以及已访问内存页的访问次数等等。
虚拟机在某物理NUMA节点上的内存分布,可指HOST分配了该NUMA节点上的哪些物理内存页给该虚拟机。例如,HOST分配了物理NUMA节点1上的物理内存页P1-P1000,以及,NUMA节点2上的物理内存页P500-P1500给虚拟机Z;同时,HOST分配了物理NUMA节点1上的物理内存页P1001-P2000,以及NUMA节点2上的物理内存页P1501-P2000给虚拟机x。
所采集的各虚拟机在物理NUMA节点上的内存分布,可用于确定预测出的哪些待访问热点内存页对应同一虚拟机。
例如,预测出的待访问热点内存页具体为物理NUMA节点1上的P900-P1200,物理NUMA节点2上的P1000-P1600。
则可确定,物理NUMA节点1上的待访问热点内存页P900-P1000,以及物理NUMA节点2上的待访问热点内存页P1000-P1500对应同一虚拟机Z;而物理NUMA节点1上的待访问热点内存页P1001-P1200,以及物理NUMA节点2上的待访问热点内存页P1501-P1600对应同一虚拟机x。
而采集的内存页访问次数则用于确定某一内存页的访问频率。
实际上,PMU以采样周期T进行采样。所采集到的内存页访问次数是累加结果。例如,假定在T0采样周期,内存页P1的访问次数是10,而在T1采样周期,内存页P1的访问次数为20,并且,T1周期为当前采样周期,则P1当前的访问频率是
当某一内存页的访问频率超过阈值时,其即为(当前)热页。进而可计算节点的热页比以及后续将介绍的虚拟机的热页比。
下面将详细讲解如何预测当前最热节点集中各物理NUMA节点的热点内存分布。
请参见图5,上述步骤S2可具体包括:
S21、建立上述当前最热节点集中每一物理NUMA节点的待访问内存页集合。其中,待访问内存页集合包含待访问热点内存页;
举例来讲,假定最热节点集中一共有N1-N3这三个物理NUMA节点,则建立节点N1的待访问内存页集合GN1,GN1中包含节点N1的待访问热点内存页(这些待访问热点内存页都位于节点N1的存储器上)。
相类似的,也建立节点N2的待访问内存页集合GN2,以及,节点N3的待访问内存页集合GN3。
S22、对上述当前最热节点集中所有物理NUMA节点对应的待访问内存页集合中的待访问热点内存页进行合并,得到待访问内存页总集合。
最简单的方式,是直接将各待访问内存页集合中的内存页进行合并。
本文后续还将介绍其他的合并方式。
上述待访问内存页总集合表征了当前最热节点集中各物理NUMA节点的热点内存分布。
相应的,在确定最热虚拟机时,其具体的方式可为:
将拥有待访问内存页总集合中待访问热点内存页最多的虚拟机,确定为最热虚拟机。
假定,待访问内存页总集合中共包含1000页待访问热点内存页,其中,虚拟机1对应其中的400页,虚拟机2对应其中的200页,虚拟机3对应其中的300页,虚拟机4对应其中的100页。则可将虚拟机1确定为最热虚拟机;或者,将虚拟机1和虚拟机3确定为最热虚拟机。
或者,在确定最热虚拟机时,其具体的方式还可为:
将拥有待访问内存页总集合中待访问热点内存页的各虚拟机中负载最高的虚拟机,确定为最热虚拟机。
仍沿用前例,假定,待访问内存页总集合中共包含1000页待访问热点内存页,其中,虚拟机1对应其中的400页,虚拟机2对应其中的200页,虚拟机3对应其中的300页,虚拟机4对应其中的100页。
并假定,虚拟机1的负载为5,虚拟机2的负载为20,虚拟机3的负载为25,虚拟机4的负载为30。则可将虚拟机4确定为最热虚拟机;或者,将虚拟机3和虚拟机4确定为最热虚拟机。
在本发明其他实施例中,请参见图6,上述所有实施例中的步骤S21可进一步包括如下步骤:
S211、针对上述每一物理NUMA节点建立已访问内存页集合。
举例来讲,假定最热节点集一共包含N1-N3这三个物理NUMA节点,则建立节点N1的已访问内存页集合CN1,CN1中包含节点N1的已访问热点内存页(这些已访问热点内存页都位于节点N1的存储器上)。
相类似的,也建立节点N2的已访问内存页集合CN2,以及,节点N3的已访问内存页集合CN3。
可根据采集信息时采集的已访问内存页来建立各物理NUMA节点对应已访问内存页集合。
需要说明的是,采集信息时采集的已访问内存页,是整个物理机上的已访问内存页。因此,需要从采集的已访问内存页中筛选出当前最热节点集中各物理NUMA节点对应的已访问内存页。
举例来讲,物理机上一共有5个物理NUMA节点(N1-N5),则采集的已访问内存页也是节点N1-N5上的已访问内存页。而当前最热节点集包含节点N1-N3。则从采集的已访问内存页中筛选出节点N1-N3各自对应的已访问内存页,分别构成对应节点N1-N3的已访问内存页集合。
S212、从每一已访问内存页集合中,剔除共享内存页以及访问频率权重小于权重阈值的已访问内存页,得到内存页高权集合。
对于已访问内存页,会根据其访问频率赋予相应的权重。访问频率越高,其相应的权重也越大。例如,访问频率为10的内存页其权重要小于访问频率为20的内存页。
前已述及,PMU以采样周期T进行采样,则不同采样周期,同一内存页的访问频率权重会发生变化。
例如,在周期T0,内存页P1的访问频率为10,而在周期T1,P1的访问频率为20,则P1的访问频率权重也随访问频率发生变化。
本领域技术人员可根据实际需要设计访问频率与访问频率权重之间的对应关系,在此不作赘述。
本步骤中,从已访问内存页集合中剔除共享内存页,是因为,共享内存页的访问频率高是由于多个虚拟机共享造成的,并不是因为虚拟机运行的业务造成的。并且,共享内存页对应的多个虚拟机可能位于同一物理NUMA节点上,如对共享内存页进行迁移,则可能会造成多个虚拟机远端访问共享内存页,增大了访问开销增大,所以将其剔除。
S213、使用每一内存页高权集合从多种预测模型中选择出相应的最佳预测模型。
其中,每一预测模型表征一种或多种内存页之间的关联关系。而最佳预测模型表征的各种关联关系,能够将内存页高权集合中访问频率权重最高的已访问内存页,与其他不少于B的已访问内存页关联起来(B为预设页数)。
本领域技术人员可根据实际需要灵活设计B的取值,在此不作赘述。
内存页之间是有关联的。一个内存页如被频繁访问,与其高度相关的内存页也有很大的机率会被频繁访问。
而内存页之间的关联规则可能是多变的。预测模型可视为一种关联规则或多种关联规则的总和。
本步骤目的是从多种预测模型中选出,能将内存页高权集合中的访问频率权重最高的已访问内存页与其他最多的已访问内存页关联在一起的预测模型,作为最佳预测模型。
举例来讲,B=100。一共有3个预测模型(模型1-3),其中,模型1可将访问频率权重最高的已访问内存页与其他10个内存页关联起来,模型2可将访问频率权重最高的已访问内存页与其他110个内存页关联起来,模型3可将访问频率权重最高的已访问内存页与其他200个内存页关联起来。则将模型3确定为最佳预测模型。
需要说明的是,当前最热节点集中各节点对应的最佳预测模型可能不尽相同。
宿主机内可预设预测模型库,用于存储多种预测模型。
此外,还可根据历史已访问内存页集合,对预测模型库中的预测模型进行修改并存储。
S214、使用上述每一最佳预测模型从指定集合中筛选出内存页,筛选出的内存页构成相应物理NUMA节点的待访问内存页集合。
由于最佳预测模型能将内存页高权集合中的访问频率权重最高的已访问内存页与其他最多的已访问内存页关联在一起。因此,其可从指定集合中选出访问频率权重最高的内存页,以及与之关联的、数量大于B的其他内存页。
仍沿用前例,模型3可将访问频率权重最高的已访问内存页与其他200个内存页关联起来,则模型3可从指定集合中筛选出访问频率权重最高的内存页,以及其他200个相关联的内存页。
需要说明的是,上述指定集合至少包含已访问内存页集合中的已访问内存页。
举例来讲,对于节点N1的指定集合来讲,其至少包含CN1中的已访问内存页。
此外,节点N1的指定集合可包含节点N1上的所有内存页。
图7示出了建立当前最热节点集中某物理NUMA节点(物理NUMA节点1)的待访问内存页集合的更详细的步骤:
步骤a):页表访问记录预处理;
该预处理具体为,从采集的已访问内存页中筛选出当前最热节点集中物理NUMA节点1对应的已访问内存页。
具体的,上述预处理是在负载分布均衡度(LBVmd)大于均衡度阈值(Δ),并且存在内存负载大于负载阈值(H)的物理NUMA节点时进行的。
步骤b):生成已访问内存页集合C。
更具体的,生成集合C可包括如下步骤:
建立自定数组page_info并初始化;
确定步骤a中筛选出的、物理NUMA节点1对应的已访问内存页的访问频率权重;
将筛选出的已访问内存页,以及相对应的访问频率权重存储至page_info。
或者,也可保留历史已访问内存页集合C。然后根据预处理的结果,对历史已访问内存页集合C中的已访问内存页进行更新。例如,增加上次未被访问而本次却被访问的内存页,去除上次被访问而本被未被访问的内存页,以及在某内存页的权重有变动时,更新其访问频率权重。
步骤c):生成高权集合L。
生成高权集合L的具体方式是:
遍历已访问内存页集合C,剔除访问频率权重低于A的内存页,以及共享内存页。
步骤d):判断高权集合L中的内存页数量是否大于M;如果否,进入步骤c(等待下一次采样,重新生成集合C),如果是,进入步骤e。
其中,判断高权集合L中的内存页数量可用公式num(L)表示。
M可根据需要进行灵活设计。
步骤e):从多种预测模型中选择最佳预测模型F((page_addr1,...page_addrn-1)->page_addrn)。其中,page_addrn表示高权集合L中访问频率权重最高的内存页;page_addr1至page_addrn-1表示高权集合L中的其他内存页;(page_addr1,...page_addrn-1)->page_addrn表示page_addrn与其他内存页的关联关系,并且,n-1不小于B。
步骤f):应用最佳预测模型进行预测,得到待访问内存页集合G。
下面将介绍S22的另一种实现方式,请参见图8,其可包括如下步骤:
S221、对当前最热节点集中每一物理NUMA节点的待访问内存页集合进行扩展,得到扩展后的待访问内存页集合;
更具体的,可将待访问内存页集合中的每一内存页扩展为集合K。
扩展方式有多种,例如,假设待访问内存页集合中某内存页的物理地址为Page_addr,则将{Page_addr-S,Page_addr+S}范围内的所有内存页作为集合K。
S的取值可进行灵活设计,在此不作赘述。
更具体的,可先对待访问内存页集合中的内存页的按物理地址增序进行排序,然后再搜索每一内存页对应的集合K。
将每一内存页对应的集合K进行合并,得到扩展后的待访问内存页集合。
S222、合并所有扩展后的待访问内存页集合,得到上述待访问内存页总集合。
下面将介绍如何计算虚拟机的负载。
虚拟机的负载有多种计算方式,例如,可采用虚拟机的虚拟内存利用率MP、虚拟机的虚拟CPU平均利用率CP,以及虚拟机的热页比计算得到虚拟机的负载VH。
其计算公式可为:
其中,虚拟机的热页比,指的是,虚拟机的当前热点内存页(也即当前访问频率超过访问频率阈值的内存页)占虚拟机对应的所有内存页的比例。
需要说明的是,宿主机上记录有各虚拟机上的虚拟CPU平均利用率和虚拟内存率。
在本发明其他实施例中,在上述所有实施例中,步骤S4之前,还可包括如下步骤:
S5、制定多种迁移方式。
其中,任一迁移方式可指示最热虚拟机,最热虚拟机的待访问热点内存页欲迁移至的空闲物理NMUA节点,以及,当前存储有上述最热虚拟机的待访问热点内存页的各物理NUMA节点,向上述空闲物理NUMA节点所迁移的内存页。
以图10所示节点为例,假定在节点N1和N4的存储器上都存储有最热虚拟机的待访问热点内存页。并假定,迁移方式1指定了节点N2和N3为空闲物理NUMA节点。如迁移方式1被执行,则目标虚拟机在N1和N4上存储的待访问热点内存页将迁移至节点N2和N3。
同时,每一迁移方式还需要指示当前存储有最热虚拟机的待访问热点内存页的各物理NUMA节点,向上述空闲物理NUMA节点中的各节点所迁移的内存页。
仍沿用前例,假定迁移方式1指示了节点N2和N3为空闲物理NUMA节点,则迁移方式1还需指示将N1节点中的哪些内存页迁移至节点N2(或N3),以及将N4节点中的哪些内存页迁移至节点N3(或N2)。
S6、计算按不同的迁移方式迁移上述最热虚拟机的待访问热点内存页的迁移开销。
相应的,步骤S4可包括(S4’):
将迁移开销最低的迁移方式进行迁移。
举例来讲,假定一共有三种迁移方式,迁移方式1的迁移开销为1000,迁移方式2的迁移开销为2000,迁移方式3的迁移开销为500。则按迁移方式3进行迁移。
需要说明的是,在制定任一迁移方式时,可考虑迁移后的物理机负载分布均衡度,以令迁移方式执行后,物理机负载分布均衡度小于均衡度阈值(Δ)。
下面将介绍如何计算迁移开销。
针对上述不同的迁移方式中的第p种迁移方式(1≤p≤N,N为不同的迁移方式的总数目),其对应的迁移开销通过如下方式计算:
计算当前存储有第P种迁移方式指示的最热虚拟机的待访问热点内存页的每一物理NUMA节点,向上述第p种迁移方式指示的空闲物理NUMA节点迁移内存页的迁移开销并累加。
更具体的,可通过如下两种方式计算迁移开销。
第一种方式:
记最热虚拟机当前在物理NUMA节点N1至NK均分布有待访问热点内存页。则第p种迁移方式的迁移开销可通过下述公式一或公式二来计算:
其中,wk表示节点Nk与空闲物理NUMA节点之间的距离权值,fk表示节点Nk向相应空闲物理NUMA节点迁移的待访问热点内存页数目,MDk表示节点Nk当前的负载。
前述提及了,有本地节点、邻居节点和远端节点之分。则当节点Nk是空闲物理NUMA节点的远端节点时,节点Nk与空闲物理NUMA节点之间的距离权值wk具体可取wr;当节点Nk是空闲物理NUMA节点的邻居节点时,节点Nk与空闲物理NUMA节点之间的距离权值wk具体可取wneighbor。
wr、wneighbor之间的关系为:wr<wneighbor。
wr、wneighbor是硬件属性性能,宿主机可直接获得。
公式三与公式四类似,本文后续将以公式三的计算方式为例,对迁移开销的计算进行介绍。
以图10所示节点为例,假定在节点N1和N4的存储器上都存储有最热虚拟机的待访问热点内存页。迁移方式p指定了节点N2和N3为空闲物理NUMA节点。
同时,迁移方式p还指示了将节点N1上存储的待访问热点内存页P1-P1000共1000页迁移至节点N2,将节点N4上存储的待访问热点内存页P2000-P2100共100页迁移至节点N3。
由于N1是N2的邻居节点,则将节点N1上的P1-P1000迁移至节点N2对应的迁移开销为1000*wneighbor;而N4亦是N3的邻居节点,则将节点N4上存储的P2000-P2100迁移至节点N3对应的迁移开销为100*wneighbor。
则Cp=1000*wneighbor+100*wneighbor=1100*wneighbor。
再例如,请参见图11,假定在节点N1和N4的存储器上都存储有最热虚拟机的待访问热点内存页。并假定,迁移方式q仅指示了节点N2为空闲物理NUMA节点,并指示将节点N1上存储的待访问热点内存页P1-P1000共1000页迁移至节点N2,将节点N4上存储的待访问热点内存页P2000-P2100共100页迁移至节点N2。
由于N1是N2的邻居节点,则其对应的迁移开销为1000*wneighbor;而N4是N2的远端节点,则其对应的迁移开销为100*wr。
则Cq=1000*wneighbor+100*wr。
如迁移方式p被执行,在真正迁移时,其操作如下:
在节点N2上申请4MB的内存空间(一个内存页为4KB,1000个内存页为4MB);
将节点N1上的待访问热点内存页P1-P1000复制到在节点N2上申请的内存空间中;
将节点N1上的4MB内存空间释放(标记为可分配);
在节点N3上申请200KB的内存空间;
将节点N1上待访问热点内存页P2000-P2100复制到在节点N3上申请的内存空间中;
将节点N1上的200KB内存空间释放(标记为可分配)。
与上述方法相对应,本发明实施例还要求保护宿主机。该宿主机可运行在源物理主机的硬件层。上述宿主机可以包括特权虚拟机、源虚拟机和VMM。
上述宿主机还可包括内存变化预测器和热点内存迁移器,请参见图12,内存变化预测器可包括最热节点集建立单元121和内存分布预测单元122,热点内存迁移器可包括最热虚拟机确定单元123和迁移单元124。
其中:
最热节点集建立单元121,用于建立当前最热节点集。
上述当前最热节点集中的物理NUMA节点的内存负载不小于负载阈值;上述内存负载根据所述物理NUMA节点的内存利用率计算得到。
内存分布预测单元122,用于预测上述当前最热节点集中各物理NUMA节点的待访问热点内存页。
具体的,待访问热点内存页为未来访问频率将超过访问频率阈值的内存页。
最热虚拟机确定单元123,用于确定最热虚拟机。
上述最热虚拟机为拥有待访问热点内存页最多的虚拟机,或者,上述最热虚拟机为拥有待访问热点内存页的各虚拟机中负载最高的虚拟机;
迁移单元124,用于将上述最热虚拟机拥有的待访问热点内存页迁移至空闲物理NUMA节点。
具体内容请参见本文前述方法部分的描述,在此不作赘述。
在本发明其他实施例中,在预测上述当前最热节点集中所有物理NUMA节点的待访问热点内存页的方面,上述内存分布预测单元122用于:
建立上述当前最热节点集中每一物理NUMA节点的待访问内存页集合,上述待访问内存页集合包含待访问热点内存页;
对所有待访问内存页集合中的待访问热点内存页进行合并,得到待访问内存页总集合。
具体内容请参见本文前述方法部分的描述,在此不作赘述。
在本发明其他实施例中,在建立上述当前最热节点集中每一物理NUMA节点的待访问内存页集合的方面,上述内存分布预测单元122可用于:
针对上述每一物理NUMA节点建立已访问内存页集合;
从每一上述已访问内存页集合中,剔除共享内存页以及访问频率权重小于权重阈值的已访问内存页,得到内存页高权集合;
使用每一上述内存页高权集合从多种预测模型中选择出相应的最佳预测模型;其中,任一上述预测模型表征一种或多种内存页之间的关联关系;上述最佳预测模型表征的各种关联关系能够将上述内存页高权集合中访问频率权重最高的已访问内存页,与其他不少于B的已访问内存页关联起来;上述B为预设页数;
使用每一上述最佳预测模型从指定集合中筛选出内存页,筛选出的内存页构成相应物理NUMA节点的待访问内存页集合;上述指定集合至少包含相应物理NUMA节点的已访问内存页集合中的已访问内存页。
具体内容请参见本文前述方法部分的描述,在此不作赘述。
在本发明其他实施例中,在上述对所有待访问内存页集合中的待访问热点内存页进行合并,得到待访问内存页总集合的方面,上述内存分布预测单元用于:
对上述当前最热节点集中每一物理NUMA节点的待访问内存页集合进行扩展,得到扩展后的待访问内存页集合;
合并所有扩展后的待访问内存页集合,得到上述待访问内存页总集合。
具体内容请参见本文前述方法部分的描述,在此不作赘述。
在本发明其他实施例中,上述所有实施例中的宿主机还可包括:
迁移方式制定单元,用于制定多种迁移方式;任一所述迁移方式指示所述最热虚拟机,所述最热虚拟机的待访问热点内存页欲迁移至的空闲物理NMUA节点,以及,当前存储有所述最热虚拟机的待访问热点内存页的各物理NUMA节点,向所述空闲物理NUMA节点所迁移的内存页;
迁移开销计算单元,用于计算按不同的迁移方式迁移所述最热虚拟机的待访问热点内存页的迁移开销。
相应的,在上述将上述最热虚拟机对应的待访问热点内存页迁移至空闲物理NUMA节点的方面,上述迁移单元124用于:按迁移开销最低的迁移方式进行迁移。
具体内容请参见本文前述方法部分的描述,在此不作赘述。
在本发明其他实施例中,上述所有实施例中的宿主机还可包括:页表监视器。
前述提及的PMU可向页表监视器提供信息,信息可包含各虚拟机在各物理NUMA节点上的内存分布,内存页访问记录。内存页访问记录包含已访问内存页,以及已访问内存页的访问次数等等。
页表监视器可用于计算节点负载MDi、物理NUMA节点的热页比HPi。
在存在内存负载大于负载阈值H(H可等于0.4),页表监视器触发内存变化预测器和热点内存迁移器工作。
本发明实施例提供一种物理主机130,参见图13,该物理主机130包括硬件层,运行在所述硬件层之上的宿主机(Host)、以及运行在Host之上的至少一个虚拟机(VM)。
上述硬件层包括至少一个物理NUMA节点,其中,任一物理NUMA节点包含存储器和至少一个处理器。
其中,Host用于,
建立当前最热节点集;上述当前最热节点集中的物理NUMA节点的内存负载不小于负载阈值;上述内存负载根据上述物理NUMA节点的内存利用率计算得到;
预测上述当前最热节点集中各物理NUMA节点的待访问热点内存页;
确定最热虚拟机,上述最热虚拟机为拥有待访问热点内存页最多的虚拟机,或者,上述最热虚拟机为拥有待访问热点内存页的各虚拟机中负载最高的虚拟机;
将上述最热虚拟机拥有的待访问热点内存页迁移至空闲物理NUMA节点。
在本发明其他实施例中,在预测上述当前最热节点集中所有物理NUMA节点的待访问热点内存页的方面,上述HOST用于:
建立上述当前最热节点集中每一物理NUMA节点的待访问内存页集合,上述待访问内存页集合包含待访问热点内存页;
对所有待访问内存页集合中的待访问热点内存页进行合并,得到待访问内存页总集合。
在本发明其他实施例中,在建立上述当前最热节点集中每一物理NUMA节点的待访问内存页集合的方面,上述HOST用于:
针对上述每一物理NUMA节点建立已访问内存页集合;
从每一上述已访问内存页集合中,剔除共享内存页以及访问频率权重小于权重阈值的已访问内存页,得到内存页高权集合;
使用每一上述内存页高权集合从多种预测模型中选择出相应的最佳预测模型;其中,任一上述预测模型表征一种或多种内存页之间的关联关系;上述最佳预测模型表征的各种关联关系能够将上述内存页高权集合中访问频率权重最高的已访问内存页,与其他不少于B的已访问内存页关联起来;上述B为预设页数;
使用每一上述最佳预测模型从指定集合中筛选出内存页,筛选出的内存页构成相应物理NUMA节点的待访问内存页集合;上述指定集合至少包含相应物理NUMA节点所对应的已访问内存页集合中的已访问内存页。
在本发明其他实施例中,在对所有待访问内存页集合中的待访问热点内存页进行合并,得到待访问内存页总集合的方面,上述HOST用于:
对上述当前最热节点集中每一物理NUMA节点的待访问内存页集合进行扩展,得到扩展后的待访问内存页集合;
合并所有扩展后的待访问内存页集合,得到上述待访问内存页总集合。
在本发明其他实施实施例中,在确定最热虚拟机之后,将上述最热虚拟机对应的待访问热点内存页迁移至空闲物理NUMA节点之前,上述HOST还用于:
制定多种迁移方式;任一上述迁移方式指示上述最热虚拟机,上述最热虚拟机的待访问热点内存页欲迁移至的空闲物理NMUA节点,以及,当前存储有上述最热虚拟机的待访问热点内存页的各物理NUMA节点,向上述空闲物理NUMA节点所迁移的内存页;
计算按不同的迁移方式迁移上述最热虚拟机的待访问热点内存页的迁移开销。
相应的,在将上述最热虚拟机对应的待访问热点内存页迁移至空闲物理NUMA节点的方面,上述HOST用于:
按迁移开销最低的迁移方式进行迁移。
具体内容请参见本文前述记载,在此不作赘述。
本发明实施例提供一种物理主机,参见图14,该物理主机140包括硬件层,上述硬件层包括多个处理器141和多个存储器142,用于进行该物理主机140内部各设备之间的连接的至少一个通信总线143,以实现各设备之间的连接和相互通信。
其中,上述多个处理器和多个内存可被划分为多个组(物理NUMA节点)。物理NUMA节点上会运行一台或多台虚拟机。
通信总线143可以是工业标准体系结构(Industry StandardArchitecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,简称为EISA)总线等。该总线143可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器142可以包括随机存取存储器,并向处理器141提供指令和数据。
处理器141可以是中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
其中,通过读取存储器142存储的指令,处理器141用于,
建立当前最热节点集;上述当前最热节点集中的物理NUMA节点的内存负载不小于负载阈值;上述内存负载根据上述物理NUMA节点的内存利用率计算得到;
预测上述当前最热节点集中各物理NUMA节点的待访问热点内存页;
确定最热虚拟机,上述最热虚拟机为拥有待访问热点内存页最多的虚拟机,或者,上述最热虚拟机为拥有待访问热点内存页的各虚拟机中负载最高的虚拟机;
将上述最热虚拟机拥有的待访问热点内存页迁移至空闲物理NUMA节点。
在本发明其他实施例中,在预测上述当前最热节点集中所有物理NUMA节点的待访问热点内存页的方面,上述处理器141用于:
建立上述当前最热节点集中每一物理NUMA节点的待访问内存页集合,上述待访问内存页集合包含待访问热点内存页;
对所有待访问内存页集合中的待访问热点内存页进行合并,得到待访问内存页总集合。
在本发明其他实施例中,在建立上述当前最热节点集中每一物理NUMA节点的待访问内存页集合的方面,上述处理器141用于:
针对上述每一物理NUMA节点建立已访问内存页集合;
从每一上述已访问内存页集合中,剔除共享内存页以及访问频率权重小于权重阈值的已访问内存页,得到内存页高权集合;
使用每一上述内存页高权集合从多种预测模型中选择出相应的最佳预测模型;其中,任一上述预测模型表征一种或多种内存页之间的关联关系;上述最佳预测模型表征的各种关联关系能够将上述内存页高权集合中访问频率权重最高的已访问内存页,与其他不少于B的已访问内存页关联起来;上述B为预设页数;
使用每一上述最佳预测模型从指定集合中筛选出内存页,筛选出的内存页构成相应物理NUMA节点的待访问内存页集合;上述指定集合至少包含相应物理NUMA节点所对应的已访问内存页集合中的已访问内存页。
在本发明其他实施例中,在对所有待访问内存页集合中的待访问热点内存页进行合并,得到待访问内存页总集合的方面,上述处理器141用于:
对上述当前最热节点集中每一物理NUMA节点的待访问内存页集合进行扩展,得到扩展后的待访问内存页集合;
合并所有扩展后的待访问内存页集合,得到上述待访问内存页总集合。
在本发明其他实施实施例中,在确定最热虚拟机之后,将上述最热虚拟机对应的待访问热点内存页迁移至空闲物理NUMA节点之前,上述处理器141还用于:
制定多种迁移方式;任一上述迁移方式指示上述最热虚拟机,上述最热虚拟机的待访问热点内存页欲迁移至的空闲物理NMUA节点,以及,当前存储有上述最热虚拟机的待访问热点内存页的各物理NUMA节点,向上述空闲物理NUMA节点所迁移的内存页;
计算按不同的迁移方式迁移上述最热虚拟机的待访问热点内存页的迁移开销。
相应的,在将上述最热虚拟机对应的待访问热点内存页迁移至空闲物理NUMA节点的方面,上述处理器141用于:
按迁移开销最低的迁移方式进行迁移。
具体内容请参见本文前述记载,在此不作赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (11)
1.一种热点均衡控制方法,其特征在于,包括:
建立当前最热节点集;所述当前最热节点集中的物理非一致性内存架构NUMA节点的内存负载不小于负载阈值;
预测所述当前最热节点集中各物理NUMA节点的待访问热点内存页;所述待访问热点内存页为未来访问频率将超过访问频率阈值的内存页;
确定最热虚拟机,所述最热虚拟机为拥有所述待访问热点内存页最多的虚拟机,或者,所述最热虚拟机为拥有所述待访问热点内存页的各虚拟机中负载最高的虚拟机;
将所述最热虚拟机拥有的所述待访问热点内存页迁移至空闲物理NUMA节点。
2.如权利要求1所述的方法,其特征在于,
所述预测所述当前最热节点集中所有物理NUMA节点的待访问热点内存页包括:
建立所述当前最热节点集中每一物理NUMA节点的待访问内存页集合,所述待访问内存页集合包含待访问热点内存页;
对所有待访问内存页集合中的待访问热点内存页进行合并,得到待访问内存页总集合。
3.如权利要求2所述的方法,其特征在于,所述建立所述当前最热节点集中每一物理NUMA节点的待访问内存页集合包括:
针对所述每一物理NUMA节点建立已访问内存页集合;
从每一所述已访问内存页集合中,剔除共享内存页以及访问频率权重小于权重阈值的已访问内存页,得到内存页高权集合;
使用每一所述内存页高权集合从多种预测模型中选择出相应的最佳预测模型;其中,任一所述预测模型表征一种或多种内存页之间的关联关系;所述最佳预测模型表征的各种关联关系能够将所述内存页高权集合中访问频率权重最高的已访问内存页,与其他不少于B的已访问内存页关联起来;所述B为预设页数;
使用每一所述最佳预测模型从指定集合中筛选出内存页,筛选出的内存页构成相应物理NUMA节点的待访问内存页集合;所述指定集合至少包含相应物理NUMA节点所对应的已访问内存页集合中的已访问内存页。
4.如权利要求2或3所述的方法,其特征在于,所述对所有待访问内存页集合中的待访问热点内存页进行合并,得到待访问内存页总集合包括:
对所述当前最热节点集中每一物理NUMA节点的待访问内存页集合进行扩展,得到扩展后的待访问内存页集合;
合并所有扩展后的待访问内存页集合,得到所述待访问内存页总集合。
5.如权利要求1-4任一项所述的方法,其特征在于,
在确定最热虚拟机之后,将所述最热虚拟机对应的待访问热点内存页迁移至空闲物理NUMA节点之前,还包括:
制定多种迁移方式;任一所述迁移方式指示所述最热虚拟机,所述最热虚拟机的待访问热点内存页欲迁移至的空闲物理NMUA节点,以及,当前存储有所述最热虚拟机的待访问热点内存页的各物理NUMA节点,向所述空闲物理NUMA节点所迁移的内存页;
计算按不同的迁移方式迁移所述最热虚拟机的待访问热点内存页的迁移开销;
所述将所述最热虚拟机对应的待访问热点内存页迁移至空闲物理NUMA节点包括:
按迁移开销最低的迁移方式进行迁移。
6.一种宿主机,其特征在于,包括:
最热节点集建立单元,用于建立当前最热节点集;所述当前最热节点集中的物理非一致性内存架构NUMA节点的内存负载不小于负载阈值;
内存分布预测单元,用于预测所述当前最热节点集中各物理NUMA节点的待访问热点内存页;所述待访问热点内存页为未来访问频率将超过访问频率阈值的内存页;
最热虚拟机确定单元,用于确定最热虚拟机,所述最热虚拟机为拥有所述待访问热点内存页最多的虚拟机,或者,所述最热虚拟机为拥有所述待访问热点内存页的各虚拟机中负载最高的虚拟机;
迁移单元,用于将所述最热虚拟机拥有的所述待访问热点内存页迁移至空闲物理NUMA节点。
7.如权利要求6所述的宿主机,其特征在于,
在所述预测所述当前最热节点集中所有物理NUMA节点的待访问热点内存页的方面,所述内存分布预测单元用于:
建立所述当前最热节点集中每一物理NUMA节点的待访问内存页集合,所述待访问内存页集合包含待访问热点内存页;
对所有待访问内存页集合中的待访问热点内存页进行合并,得到待访问内存页总集合。
8.如权利要求7所述的宿主机,其特征在于,
在所述建立所述当前最热节点集中每一物理NUMA节点的待访问内存页集合的方面,所述内存分布预测单元用于:
针对所述每一物理NUMA节点建立已访问内存页集合;
从每一所述已访问内存页集合中,剔除共享内存页以及访问频率权重小于权重阈值的已访问内存页,得到内存页高权集合;
使用每一所述内存页高权集合从多种预测模型中选择出相应的最佳预测模型;其中,任一所述预测模型表征一种或多种内存页之间的关联关系;所述最佳预测模型表征的各种关联关系能够将所述内存页高权集合中访问频率权重最高的已访问内存页,与其他不少于B的已访问内存页关联起来;所述B为预设页数;
使用每一所述最佳预测模型从指定集合中筛选出内存页,筛选出的内存页构成相应物理NUMA节点的待访问内存页集合;所述指定集合至少包含相应物理NUMA节点所对应的已访问内存页集合中的已访问内存页。
9.如权利要求7或8所述的宿主机,其特征在于,
在所述对所有待访问内存页集合中的待访问热点内存页进行合并,得到待访问内存页总集合的方面,所述内存分布预测单元用于:
对所述当前最热节点集中每一物理NUMA节点的待访问内存页集合进行扩展,得到扩展后的待访问内存页集合;
合并所有扩展后的待访问内存页集合,得到所述待访问内存页总集合。
10.如权利要求6至9任一项所述的宿主机,其特征在于,
还包括:迁移方式制定单元,用于制定多种迁移方式;任一所述迁移方式指示所述最热虚拟机,所述最热虚拟机的待访问热点内存页欲迁移至的空闲物理NMUA节点,以及,当前存储有所述最热虚拟机的待访问热点内存页的各物理NUMA节点,向所述空闲物理NUMA节点所迁移的内存页;
迁移开销计算单元,用于计算按不同的迁移方式迁移所述最热虚拟机的待访问热点内存页的迁移开销;
在所述将所述最热虚拟机对应的待访问热点内存页迁移至空闲物理NUMA节点的方面,所述迁移单元用于:按迁移开销最低的迁移方式进行迁移。
11.一种物理主机,其特征在于,包括:硬件层、运行在所述硬件层之上的宿主机Host、以及运行在所述Host之上的至少一个虚拟机VM;所述硬件层包括至少一个物理非一致性内存架构NUMA节点;所述物理NUMA节点包含存储器和至少一个处理器;其中,所述Host用于:
建立当前最热节点集;所述当前最热节点集中的物理非一致性内存架构NUMA节点的内存负载不小于负载阈值;
预测所述当前最热节点集中各物理NUMA节点的待访问热点内存页;所述待访问热点内存页为未来访问频率将超过访问频率阈值的内存页;
确定最热虚拟机,所述最热虚拟机为拥有所述待访问热点内存页最多的虚拟机,或者,所述最热虚拟机为拥有所述待访问热点内存页的各虚拟机中负载最高的虚拟机;
将所述最热虚拟机拥有的所述待访问热点内存页迁移至空闲物理NUMA节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410421153.3A CN104216784B (zh) | 2014-08-25 | 2014-08-25 | 热点均衡控制方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410421153.3A CN104216784B (zh) | 2014-08-25 | 2014-08-25 | 热点均衡控制方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104216784A true CN104216784A (zh) | 2014-12-17 |
CN104216784B CN104216784B (zh) | 2018-01-23 |
Family
ID=52098305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410421153.3A Expired - Fee Related CN104216784B (zh) | 2014-08-25 | 2014-08-25 | 热点均衡控制方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104216784B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657198A (zh) * | 2015-01-24 | 2015-05-27 | 深圳职业技术学院 | Numa架构系统在虚拟机环境中的访存优化方法及系统 |
CN105022696A (zh) * | 2015-07-21 | 2015-11-04 | 浙江大学 | 一种基于内存访问热度的大内存页整合方法 |
CN105468538A (zh) * | 2014-09-12 | 2016-04-06 | 华为技术有限公司 | 一种内存迁移方法及设备 |
CN106293881A (zh) * | 2016-08-11 | 2017-01-04 | 上海交通大学 | 一种基于非一致性i/o访问构架的性能监控器及其监控方法 |
CN105095099B (zh) * | 2015-07-21 | 2017-12-29 | 浙江大学 | 一种基于内存页位图变更的大内存页整合方法 |
CN108572864A (zh) * | 2017-03-13 | 2018-09-25 | 龙芯中科技术有限公司 | 触发负载均衡调度的方法、装置及服务器 |
CN109426544A (zh) * | 2017-08-23 | 2019-03-05 | 龙芯中科技术有限公司 | 虚拟机部署方法和装置 |
CN110134492A (zh) * | 2019-04-18 | 2019-08-16 | 华中科技大学 | 一种异构内存虚拟机不停机的内存页面迁移系统 |
CN111078402A (zh) * | 2019-12-03 | 2020-04-28 | 广州西麦科技股份有限公司 | 一种快速提供实验环境的资源池系统 |
CN112559119A (zh) * | 2019-09-25 | 2021-03-26 | 阿里巴巴集团控股有限公司 | 一种虚拟机的迁移方法及装置、电子设备、存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100250868A1 (en) * | 2009-03-26 | 2010-09-30 | Microsoft Corporation | Virtual non-uniform memory architecture for virtual machines |
CN102984137A (zh) * | 2012-11-14 | 2013-03-20 | 江苏南开之星软件技术有限公司 | 一种基于多目标遗传算法下的多目标服务器调度方法 |
CN103577249A (zh) * | 2013-11-13 | 2014-02-12 | 中国科学院计算技术研究所 | 虚拟机在线迁移方法与系统 |
CN103605578A (zh) * | 2013-12-09 | 2014-02-26 | 武汉理工大学 | 基于虚拟机迁移的负载均衡调度方法 |
CN103744791A (zh) * | 2013-12-20 | 2014-04-23 | 华为技术有限公司 | 一种内存迁移的方法和装置 |
US20140214770A1 (en) * | 2013-01-31 | 2014-07-31 | Hewlett-Packard Development Company, L.P. | Checkpoint generation |
-
2014
- 2014-08-25 CN CN201410421153.3A patent/CN104216784B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100250868A1 (en) * | 2009-03-26 | 2010-09-30 | Microsoft Corporation | Virtual non-uniform memory architecture for virtual machines |
CN102984137A (zh) * | 2012-11-14 | 2013-03-20 | 江苏南开之星软件技术有限公司 | 一种基于多目标遗传算法下的多目标服务器调度方法 |
US20140214770A1 (en) * | 2013-01-31 | 2014-07-31 | Hewlett-Packard Development Company, L.P. | Checkpoint generation |
CN103577249A (zh) * | 2013-11-13 | 2014-02-12 | 中国科学院计算技术研究所 | 虚拟机在线迁移方法与系统 |
CN103605578A (zh) * | 2013-12-09 | 2014-02-26 | 武汉理工大学 | 基于虚拟机迁移的负载均衡调度方法 |
CN103744791A (zh) * | 2013-12-20 | 2014-04-23 | 华为技术有限公司 | 一种内存迁移的方法和装置 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468538B (zh) * | 2014-09-12 | 2018-11-06 | 华为技术有限公司 | 一种内存迁移方法及设备 |
CN105468538A (zh) * | 2014-09-12 | 2016-04-06 | 华为技术有限公司 | 一种内存迁移方法及设备 |
US10013205B2 (en) | 2014-09-12 | 2018-07-03 | Huawei Technologies Co., Ltd. | Memory migration method and device |
CN104657198A (zh) * | 2015-01-24 | 2015-05-27 | 深圳职业技术学院 | Numa架构系统在虚拟机环境中的访存优化方法及系统 |
CN104657198B (zh) * | 2015-01-24 | 2017-12-26 | 深圳职业技术学院 | Numa架构系统在虚拟机环境中的访存优化方法及系统 |
CN105022696A (zh) * | 2015-07-21 | 2015-11-04 | 浙江大学 | 一种基于内存访问热度的大内存页整合方法 |
CN105022696B (zh) * | 2015-07-21 | 2017-12-29 | 浙江大学 | 一种基于内存访问热度的大内存页整合方法 |
CN105095099B (zh) * | 2015-07-21 | 2017-12-29 | 浙江大学 | 一种基于内存页位图变更的大内存页整合方法 |
CN106293881B (zh) * | 2016-08-11 | 2020-02-07 | 上海交通大学 | 一种基于非一致性i/o访问构架的性能监控器及其监控方法 |
CN106293881A (zh) * | 2016-08-11 | 2017-01-04 | 上海交通大学 | 一种基于非一致性i/o访问构架的性能监控器及其监控方法 |
CN108572864A (zh) * | 2017-03-13 | 2018-09-25 | 龙芯中科技术有限公司 | 触发负载均衡调度的方法、装置及服务器 |
CN109426544A (zh) * | 2017-08-23 | 2019-03-05 | 龙芯中科技术有限公司 | 虚拟机部署方法和装置 |
CN110134492A (zh) * | 2019-04-18 | 2019-08-16 | 华中科技大学 | 一种异构内存虚拟机不停机的内存页面迁移系统 |
CN110134492B (zh) * | 2019-04-18 | 2021-04-13 | 华中科技大学 | 一种异构内存虚拟机不停机的内存页面迁移系统 |
CN112559119A (zh) * | 2019-09-25 | 2021-03-26 | 阿里巴巴集团控股有限公司 | 一种虚拟机的迁移方法及装置、电子设备、存储介质 |
WO2021057698A1 (zh) * | 2019-09-25 | 2021-04-01 | 阿里巴巴集团控股有限公司 | 一种虚拟机的迁移方法及装置、电子设备、存储介质 |
CN111078402A (zh) * | 2019-12-03 | 2020-04-28 | 广州西麦科技股份有限公司 | 一种快速提供实验环境的资源池系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104216784B (zh) | 2018-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104216784A (zh) | 热点均衡控制方法及相关装置 | |
CN104166594B (zh) | 负载均衡控制方法及相关装置 | |
CN104270416B (zh) | 负载均衡控制方法及管理节点 | |
Lee et al. | A dynamic data placement strategy for hadoop in heterogeneous environments | |
CN102866915B (zh) | 虚拟化集群整合方法、装置及虚拟化集群系统 | |
CN105843683B (zh) | 用于动态优化平台资源分配的方法、系统和设备 | |
Zhang et al. | MrHeter: improving MapReduce performance in heterogeneous environments | |
Yan et al. | Discrete PSO-based workload optimization in virtual machine placement | |
Shukla et al. | A multiphase pre-copy strategy for the virtual machine migration in cloud | |
CN104283951A (zh) | 一种实例迁移的方法、装置及系统 | |
Marszałkowski et al. | Time and energy performance of parallel systems with hierarchical memory | |
CN109960579B (zh) | 一种调整业务容器的方法及装置 | |
Liao et al. | A QoS-aware dynamic data replica deletion strategy for distributed storage systems under cloud computing environments | |
Kanniga Devi et al. | Load monitoring and system-traffic-aware live VM migration-based load balancing in cloud data center using graph theoretic solutions | |
CN108833592A (zh) | 云主机调度器优化方法、装置、设备及存储介质 | |
Bawankule et al. | Load balancing approach for a MapReduce job running on a heterogeneous Hadoop cluster | |
Alyas et al. | Performance Framework for Virtual Machine Migration in Cloud Computing. | |
Bawankule et al. | Historical data based approach for straggler avoidance in a heterogeneous Hadoop cluster | |
Bawankule et al. | Historical data based approach to mitigate stragglers from the Reduce phase of MapReduce in a heterogeneous Hadoop cluster | |
CN105487927A (zh) | 一种资源管理方法及装置 | |
Kim et al. | A parallel migration scheme for fast virtual machine relocation on a cloud cluster | |
CN109947531B (zh) | 超融合一体机的存储容量扩展方法、装置及存储介质 | |
Minyard et al. | Parallel load balancing for dynamic execution environments | |
Jeyaraj et al. | Fine-grained data-locality aware MapReduce job scheduler in a virtualized environment | |
CN105930202B (zh) | 一种三阈值的虚拟机迁移方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180123 Termination date: 20200825 |
|
CF01 | Termination of patent right due to non-payment of annual fee |