一种基于虚拟机性能向量的任务调度方法

文档序号:6366693阅读:208来源:国知局
专利名称:一种基于虚拟机性能向量的任务调度方法
技术领域
本发明涉及一种基于虚拟机性能向量的任务调度方法,该方法应用于基于云计算的平台,属于计算机科学与技术领域。
背景技术
目前搜索引擎、电子商务等应用都采用云计算技术或网络化操作系统,任务调度技术作为云计算中的关键技术之一,对于服务程序的稳定、高性能运行有着至关重要的作用。云计算的ー个重要特点是资源虚拟化,它把服务器的计算能力、存储能力、网络通信能力等资源抽象成虚拟资源,这些虚拟资源组合成虚拟机。这样,一台物理服务器可以被抽象成多台具有独立计算能力的虚拟机。 计算能力、存储能力、网络通信能力等资源抽象成虚拟资源后,对这些虚拟资源的管理变得更加复杂。支持云计算的平台(云平台)为此建立了強大的虚拟机资源管理系统,以支撑服务程序(包含多个任务)的任务调度、资源分配等。从技术角度看,服务程序的任务调度实质是对云平台中虚拟机资源的利用,从服务角度看,用户希望服务程序在执行时间、网络通信方面是可保障的,服务程序(或任务)的执行时间是ー个重要指标。但从云平台运行稳定、高效的角度看,云平台给服务程序的运行分配的资源应该是公平、高效的,需要考虑虚拟机执行任务的负载均衡,将系统内的任务映射到合理的虚拟机上,达到充分、均衡的利用系统资源的目的,同时要考虑任务的特点,需要考虑服务的高效性。目前,云平台中任务调度算法有Min-min算法、Max_min算法、遗传算法、模拟退火算法、Sufferage算法、蚁群算法等。对于快速发展的云计算,其主要有超大規模、虚拟化、高可靠性、按需服务以及高扩展性等特点,这些算法还有一定的距离,而对于传统的任务调度算法和网格计算下的任务调度算法,其目标更多的是快速的响应来自用户的任务请求,已经不能完全适应云计算的各个特点。因此提出适用于云平台的任务调度方式非要紧迫。本发明提出一种基于虚拟机性能向量的任务调度方法,该方法首先抽象虚拟机的计算能力、存储量、虚拟机到调度节点的通信量和路由特性,针对各任务的需求(或特性,如计算量、存储量、网络通信量),计算虚拟机的性能向量,从量、方向的角度调度任务,使任务能够分配到高效执行该类特点的任务的虚拟机上,由于采用了方向和量的差异化计算,总体上能达到负载均衡的目的。

