一种云计算平台的资源调度方法和系统与流程

文档序号:16246812发布日期:2018-12-11 23:39阅读:211来源:国知局
一种云计算平台的资源调度方法和系统与流程

本申请涉及云计算领域,特别涉及一种云计算平台的资源调度方法和系统,一种计算机可读存储介质和一种服务器。

背景技术

目前,云计算作为一种新型的计算方式,以其高可扩展性和高可用性等优点迅速成为学术界和产业界的研究热点。例如,google推出了谷歌应用软件引擎(googleappengine,简称gae),ibm推出了蓝云计算平台,amazon推出了弹性计算云(elasticcomputecloud,简称ec2)。但是,要实现低成本、高效、安全、易用的云计算系统依然面临诸多挑战,其中,高能耗是云计算系统最为严重的问题之一。例如,google数据中心产生的能耗可相当于一个小型城市的总能耗。

云计算系统中,除了处理任务时产生的必要能耗开销,其运行过程中还存在能耗浪费的现象,这表现在:(1)由于计算任务达到的随机性,使得单位时间内到达的任务量时而稀疏,时而密集,而现有的云计算系统通常是长时间处于开启状态,等待计算任务的到达。但是当计算机处于空闲状态时,其空闲功。率会占峰值功率的50%~60%。.因此,云计算系统会产生大量的空闲能耗。(2)由于云计算系统中通常包含不同的计算机,实验结果表明,不同计算机对不同计算任务的执行功率和响应时间一般不同.例如,同一图像处理任务分别在cpu和gpu上的执行功率和响应时间不同,任务执行完成后,产生的总能耗也不同.因此,当未考虑能耗因素时,不匹配的调度方式会造成:本来用较低能耗就能解决问题,但却用了较高能耗。因此,云计算系统的能耗优化管理也就成为亟待解决的问题。

min-min算法是一个比较传统、经典的任务调度算法,它主要的调度思想是以最快的时间进行任务分配和处理,以时间为单一权重设计任务调度算法。将任务分配到处理时间最短的资源上,保证任务完成的时间最短。它流行于网格计算中,是网格计算任务调度的重要方法之一。

任务调度的问题是有m个需要执行的任务task{t1,t2,t3.......tm},n个可用的资源节点slave{s1,s2,s3.......sn}(注:一般情况下,n<m),要将这m个任务分配到n个可用的资源节点上进行处理。假设每个任务tj在si节点上处理的时间为time(i,j),min-min算法以合适的分配方式将任务task分配到执行时间最短的资源上,保证总的执行时间最短,即为time(i,j)-min。

虽然min-min算法保证了处理时间最短,但是这样导致处理能力强的资源一直处于工作状态,而其他资源一直处于空闲状态,反而不能体现分布式处理的优势。而且这样也会导致处理能力强的资源损耗较快。min-min算法只专注于任务的完成时间,而不考虑能耗、负载平衡等其他因素,因此系统平均功率最大,耗电严重。

申请内容

本申请的目的是提供一种云计算平台的资源调度方法和系统,一种计算机可读存储介质和一种服务器,解决现有的云计算平台功耗严重的问题。

为解决上述技术问题,本申请提供一种云计算平台的资源调度方法,具体技术方案如下:

根据任务和资源之间的映射关系建立资源调度矩阵;

将所述任务的数量作为量子染色体的长度,将所述资源的数量与所述量子染色体中的量子位相结合得到量子种群中的个体,为所述个体建立集合得到量子种群;

初始化所述量子种群,记录代数;

评估所述量子种群,根据所述资源调度矩阵得到第一代所述量子种群对应的第一最优个体;

循环地通过量子旋转门更新所述量子种群并评估每一代量子种群,得到每一代量子种群中的最优个体;每更新所述量子种群一次,评估所述量子种群一次,且所述代数加一;直至所述代数达到预设值时结束循环,输出最优个体集合;所述最优个体集合包括所述第一最优个体和每一代量子种群对应的最优个体;

根据所述最优个体集合进行资源调度。

其中,初始化所述量子种群,记录代数之后还包括:

将所述资源调度矩阵由二进制格式转为实数格式。

其中,还包括:

每次通过所述量子旋转门更新所述量子种群时,对所述量子种群应用变异算子;

其中,所述变异算子具体为由变异位数和变异概率确定的变异算子。

其中,所述变异概率为0.04。

其中,所述量子旋转门具体为:

