一种非一致性内存访问架构下的虚拟机调度装置及方法与流程

文档序号:11250689阅读:415来源:国知局
一种非一致性内存访问架构下的虚拟机调度装置及方法与流程

本发明涉及计算机虚拟化技术领域,尤其涉及一种非一致性内存访问架构下的虚拟机调度装置及方法。



背景技术:

虚拟化是云计算关键技术之一。虚拟化技术可以将一台物理计算机系统虚拟化为一台或多台虚拟计算机系统。每个虚拟计算机系统(简称为客户机或虚拟机)都拥有自己的虚拟硬件(如cpu、内存和设备等),来提供一个独立的虚拟机执行环境。而运行虚拟机的真实物理计算机系统则成为宿主机。虚拟化技术由于其具有的容错性和高资源利用率而广泛应用在云计算和高性能计算等领域。目前比较有代表性的云计算提供商包括阿里云和亚马逊云等。

在虚拟化环境里,虚拟机监视器(virtualmachinemanagement,vmm)是存在于硬件和操作系统之间的一个软件管理层,其主要负责管理真实的物理资源,如cpu、内存及i/o设备等,并将底层的硬件资源抽象为对应的虚拟设备接口供虚拟机使用

与此同时,非一致性内存访问(non-uniformmemoryaccess,numa)架构因其可扩展性已经成为了现代服务器的主流架构。如图1所示,numa架构的基本特征是具有多个cpu模块,每个cpu模块由多个cpu核(如8个)组成,并且具有独立的本地内存、i/o插槽等。由于其节点之间通过互联模块(如intel的quickpathinterconnect)进行连接和信息交互,因此每个cpu可以访问整个系统的内存。显然,访问本地内存的速度将远远高于访问远程内存(系统内其它节点的内存)的速度。numa架构给虚拟机的性能优化带来了明显的挑战,因为宿主机的numa拓扑架构对于虚拟机来说往往是透明不可见的。

现在基本上所有的虚拟机监视器,包括xen,kvm和vmwareesxi采用的方法都是尽量将一个虚拟机的虚拟cpu(vcpu)和所有的内存都调度到一个节点上来保持本地访问,但是这种方法存在很大的缺陷,因为系统的负载均衡技术和其他技术会动态的平衡cpu和内存间的负载,导致原本的放置策略被干扰,最后使策略失效。因此,在numa架构下,如何对虚拟机的vcpu和内存进行调度优化,已成为如今的一个热门研究领域。

然而,研究人员在研究numa调度优化算法时,除了实现算法,还需要考虑如何在特定平台系统上实现虚拟机性能信息、系统numa拓扑信息等的收集,虚拟机vcpu和内存的调度等具体的细节。除此之外,在实现numa调度优化算法时,还需要考虑不同的vmm,比如xen,kvm的接口的不同,这对于numa调度优化算法研究来说,是很大的负担,严重影响了研究者研究numa调度优化算法的效率。

因此,本领域的技术人员致力于开发一种非一致性内存访问架构下的虚拟机调度装置及方法,在numa架构下,通过发明的一种非一致性内存访问架构下的虚拟机调度装置,研究者只需关注numa调度优化算法的实现,无需操心虚拟机信息、性能等数据的收集和虚拟机的具体调度等细节,从而极大的提高研究者的研究效率。



技术实现要素:

有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是开发一种非一致性内存访问架构下的虚拟机调度装置及方法,在numa架构下,通过发明的一种非一致性内存访问架构下的虚拟机调度装置,研究者只需关注numa调度优化算法的实现,无需操心虚拟机信息、性能等数据的收集和虚拟机的具体调度等细节,从而极大的提高研究者的研究效率。

为实现上述目的,本发明提供了一种非一致性内存访问架构下的虚拟机调度装置,包括性能监控模块、算法实现接口模块和虚拟机调度模块;其中,

性能监控模块被设置为通过使用操作系统内核的性能监控单元来监控特定的性能事件;

算法实现接口模块被设置为通过暴露虚拟机调度函数接口给研究者实现,并将性能监控模块的信息传递给算法实现者,算法实现者通过函数返回调度决策;

虚拟机调度模块被设置为根据算法实现接口模块返回的调度决策进行相应的虚拟机vcpu和虚拟机内存的调度。

进一步地,性能监控模块监控的性能事件包括虚拟机的cpu使用率、内存使用率、缓存丢失率和i/o性能数据。

本发明还提供了一种非一致性内存访问架构下的虚拟机调度装置的方法,包括以下步骤:

步骤1、性能监控模块获取宿主机numa拓扑信息,并通过内核pmu监控虚拟机性能事件;

步骤2、将宿主机numa拓扑信息和虚拟机性能事件传递给算法实现接口模块;

步骤3、算法实现接口模块调用算法,等待调度算法执行完毕后将调度算法得出的调度决策传递给虚拟机调度模块;

步骤4、虚拟机调度模块根据算法实现接口模块传递的调度决策对虚拟机vcpu和内存的调度;

步骤5、虚拟机调度完成后,跳转到步骤1中继续对虚拟机进行性能监控。