发明内容
针对背景技术所述,本发明的目的在于提出一种基于虚拟机性能向量的任务调度方法。本发明采用以下技术方案来实现本发明ー种基于虚拟机性能向量的任务调度方法,该方法位于起任务调度作用云平台管理系统上,这里称谓任务调度节点,是云平台管理系统的ー个软件模块。任务调度节点(调度节点)的位置如图I所示,大型网站或服务有大量的服务器,入口也很多,用户通过内容分发网络(Content Delivery Network)接入到不同的入口服务器,这里的入口服务器承担任务调度,所以ー个入口服务器是ー个调度节点;每个调度节点管理着一批虚拟机,这些虚拟机在ー个管理域中,这里称谓内容分发网络管理域(⑶N管理域)。每个调度节点之间采用任务调度链来连接,方便调度节点之间的任务调度。任务调度节点所在CDN管理域的任务调度,基于虚拟机性能向量的任务调度方法位于任务调度节点上,它包括虚拟机资源信息维护模块、性能向量计算模块、路由分析模块、任务调度模块四个部分。图2是基于虚拟机性能向量的任务调度方法的各个组成部分及信息利用关系。下面介绍各组成部分。(I)虚拟机资源信息维护模块(VMIM, Virtual Machine Information Module):该模块记录管理域内每个虚拟机的计算能力、存储能力以及虚拟机到调度节点的网络吞吐量和路径。VM頂的这些信息是通过人工输入配置的。
(2)路由分析模块(RAM,Routing Analysis Module):该模块针对姆个虚拟机分析虚拟机到任务调度节点之间的路由,避免新任务的调度引起网络通信的阻塞。(3)性能向量计算模块(PVCM, Performance Vector Counting Module):该模块实现虚拟机的内存、计算能力、存储能力以及虚拟机到调度节点的网络吞吐量和路径的量化计算。针对服务程序任务,依次对每个虚拟机,根据虚拟机的计算能力、存储能力以及虚拟机到调度节点的网络吞吐量和路径计算出用户任务所花费的时间,最后把计算时间和方向(这里称谓性能向量)以表的形式存放。(4)任务调度模块(TSM,Task Schedule Module):该模块把用户的服务程序按功能、计算等分成不同的并行任务,它依据任务调度方法,把分解的任务调度到所管理的虚拟机上执行。一种基于虚拟机性能向量的任务调度方法包括图3所示的7个步骤(I)虚拟机资源信息维护VMM模块通过人工输入、配置、任务调度信息,记录和维护虚拟机的内存、计算能力、存储能力等现状信息,通过网络測量(如測量RTT (RoundTrip Time)的方式)获得虚拟机到调度节点的网络吞吐量、路径和时延等信息。(2)虚拟机路由分析RAM根据⑴中维护的虚拟机到任务调度节点的路径(这里称谓虚拟机路径),检查虚拟机路由的相关性,计算出虚拟机路由的相关系数い)。(3)虚拟机性能值计算任务调度节点接到用户服务程序运行的请求后,把服务程序分解成不同的任务,每个任务量化成计算量(C)、通信数据量(M)、存储容量(N)。结合
(I)中的虚拟机资源信息(计算能力Cr,通信呑吐量Mr,存储量),PVCM计算出虚拟机性能值P = C/Cr+M/Mr。虚拟机性能值的单位是个时间单位(例如毫秒)。这样针对服务程序的每个任务,每个虚拟机都有ー个性能值。(4)虚拟机性能向量计算PVCM根据虚拟机性能值⑵和路由(R),形成虚拟机性能向量v =〈P,R>,其中P是虚拟机性能向量的大小,R是虚拟机性能向量的方向。(5)虚拟机性能圆确定任务调度模块TSM把所有虚拟机性能向量以任务调度节点为中心画成如图4所示的辐射视图,而有的服务程序需要一定的执行时间要求,所以需要ー个执行时间阈值Et作为虚拟机性能圆的半径,而每个任务的执行时间最好接近或小于Et,为此,TSM以Et画出性能圆,确定最佳的虚拟机来执行该任务。(6)最佳虚拟机的确定根据虚拟机性能圆内的虚拟机,排序确定其中虚拟机性能量最小的虚拟机。如果找不到虚拟机性能圆内的虚拟机,则调度失败。(7)虚拟机方向的确定检查最佳虚拟机在路径上是否和其它虚拟机的执行有相互影响,如果是,则需要去除该虚拟机后回到步骤(6)开始执行,否则该最佳虚拟机就被选中,并分配任务,完成调度。根据虚拟机的性能向量和性能圆可以确定服务程序的每个任务由哪些虚拟机来执行,由于同一个应用的多个任务在不同方向,通信上不会相互影响,另外由于任务的不同特点,性能向量会不同或差异化,以达 到任务分配均衡、任务达到有效的性能。本发明从量化、方向化的角度调度任务,使任务能够分配到高效执行该类特点的任务的虚拟机上,由于采用了方向和量的差异化计算,总体上能达到负载均衡的目的。本发明的详细优势在于(I)每个任务依据计算、存储、网络状况,计算出的虚拟机性能向量视图不同,使不同的任务能在自己的特点下找到自己最合适的虚拟机,提高了服务程序的执行性能。(2)由于每个任务由自己的虚拟机性能向量视图,这种差异性能保证任务在虚拟机中比较均衡的分配。(3)由于采用了虚拟机性能向量中的方向,能一定程度上避免了网络流量的拥塞等。(4)虚拟机性能圆能很好地控制任务的执行时间。