其中:为第t代量子染色体第i个量子位,为应用所述变异算子后第t+i代量子染色体第i个量子位。

本申请还提供一种云计算平台的资源调度系统,其特征在于,包括:

矩阵建立模块,用于根据任务和资源之间的映射关系建立资源调度矩阵;

种群模拟模块,将所述任务的数量作为量子染色体的长度,将所述资源的数量与所述量子染色体中的量子位相结合得到量子种群中的个体,为所述个体建立集合得到量子种群;

初始化模块,用于初始化所述量子种群,记录代数;

评估模块,用于评估所述量子种群,根据所述资源调度矩阵得到第一代所述量子种群对应的第一最优个体;

循环模块,用于循环地通过量子旋转门更新所述量子种群并评估每一代量子种群,得到每一代量子种群中的最优个体;每更新所述量子种群一次,评估所述量子种群一次,且所述代数加一;直至所述代数达到预设值时结束循环,输出最优个体集合;所述最优个体集合包括所述第一最优个体和每一代量子种群对应的最优个体;

资源调度模块,用于根据所述最优个体集合进行资源调度。

其中,所述资源调度系统还包括:

格式转换模块,用于将所述资源调度矩阵由二进制格式转为实数格式。

其中,所述资源调度系统还包括:

变异模块,用于每次通过所述量子旋转门更新所述量子种群时,对所述量子种群应用变异算子;其中,所述变异算子具体为由变异位数和变异概率确定的变异算子。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现如上所述的资源调度方法的步骤。

本申请还提供一种服务器,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的资源调度方法的步骤。

本申请所提供的一种云计算平台的资源调度方法,包括:根据任务和资源之间的映射关系建立资源调度矩阵;将所述任务的数量作为量子染色体的长度,将所述资源的数量与所述量子染色体中的量子位相结合得到量子种群中的个体,为所述个体建立集合得到量子种群;初始化所述量子种群,记录代数;评估所述量子种群,根据所述资源调度矩阵得到第一代所述量子种群对应的第一最优个体;循环地通过量子旋转门更新所述量子种群并评估每一代量子种群,得到每一代量子种群中的最优个体;每更新所述量子种群一次,评估所述量子种群一次,且所述代数加一;直至所述代数达到预设值时结束循环,输出最优个体集合;根据所述最优个体集合进行资源调度。

本申请将改进后的量子遗传算法运用在云计算平台综合表现的评估中,该算法具有数学结构简单、参数控制少的特点,在多样化的任务调度需求中适应能力更强。在传统只关注云平台性能的基础上将云平台能耗考虑在调度方案中,同时保证能耗以及性能,使云平台调度更加科学。不会导致处理能力强的资源一直处于工作状态,而其他资源一直处于空闲状态,体现分布式处理的优势。且同时不会使得处理能力强的资源损耗较快,充分发挥云计算平台的性能。本申请还提供一种云计算平台的资源调度系统、一种计算机可读存储介质和一种服务器,具有上述有益效果,此处不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例所提供的一种云计算平台的资源调度方法的流程图;

图2为本申请实施例所提供的一种云计算平台的资源调度系统的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

首先,假设云计算环境下的资源调度模型可以用n个用户和m个资源组成的四元组来描述:

m=(u,v,f,θ)

其中,u为n个用户所组成的用户集合;v为m个资源所组成的资源集合;f为云资源调度优化的目标函数;θ则表示调度优化算法,多采用智能算法。调度模型的具体特征描述如下:

资源集合v={v1,v2,...,vm},每个资源按照内核数、内存大小和磁盘空间大小进行细化。其中:i表示资源编号;λi,μi和分别表示资源内核数、内存大小和磁盘空间大小。

元任务集t={t1,t2,...,tn},表示一个用户的n个相互独立的元任务。

任务时间矩阵sn×m=(sij)(i=1,2,...,n;j=1,2,...,m),sij是任务i在资源j上的执行时间。任务时间矩阵根据分配的资源性能大小取值。

资源调度矩阵en=(ei)(i=1,2,...,n),表示资源ei执行任务i。若en=[3,2,2,4,1],表示3号资源执行任务1,2号资源执行任务2,以此类推,1号资源执行任务5。

资源使用矩阵其中:其余为0。xn×m是根据资源调度矩阵产生的一个资源使用矩阵,表示第ei号资源被任务j使用。

由任务时间矩阵和资源使用矩阵可以得出资源vi上任务完成所用时间:

从而,m个资源完成任务所使用总时间为:

下面计算云计算平台能耗:

采用主成分分析(principalcomponentanalysis,pca)方法对输入数据集进行分析,发现{cpu,cache}对和{dram,disk}对有很高的相关性。因此,把系统负载分成两大类:cpu密集的负载和i/o密集的负载。基于此,单个资源功耗模型表达如下:

p{cpu,cache}=a1+a2pcpu+a3pcache;

p{dram,disk}=a4+a5pdram+a6pdisk;

p{total}=p{cpu,cache}+p{dram,disk};

其中,a1和a4是用来调节系统空闲时的系统能耗,参数a2、a3、a5、a6表示权重,pcpu、pcache、pdram、pdisk分别表示cpu、cache、dram和disk各自部件的功耗,可由监控到的系统事件计算得到。p{cpu,cache}和p{dram,disk}分别表示{cpu,cache}和{dram,disk}子系统的功耗,使用这个模型,可以计算总功耗。

将所有资源功耗与总时间相乘可得总能耗p。由此,确定本发明的目标函数为:minp。

请参考图1,图1为本申请实施例所提供的一种云计算平台的资源调度方法的流程图,该资源调度方法如下:

s101:根据任务和资源之间的映射关系建立资源调度矩阵;

可以理解的是,任务与资源之间存在一定的映射关系。对于不同的任务,其所需要的资源量很可能不同,因此每个任务通常存在其对应的最优资源,即执行该任务的资源。

举例而言,假设存在资源调度矩阵en=(ei)(i=1,2,...,n),表示资源ei执行任务i。若en=[3,2,2,4,1],表示3号资源执行任务1,2号资源执行任务2,以此类推,1号资源执行任务5。

s102:将所述任务的数量作为量子染色体的长度,将所述资源的数量与所述量子染色体中的量子位相结合得到量子种群中的个体,为所述个体建立集合得到量子种群;

量子遗传算法是基于量子计算原理的概率优化方法。它将量子比特的概率幅表示方式应用于染色体的编码,是的一个染色体具有多个模态的叠加,从而比传统的算法更具有并行性。

在量子遗传算法中,染色体的编码不是用确定的值表示,而是用量子比特来表示。一个量子位可表示成如下形式:

|ψ>=α|0>+β|1>;

其中α和β为复数,表示相应状态的概率幅,且|α|2+|β|2=1。量子比特上的运算必须保持该范数,|α|2表示|0>的概率,|β|2表示|1>的概率。一个量子位可能处于|0>或|1>,也可能处于|0>和|1>的叠加态。所以,一个量子位比经典比特位包含了更多的信息。

因此,一个长度为n的量子染色体q为:

其中|αi|2+|βi|2=1(i=1,2,...,n)。每个量子比特经过测量后可能得到的状态为0或1,因为染色体q能表示2n个不同的经典信息,所以量子遗传算法可以搜索到比经典遗传算法更为广阔的空间。

本步骤中,将任务数作为量子染色体的长度n,将将所述资源的数量与所述量子染色体中的量子位相结合得到量子种群中的个体,具体的,为方便理解,下面应用代数式进行说明:

设量子种群其中t代表量子种群的代数,t为1时量子种群为第一代。设为第t代种群中的第j个个体,则:

其中j=1,2,...,n,n为量子位数目,即量子染色体长度,也是任务数。这里的任务数通常是指用户提交的任务数。

s103:初始化所述量子种群,记录代数;

在进行量子种群的计算之前,需要先对量子种群进行初始化,并记录代数。例如,初始量子种群可以记为第一代量子种群。

s104:评估所述量子种群,根据所述资源调度矩阵得到第一代所述量子种群对应的第一最优个体;

步骤s101中已提及资源调度矩阵,在此不作过多描述。为与步骤s102中的代数式相对应,在此用r(t)表示资源调度矩阵,则:

其中,

上式中m代表的是资源数,也即虚拟机个数。

此外,还需要一个其中,是长度为n的二进制串,k=1,2,...,n。对于量子种群p(t)中的个体而言,其具体产生的过程为:对于二进制串的第i位取1;否则,取0。δ为0~1之间的一个随机数。其中,一一对应。b(t)里面的二进制串的数值反映了个体的状体,其实就是用b(t)记录了每个个体的状态,可以用于后续的方案的参考。

需要注意的是,计算每一代的最优个体无需二进制串,只需将本代中所有的资源调度矩阵都计算一次对应的功耗,功耗最小值对应的资源调度矩阵即为最优个体。