进一步地,调度算法包括:贪心算法。

进一步地,宿主机numa拓扑信息包括numa节点数目、各个numa节点之间的距离以及i/o设备所连接的numa节点。

进一步地,步骤1具体包括通过虚拟机监视器vmm实时监控虚拟机的cpu使用率、内存使用率、i/o使用率等性能事件,通过操作系统内核的性能监控单元实时监控操作系统的缓存丢失率、虚拟机指令执行的每秒周期数等性能事件,并获得宿主机的非一致性内存访问架构的拓扑结构。

本发明有以下技术效果

(1)考虑了i/o设备的和处理器节点的亲和性,在传统的建模方法上添加了一个维度,系统更加能够反映出当今高性能i/o环境下的i/o设备的重要性;

(2)通过使用内核pmu来监控虚拟机性能事件,极大地减少了虚拟机性能监控的开销;

(3)通过将虚拟机调度装置分为三个模块,减少了模块之间的耦合度,每个模块之间可以独立设计开发,提高了研究者的研究开发效率。

以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。

附图说明

图1是本发明的一个较佳实施例的一种非一致性内存访问架构下的虚拟机调度装置的非一致性内存访问架构示意图

图2是本发明的一个较佳实施例的一种非一致性内存访问架构下的虚拟机调度装置的系统架构示意图。

图3是本发明的一个较佳实施例的一种非一致性内存访问架构下的虚拟机调度方法的运行流程示意图。

具体实施方式

如图2所示,本发明的一较佳实施例提供了一种非一致性内存访问架构下的虚拟机调度装置,其特征在于,包括性能监控模块、算法实现接口模块和虚拟机调度模块;其中,性能监控模块被设置为通过使用操作系统内核的性能监控单元来监控特定的性能事件;算法实现接口模块被设置为通过暴露虚拟机调度函数接口给研究者实现,并将性能监控模块的信息传递给算法实现者,算法实现者通过函数返回调度决策;虚拟机调度模块被设置为根据算法实现接口模块返回的调度决策进行相应的虚拟机vcpu和虚拟机内存的调度。

性能监控模块监控的性能事件包括虚拟机的cpu使用率、内存使用率、缓存丢失率和i/o性能数据。

如图3所示,本发明的一较佳实施例提供了一种非一致性内存访问架构下的虚拟机调度装置的方法,其特征在于,包括以下步骤:

步骤1、性能监控模块获取宿主机numa拓扑信息,并通过内核pmu监控虚拟机性能事件;

步骤2、将宿主机numa拓扑信息和虚拟机性能事件传递给算法实现接口模块;宿主机numa拓扑信息包括numa节点数目、各个numa节点之间的距离以及i/o设备所连接的numa节点。

步骤3、算法实现接口模块调用算法,等待调度算法执行完毕后将调度算法得出的调度决策传递给虚拟机调度模块;

步骤4、虚拟机调度模块根据算法实现接口模块传递的调度决策对虚拟机vcpu和内存的调度;

步骤5、虚拟机调度完成后,跳转到步骤1中继续对虚拟机进行性能监控。

其中,所述调度算法为贪心算法,其算法流程包括:

(1)算法输入为所述性能监控模块传递的宿主机numa拓扑信息和虚拟机性能

事件;

(2)通过以下公式判断虚拟机是否是i/o密集型虚拟机:

ifpacketspersecondvm>threshhold

其中,packetspersecondvm为所述性能监控模块所监控出来的虚拟机的每秒收发

网络数据包的数目,threshhold为预定义的一个阈值。

(3)如果通过公式判断出虚拟机是i/o密集型虚拟机,则进一步通过以下公式判

断应该将虚拟机调度到哪个numa节点;

其中,n表示某个numa节点,n表示所述性能监控模块所提供的numa节点数目,mem[n]表示虚拟机分布在numa节点n的内存页数目,该数据也是由所述性能监控模块所提供。anmmatrix(n)则是所述性能监控模块所提供的numa节点之间的距离。对于n个numa节点,算法选取出通过上述公式计算得到的值最大的节点,并将虚拟机调度到该节点。

(4),如果虚拟机不是i/o密集型虚拟机,则通过以下公式判断应该将虚拟机调度到哪个numa节点:

其中,n表示宿主机的numa节点数目,cpu[c]表示虚拟机在节点c的cpu使用率,mem[n]表示虚拟机分布在numa节点n的内存页数目,anmmatrix(n)则是所述性能监控模块所提供的numa节点之间的距离。对于n个numa节点,算法通过上述公式计算得到每个节点的值,然后选取值最大的节点并将虚拟机调度到该节点。

(5)算法返回根据上述流程所得出的虚拟机调度决策。

其中,步骤1具体包括通过虚拟机监视器vmm实时监控虚拟机的cpu使用率、内存使用率、i/o使用率等性能事件,通过操作系统内核的性能监控单元实时监控操作系统的缓存丢失率、虚拟机指令执行的每秒周期数等性能事件,并获得宿主机的非一致性内存访问架构的拓扑信息。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1