图I任务调度节点、⑶N管理域的关系图2基于虚拟机性能向量的任务调度方法各个组成部分及信息利用关系图3基于虚拟机性能向量的任务调度步骤图4由虚拟机性能向量形成的性能圆视5任务I的性能向量和性能圆视6任务2的性能向量和性能圆视图
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例也仅仅是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为了说明一种基于虚拟机性能向量的任务调度方法,这里给出了ー个实例。实例中的服务程序有两个任务任务I和任务2。任务I需要的通行数据量为20Mbps,计算量为30,存储为500MB。虚拟机资源信息维护模块VMM中,虚拟机a的计算能力是10每毫秒,网络吞吐量是10Mbps,存储容量为1000MB。可以看出虚拟机a满足任务I的要求。虚拟机性能向量计算模块PVCM计算出虚拟机a针对任务I的性能值P = C/Cr+M/Mr = 20/10+30/10 = 5毫秒。同样可以算出其它虚拟机b,c,d,e,f,g,h,i针对任务I的性能值为11,8,6,7,10,12,10,9,分别用 a(5),b(ll),c(8),d(6),e(7),f(10),g(12),h(10),i (9)来表示。虚拟机路由分析模块RAM根据虚拟机的路由给出各个虚拟机的方向,任务调度模块根据任务I给出如图5所示的任务I的虚拟机性能向量。而该服务程序需要在9毫秒内执行完,任务调度模块以9为半径画出任务I的虚拟机性能圆。任务调度模块发现a,c,d,e满足性能要求,虚拟机a是性能最佳的。任务调度模块采用同样的方法,可以计算出服务程序中任务2的虚拟机性能向量和性能圆如图6所示。其中a(10),b⑵,c⑶,d(6),i(7),g (7),5个虚拟机满足服务程序的性能要求,可以看出虚拟机b是满足任务2的最佳性能要求,但是虚拟机b和执行任务I虚拟a在同一个方向上,可能会产生通信 的阻塞,所以任务调度模块选择性能值其次的虚拟机d(6)来执行任务2。用户的服务程序包括了两个任务任务I和任务2,虚拟机的调度模块依据虚拟机性能值、虚拟机方向构成的虚拟机性能向量,采用虚拟机性能圆来寻找执行任务,分别找到了虚拟机a来执行任务1,找到虚拟机d来执行任务2。这样,任务调度模块能把任务均衡的分布到不同虚拟机上去执行,井能达到较好的性能。
权利要求
1.针对云计算管理系统对任务调度的负载分配不均衡、虚拟机网络通信拥塞、任务执行有效性不够问题,提出了本专利。本专利一种基于虚拟机性能向量的任务调度方法,该方法位于云计算管理系统的任务调度节点上,它包括虚拟机资源信息维护模块、性能向量计算模块、路由分析模块、任务调度模块四个部分,该方法抽象虚拟机的计算能力、存储量、虚拟机到调度节点的通信量和路由特性,针对各任务的计算量、存储量、网络通信量的需求,计算虚拟机的性能向量,从量和方向的差异化角度调度任务,使任务能够分配到高效执行该类特点的任务的虚拟机上,由于采用了方向和量的差异化计算,能达到负载均衡的目的。其特点在干 1)虚拟机性能量的计算。本专利实现虚拟机的内存、计算能力、存储能力以及虚拟机到调度节点的网络吞吐量和路径的量化计算。针对服务程序任务,依次对每个虚拟机,根据虚拟机的计算能力、存储能力以及虚拟机到调度节点的网络吞吐量和路径计算出用户任务所 花费的时间,作为虚拟机的性能量。
2)虚拟机性能向量的计算。根据虚拟机性能值和路由,形成虚拟机性能向量,虚拟机性能向量包括虚拟机性能向量的大小和虚拟机性能的方向。
3)虚拟机性能圆的确定。把所有虚拟机性能向量以任务调度节点为中心画成辐射视图,其中执行时间阈值Et是虚拟机性能圆的半径,虚拟机性能圆的功能是确定最佳的虚拟机来执行任务。
全文摘要
本发明涉及一种基于虚拟机性能向量的任务调度方法,基于虚拟机性能向量的任务调度方法位于任务调度节点上,它包括虚拟机资源信息维护模块、性能向量计算模块、路由分析模块、任务调度模块四个部分,提出了虚拟机性能量、虚拟机性能方向和虚拟机性能圆三个概念,该方法抽象虚拟机的计算能力、存储量、虚拟机到调度节点的通信量和路由特性,针对各任务的计算量、存储量、网络通信量的需求,计算虚拟机的性能向量,从量和方向的差异化角度调度任务,使任务能够分配到高效执行该类特点的任务的虚拟机上,由于采用了方向和量的差异化计算,能达到负载均衡的目的。
文档编号G06F9/50GK102662760SQ201210076628
公开日2012年9月12日 申请日期2012年3月22日 优先权日2012年3月22日
发明者孙松林, 张钫炜, 陆月明, 马良 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1