优选的,在本步骤之前,还可以选择将资源调度矩阵由二进制格式转为实数格式。当然,对于资源调度矩阵的格式转换并非必须设于本步骤之前,只需在资源调度矩阵使用前由二进制格式转为实数格式即可。且可以理解的是,将资源调度矩阵由二进制格式转为实数格式是为了便于计算,还可以使用其他格式或其他便于计算的方法,在此不作具体限定。

s105:循环地通过量子旋转门更新所述量子种群并评估每一代量子种群,得到每一代量子种群中的最优个体;每更新所述量子种群一次,评估所述量子种群一次,且所述代数加一;直至所述代数达到预设值时结束循环,输出最优个体集合;

根据量子旋转门对量子种群进行迭代,具体的,该量子旋转门为:

其中:为第t代量子染色体第i个量子位,为应用所述变异算子后第t+i代量子染色体第i个量子位。

当代数达到预设值时结束循环,输出最优个体集合。因为每一代量子种群都对应一个该代的最优个体,因此最优个体集合是所有代中最优个体的集合。即最优个体集合包括第一最优个体和每一代量子种群对应的最优个体。

在此对于预设值不作限定,应由本领域技术人员根据实验或实际需求进行相应的设定,例如可以为50、100、200等等。

s106:根据所述最优个体集合进行资源调度。

在得到最优个体集合后,即可根据最优个体集合进行资源调度,因为最优个体集合已经综合考虑过现有的资源数和用户提交的任务数,并经量子遗传进行计算,得到了最优解,即最优个体。因此,利用最优个体进行资源调度即可实现资源的高利用率,同时,降低了云计算平台的功耗。

本申请将改进后的量子遗传算法运用在云计算平台综合表现的评估中,该算法具有数学结构简单、参数控制少的特点,在多样化的任务调度需求中适应能力更强。在传统只关注云平台性能的基础上将云平台能耗考虑在调度方案中,同时保证能耗以及性能,使云平台调度更加科学。不会导致处理能力强的资源一直处于工作状态,而其他资源一直处于空闲状态,体现分布式处理的优势。且同时不会使得处理能力强的资源损耗较快,充分发挥云计算平台的性能。

基于上述实施例,作为优选的实施例,上述资源调度方法还可包括:

每次通过所述量子旋转门更新所述量子种群时,对量子种群应用变异算子。

该变异算子具体为由变异位数和变异概率确定的变异算子。利用变异算子的目的是为了寻求可能存在的比每一代量子种群中最优个体更优的个体,因为变异算子带来的变异可能性,可能得到比经严格计算得到的最优个体更优秀的个体,以满足资源调度的需求。

下面对本申请实施例提供的一种云计算平台的资源调度系统进行介绍,下文描述的资源调度系统与上文描述的资源调度方法可相互对应参照。

参见图2,图2为本申请实施例所提供的一种云计算平台的资源调度系统的结构示意图,该资源调度系统包括:

矩阵建立模块100,用于根据任务和资源之间的映射关系建立资源调度矩阵;

种群模拟模块200,将所述任务的数量作为量子染色体的长度,将所述资源的数量与所述量子染色体中的量子位相结合得到量子种群中的个体,为所述个体建立集合得到量子种群;

初始化模块300,用于初始化所述量子种群,记录代数;

评估模块400,用于评估所述量子种群,根据所述资源调度矩阵得到第一代所述量子种群对应的第一最优个体;

循环模块500,用于循环地通过量子旋转门更新所述量子种群并评估每一代量子种群,得到每一代量子种群中的最优个体;每更新所述量子种群一次,评估所述量子种群一次,且所述代数加一;直至所述代数达到预设值时结束循环,输出最优个体集合;

资源调度模块600,用于根据所述最优个体集合进行资源调度。

基于上述实施例,作为优选的实施例,所述资源调度系统还可以包括:

格式转换模块,用于将所述资源调度矩阵由二进制格式转为实数格式。

基于上述实施例,作为优选的实施例,所述资源调度系统还可以包括:

变异模块,用于每次通过所述量子旋转门更新所述量子种群时,对所述量子种群应用变异算子;其中,所述变异算子具体为由变异位数和变异概率确定的变异算子。

本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请还提供了一种服务器,可以包括存储器和处理器,存储器中存有计算机程序,处理器调用存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然服务器还可以包括各种网络接口,电源等组件。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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