基于相空间的云计算能耗优化方法和系统与流程

文档序号:15998843发布日期:2018-11-20 19:11阅读:202来源:国知局

本发明涉及云计算领域,尤其涉及基于相空间的云计算能耗优化方法和系统。



背景技术:

云计算的出现使得企业可以在线获取大量的计算和存储资源,只需按使用资源的时长进行付费,避免了对昂贵IT基础设施的投入。随着云计算技术的迅猛发展,全球云计算数据中心的数量在不断增加,数据中心每年消耗的能源占全世界能源消耗的比例逐年增长。云计算数据中心每年消耗大量能源的同时,也对环境造成一定的压力(如数据中心产生的温室气体),云计算能耗问题已逐渐成为研究人员关注的重点。云计算数据中心是一个协调工作的整体,云计算系统中存在大量的计算迁移、存储迁移等高耦合操作,所以云计算系统是一种具有海量节点的高耦合系统。要想在系统层面上研究云计算能耗问题,就需要将云计算系统中的所有节点作为一个整体来对待和分析。

当前,云计算的能耗优化管理是能耗相关研究的重要内容之一,主要围绕动态电压频率调整技术、关闭休眠技术、虚拟化技术几大主流方向开展研究。精确的能耗度量和预测模型是能耗优化管理的基础,目前已有的能耗评估模型包括系统主要部件使用率的能耗模型和基于性能计数器的能耗预测模型。对基于系统使用率的能耗评估方法,早期的研究大多是基于处理器利用率的能耗模型,认为CPU是云服务器(云计算系统)工作节点中耗能比例最高的部件,并且其他组件的占用率提高往往会导致CPU利用率的攀升。因此以CPU利用率来评价系统负载,进一步估计系统能耗是可行的。一些研究通过关注CPU的频率和使用率,并将服务器其他组件的能耗状态设为常量来估算服务器节点能耗。基于性能计数器(PMC)的能耗模型,主要是通过各大硬件厂商提供的性能监控系统,如对处理器中指令、缓存、页表缓存的监控,然后筛选出重要的影响因子并建立模型这类方法的测量开销极低且结果相对精确,能够获取“底层”的真实数据且也能在整体上对能耗进行评估,但是这种方法的部署难度相对较大。以上方法都有各自的适用场景,能提供较为精确的能耗预测和度量。但是以上能耗模型更关心单个服务器节点的能耗状态,对高性能计算中心的能耗估量也只是简单的将服务器节点的能耗累加起来。因此上述方法更适合应用于服务器间的能耗状态耦合不明显的情况,不适用于高耦合的云计算系统。



技术实现要素:

本发明目的在于提供一种基于相空间的云计算能耗优化方法和系统,以优化云计算中的能耗,减少任务分配时间,提高任务分配效率。

为实现上述目的,本发明提供了一种基于相空间的云计算能耗优化方法,包括以下步骤:

S1:获取云计算系统中所有的节点以及所述节点的上下文环境信息,并建立能耗模型;

S2:测量所述节点所有正在执行的任务的总能耗,根据该总能耗建立静态能耗相空间;

S3:采用所述能耗模型预测新增任务所需的能耗,并建立动态能耗相空间;

S4:根据所述静态能耗相空间计算得到最优子相空间;

S5:预测新增任务在所述最优子相空间中各节点的能耗,根据所述静态能耗相空间和所述动态能耗相空间设计任务调度算法,并确定新增任务的最优任务分配方案。

优选地,所述S2中,所述建立静态能耗相空间具体包括以下步骤:

S21:获取所述云计算系统中当前的所有节点正在执行任务的能耗参数组成的所有向量;

S22:将所有所述向量映射到相空间中,将所述能耗参数的个数视为相空间的维度,将所有所述向量的模之和视为云计算系统当前的负载总能耗,根据所述负载总能耗建立静态能耗相空间。

优选地,所述S3中,所述建立动态能耗相空间具体包括以下步骤:

S31:采用能耗模型预测所述云计算系统中的新增任务的能耗参数组成的所有能耗增加向量;

S32:将所述能耗增加向量映射到相空间中,将所述新增任务的能耗的参数个数视为相空间的维度,将所有所述能耗增加向量的模之和视为新增的总能耗,根据所述新增的总能耗建立动态能耗相空间。

优选地,所述S4具体包括以下步骤:

S41:建立静态能耗相空间中反应所述节点能耗状态的坐标轴,并确定所述静态能耗相空间的投影点集合;

S42:在所述静态能耗相空间中,过所述投影点集合的重心向所述坐标轴作垂线得到相应数量的子项空间;

S43:若某个子项空间中任意一点在各坐标轴上的坐标值均小于中心的坐标值,则将该子项空间视为最优子项空间。

优选地,所述S5中,所述确定新增任务的最优任务分配方案具体包括以下步骤:

S51:采用所述能耗模型预测新增任务在所述最优子项空间中各节点上的能耗,并得到所有可能的分配方案;

S52:采用任务调度算法将所述所有可能的分配方案映射到所述动态能耗相空间中,将使得相空间重心相比于原点移动距离最小的方案视为所述新增任务的最优任务分配方案。

优选地,所述S1中,所述上下文环境信息包括节点类型、网络条件、以及集群位置。

优选地,所述向量包括CPU能耗、内存能耗以及磁盘能耗。

优选地,所述增加向量包括CPU能耗增加值、内存能耗增加值以及磁盘能耗增加值。

作为一个总的技术构思,本发明还提供一种基于相空间的云计算能耗优化系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

本发明具有以下有益效果:

本发明提供一种基于相空间的云计算能耗优化方法和系统,首先获取云计算系统中所有的节点以及节点的上下文环境信息,并建立能耗模型;并测量节点所有正在执行的任务的总能耗,根据该总能耗建立静态能耗相空间;然后采用能耗模型预测新增任务所需的能耗,并建立动态能耗相空间;再根据静态能耗相空间计算得到最优子相空间并预测新增任务在最优子相空间中各节点的能耗,根据静态能耗相空间和动态能耗相空间设计任务调度算法,并确定新增任务的最优任务分配方案;考虑了云计算系统中各节点之间的上下文环境因素,能使对能耗的预测更为精准,以优化云计算中的能耗,减少任务分配时间,提高任务分配效率。

下面将参照附图,对本发明作进一步详细的说明。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明优选实施例的基于相空间的云计算能耗优化方法流程图;

图2是本发明优选实施例的云计算静态能耗相空间的效果图;

图3是本发明优选实施例的云计算动态能耗相空间的效果图;

图4是本发明优选实施例的最优子项空间的阈值设置情况图;

图5是本发明优选实施例的四种调度算法在动态能耗相空间中投影点的分布特征;

图6是本发明优选实施例的基于相空间的四种算法的性能比较情况示意图;

图7是本发明优选实施例的四种算法的结果处于静态相空间中的投影点重心到原点的距离对比情况示意图。

具体实施方式

以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。

实施例1

参见图1,本实施例提供一种基于相空间的云计算能耗优化方法,包括以下步骤:

S1:获取云计算系统中所有的节点以及节点的上下文环境信息,并建立能耗模型;

S2:测量节点所有正在执行的任务的总能耗,根据该总能耗建立静态能耗相空间;

S3:采用能耗模型预测新增任务所需的能耗,并建立动态能耗相空间;

S4:根据静态能耗相空间计算得到最优子相空间;

S5:预测新增任务在最优子相空间中各节点的能耗,根据静态能耗相空间和动态能耗相空间设计任务调度算法,并确定新增任务的最优任务分配方案。

以上步骤中,考虑了云计算系统中各节点之间的上下文环境因素,建立了静态能耗相空间和动态能耗相空间,能使对能耗的预测更为精准,优化云计算中的能耗,减少任务分配时间,提高任务分配效率。

在实际应用时,本发明实施例还可增加步骤进行如下优化:

S1:获取云计算系统中所有的节点以及节点的上下文环境信息,并建立能耗模型。

具体地,通过优化任务分配方案能实现对云计算系统进行能耗优化,因此,需要预测新增任务在可能接收该任务的节点上执行的能耗。设目标云计算系统包括M个节点,每个节点有N个组件,Ci表示第i个节点,Cij表示第i个节点的第j个组件。记组件实际时间开销为分别表示当前任务在处理器、内存、磁盘上的实际时间开销。采用节点组件的历史平均功耗来计算节点的各组件能耗,计算如下:

其中,Pij表示组件Cij的历史平均功耗,表示任务在组件Cij上的实际时间开销。

节点能耗由实际时间开销与功率决定的,计算公式为:

其中,为节点Ci的实际能耗,由该节点N个组件的能耗值累加得到,为节点Ci的第j个组件Cij的实际能耗。

由于任务的理想时间开销是尽可能排除空闲等待情况后得到,而任务的实际时间开销会大于理想时间开销,因此采用理想时间开销计算得到的能耗小于实际执行时间开销得到的能耗。记当前任务在各组件上的理想时间开销分别表示当前任务在处理器、内存、磁盘上的理想时间开销。

大规模云集群中,系统的整体能耗将与集群节点所处的上下文环境密切相关,该上下文环境包括集群位置、网络条件、系统架构、节点类型等。例如组件配置完全相同的两个大规模集群,由于其所处的上下文环境的不同,当系统任务请求一致时也会造成一定程度的能耗差异。这个上下文环境在一定时间内对集群能耗造成一致性影响,即对于某一个节点,其上下文环境参数反映了系统所处的整体状态,在一定时间范围内保持不变。

需要说明的是,在优化云计算系统中的能耗时,充分考虑节点所处的上下文环境能使计算结果更为精确。对于一个节点,其当前上下文环境参数为θ=Tm/Tr。进一步地,使用时间序列分析中的加权平均法,根据节点的前K批历史实测时间开销来预测当前节点的上下文环境参数,计算如下:

其中,θK+1表示上下文环境参数当前预估值,θi表示由远及近的第i组历史实测数据的环境参数,wi表示由远及近的第i组历史实测数据的权重,距当前时间越近的历史数据权重越大,

在当前任务请求的理想时间开销已知的情况下,需要通过一些手段去得到任务的实际时间开销。结合上述上下文环境参数,计算任务的实际时间开销如下:

表示任务在组件Cij上的理想时间开销,θi为节点的环境参数,新到来的任务在该节点上运行时,也服从节点上下文的环境参数特征。于是,可以建立能耗模型为:

S2:测量所述节点所有正在执行的任务的总能耗,根据该总能耗建立静态能耗相空间。具体包括:

S21:获取云计算系统中当前的所有节点正在执行任务的能耗参数组成的所有向量;

S22:将所有向量映射到相空间中,将能耗参数的个数视为相空间的维度,将所有向量的模之和视为云计算系统当前的负载总能耗,根据负载总能耗建立静态能耗相空间。

具体地,设云计算系统中当前包括N个实时能耗,且将云计算系统当前的N个实时能耗参数组成的向量映射到相空间中,该处的向量包括CPU能耗、内存能耗,以及磁盘能耗等,将相空间的维度视为实时能耗参数个数,向量的模表示节点当前的负载总能耗,称这样的相空间为云计算静态能耗相空间。

为了便于理解云计算系统中的节点与向量之间的关系,应当说明的是,假设云计算系统包含n个节点,则应该组成n个向量,第i个向量的模表示第i个节点的总能耗,所有向量的模之和表示云计算系统的当前负载总能耗。下面的动态能耗相空间的情况类似于此,所有能耗增加向量的模之和表示系统增加的总能耗,单个向量的模只表示单个节点的能耗增加值。

云计算系统的静态能耗相空间的建立考虑云计算系统节点上所有正在执行任务的总能耗。节点Ci在静态能耗相空间中的位置坐标Ai表示如下:

Ai=(Xi1,Xi2,…Xij…XiN),1≤j≤N;

其中,

式中,Xij表示组件Cij上当前总能耗的归一化值,表示节点Ci上当前总任务负载在组件Cij上产生的能耗值。λi表示节点Ci能耗占云集群总能耗的百分比,即表示Ci的历史平均能耗;表示云数据中心的历史平均能耗。wij表示组件Cij能耗占节点Ci总能耗的百分比,即表示Cij的历史平均能耗。

需要说明的是,将节点Ci在当前负载下的能耗归一化为相空间中的广义坐标后,便在相空间中确定了唯一的投影点Ai,这样就能将云计算系统中节点的当前能耗状态投影到能耗相空间中,静态能耗相空间中点的位置来表示节点的整体能耗状态。云计算静态能耗相空间的效果如图2所示,值得说明的是,本实施例中只考虑了CPU、内存、磁盘的3维相空间,多维情况与此类似,在此不做赘述。

在建立云计算系统中节点能耗状态到能耗相空间的映射时已经考虑了节点和组件的权重因素,能耗状态在能耗相空间中投影点集合的重心为G(X1,X2,…Xj…XN),其在相空间中的位置表示云计算系统当前的整体能耗状态,其中Xj计算如下:

式中,1≤j≤N。

S3:采用能耗模型预测新增任务所需的能耗,并建立动态能耗相空间。具体包括:

S31:采用能耗模型预测云计算系统中的新增任务的能耗参数组成的所有能耗增加向量;

S32:将能耗增加向量映射到相空间中,将新增任务的能耗的参数个数视为相空间的维度,将所有能耗增加向量的模之和视为新增的总能耗,根据新增的总能耗建立动态能耗相空间。

然后,获取云计算系统中由N个能耗参数在新增任务下组成的能耗增加向量,并将该增加向量映射到相空间中,该处的增加向量包括CPU能耗增加值、内存能耗增加值、以及磁盘能耗增加值等,将相空间维度视为参数个数,映射到相空间中时,能耗增加向量的维数即为相空间的维数,相空间中向量的模代表节点的能耗变化程度,称这样的相空间为云计算动态能耗相空间,如图3所示。

值得指出的是,云计算系统动态能耗相空间的建立考虑节点接收任务产生的能耗增加情况。将节点Ci因接收任务而带来的能耗增加值的归一化值作为Ci在动态能耗相空间中投影点的广义坐标,节点Ci的能耗变化值在动态能耗相空间中广义坐标如下:

A′i=(X′i1,X′i2…X′ij…X′iN),1≤j≤N;

其中,X′ij表示组件Cij上当前能耗变化的归一化值,表示节点Ci接收任务负载后组件Cij的能耗变化值。

同理,在动态能耗相空间中投影点集合的重心为G′(X′1,X′1,…X′j…X′N),其在相空间中位置表示云计算系统接收任务后能耗的增加情况,其中X′j计算如下:

式中,1≤j≤N。

本实施例中,采用上述方法分别建立了静态能耗相空间和动态能耗相空间,通过相空间来描绘云计算系统中的整体能耗状态,使用方便,且能辅助实现对云计算系统中能耗状态的精确分析。

作为本领域技术人员,应当明白的是,在静态能耗相空间中,当节点上任务执行完毕释放资源时,投影点朝着相空间原点方向运动投影点与原点的距离减少,即云计算系统上当前任务负载的总能耗降低;当云计算系统中的节点接收任务时,节点产生的能耗增加,投影点朝着远离相空间原点的方向运动即投影点与原点的距离增加,表示云集群当前负载产生的总能耗增加。同样,在动态能耗相空间中投影点与原点距离的距离对应节点接收负载后能耗的增加值,投影点离原点距离越大,节点接收的任务负载在节点上产生的能耗越大。

需要说明的是,在静态或动态能耗相空间中点的状态变化与其运动过程无关,只与外部的负载请求有关。且在热力学系统中,状态性质的变量只与始终态有关,与途径无关。将云计算系统能耗状态放入热力学系统研究模型中,状态变化特征与热力学系统状态变化特征一致,所以相空间中点的状态变化无关过程,只与外部请求有关故当云计算系统的能耗状态发生变化时,接收负载和释放负载往往同时存在,如果系统外界传递的负载能耗状态增加为D,系统能耗状态从S1变化到S2,与此同时系统释放负载能耗状态减少为R,那么D=S2-S1+R。

当云计算系统中的节点释放或增加负载时,投影点位置在静态能耗相空间中以如下方式变化:

设云计算系统的节点在能耗相空间中的原始投影点坐标为C_node(x,y,z),节点增加的负载用一个三维向量表示T_add=(a,b,c),接收负载后静态能耗相空间中投影点的坐标为:

式中,分别表示接收该任务的节点能耗变化值映射到动态能耗相空间中后各维度的广义坐标值。

S4:根据静态能耗相空间计算得到最优子相空间。具体包括:

S41:建立静态能耗相空间中反应节点能耗状态的坐标轴,并确定静态能耗相空间的投影点集合;

S42:在静态能耗相空间中,过投影点集合的重心向坐标轴作垂线得到相应数量的子项空间;

S43:若某个子项空间中任意一点在各坐标轴上的坐标值均小于中心的坐标值,则将该子项空间视为最优子项空间。

在实际应用中,在静态能耗相空间中,过投影点集合的重心G向N个坐标轴作垂线,这些垂线将N维相空间分解成2N个子相空间。子相空间中任意一点在各坐标轴上的坐标值均小于重心G的该坐标轴上的坐标值时,称这样的子相空间为最优子相空间。

处于最优子相空间的节点大致分为两类,一类是节点本身能效较好的,这类节点在执行任务时比其他节点的能耗低,因此在任务分配时可以优先考虑这一类节点;第二类节点是由于资源利用率较低导致能耗较低,已有研究表明云计算系统在利用率很低时电能消耗有时会超过该节点的峰值能耗,因此在不关闭这类节点的前提下要想提高能效,就需要提高这类节点的利用率,将任务分配给这类节点能明显增加能耗,降低执行任务时整个系统的能耗。在能耗优化的目的下,最优子相空间中的节点接收任务后整体能效比处于其他子相空间的节点接收任务后能效更优。

节点Ci在静态能耗相空间中的广义坐标Ai满足如下公式判断投影点是否在最优子相空间中。

如图2,在云计算三维静态能耗相空间中,过重心向坐标轴作垂线可以将相空间分割为P1~P8共8个子相空间。子相空间P1中任意点各维度的坐标值均小于重心的坐标值,按照最优子相空间的定义,在图2的云计算三维静态能耗相空间中P1为最优子相空间。优选地,为了简化最优子相空间的寻找,可以使X1….XN统一等于一个阈值S,S的值根据实际情况设定。

S5:预测新增任务在最优子相空间中各节点的能耗,根据静态能耗相空间和动态能耗相空间设计任务调度算法,并确定新增任务的最优任务分配方案。具体包括:

S51:采用能耗模型预测新增任务在最优子项空间中各节点上的能耗,并得到所有可能的分配方案;

S52:采用任务调度算法将所有可能的分配方案映射到动态能耗相空间中,将使得相空间重心相比于原点移动距离最小的方案视为新增任务的最优任务分配方案。

在实际应用中,先计算任务调度算法的权重,大多数任务分配方法都是采用随机选取任务然后迭代找到最小的总能耗,这样可能增加算法的复杂度。本实施例通过计算任务的调度优先权重rank值,其中,rank值由任务在各投影点在相空间中参数的平均值决定。根据rank值的非递减顺序进行任务调度是能够保证任务调度满足优先调度能耗较小的任务,然后根据调度顺序选择最优的节点进行调度。在不采用最优子相空间时,待匹配的节点数均为M,因此算法的时间复杂度为O(N*M),在考虑优先采用最优子相空间中投影点对应的节点进行匹配时,待匹配节点数小于M因此时间复杂度小于O(N*M)。

因此,当有新增任务到达云计算系统中时,任务调度算法在基于最小能耗的目标情况下对任务进行快速分配。其中,该新增任务可以为单个,也可以为批量,需要说明的是,新增任务的多少对本实施例的方法并不造成影响,因此,不对新增任务数量多少做具体分析。功耗模型预测任务在最优子相空间中各个节点上的能耗,然后由任务调度算法将各种可能的分配方案映射到动态能耗相空间中,找到使得相空间重心移动距离最小的方案进行本轮次的任务分配。此处,相空间重心移动距离最小具体为,动态功耗相空间中,重心相比于原点移动距离最小。

实验验证:

在实际情况中,要通过节点的历史能耗数据来预测下一次任务到来时在该节点的执行能耗,需要知道节点的参数,本实验中,节点的参数如表1所示,组件平均功率按大小分为1~5共5个级别。

表1节点参数

由于本实施例针对的是混合类型的应用,故选择多种实际应用来代表各种不同类型的应用,包括气象预、图像处理、分子建模、数据可视化和邮件服务。本实验中所有用到的应用如下表2所示。

通过在上执行以上五种类型的应用,将监控得到的数据作为系统的仿真数据集。利用它们生成混合负载类型的应用,并根据应用的特点将其对各组件资源要求程度分为3个级别:低、中、高。表2中分别用1、2、3表示。

表2多种类型应用参数

本实验通过建立仿真系统来评估在大规模云计算数据中心中云计算相空间调度算法的性能,在该仿真系统中,通过上述真实任务和参数情况模拟出任务和云计算系统,当批量仿真任务到达仿真系统时,仿真系统利用能耗预测模型预测任务的执行能耗后生成总能耗最小的任务分配方案,依据生成的方案进行本轮任务调度。任务请求采用时间片组成的向量来模拟,时间片代表模拟任务占用节点组件的单位时间长度,如cpu请求时间、内存请求时间、磁盘请求时间为一个仿真任务。任务在被分配后每经过一个单位时间时间片就减少一个单位,全部为0时则表示任务执行完毕后被释放。节点的仿真参数由多个参数组成的向量,如(节点环境参数θ、能耗组件的额定功耗P、节点的能耗权重λ和组件的权重ω)最后根据统计得到的数据来评估相空间能耗优化框架的性能。

在本实验中,进行仿真实验的物理平台为处理器为Inter(R)Core(TM)i5-6500,3.20GHZ;4GB RAM;Windows7 64位操作系统的DELL主机。每个节点根据上述真实的服务器参数分配虚拟CPU、内存和磁盘空间参数。这样就组成了一个异构的仿真服务器集群,在任务分配到集群后根据虚拟服务器反馈的数据计算分配后的能耗,并与其他分配方式的结果进行对比。

为了分析相空间调度算法中最优子相空间的作用,图4记录了多轮被选中的最优子相空间中的节点数占总节点的比重与不用最优子相空间时的重心到原点距离超出使用最优子相空间的比重。

据图4可知,在阈值分别设置为0.2、0.4、0.6和0.8时最优子相空间中被选中的投影点占比与重心到原点距离超过不使用最优子相空间时的比例。在阈值为0.2时选择的节点较少,距离差异较大,选择阈值在0.4-0.6之间时超出距离占比和选择0.8时的差异不大,故而选择阈值在0.4-0.6附近的能最大限度降低复杂度且不增加过多额外能耗。

进一步地,将本发明所提出的任务调度算法(PSA)与目前常用的Min-Min、RR、以及CPSO三种算法在相空间中对调度结果进行对比评估。图5(a)~(d)为1000个节点在单位时间片任务请求数10000时,四种调度算法在动态能耗相空间中投影点的分布特征,投影点坐标取仿真开始后在稳定阶段下多个时间片调度结果的平均值。对比图5(a)~(d)可以看出,经过RR算法调度后,节点投影点在动态能耗相空间中处于一种随机发散的状态,其重心离原点也最远。其原因是因为RR算法按照任务的到达队列和云计算系统的准备队列来进行调度,具有较大的随机性,不能选择到最适合的任务执行节点,导致任务分配时动态相空间中投影点也处于相对随机的分布状态。经过Min-Min算法调度后的节点在动态能耗相空间中的投影点相对聚集,且其投影点重心也比RR算法调度后的重心距离原点更近,故而其调度性能优于RR算法。CPSO调度后的投影点较Min-Min算法,则更加聚集在原点附近。但是与PSA相比,前面三种调度算法调度后的重心距原点距离均大于PSA调度后的重心到原点距离,根据动态相空间中投影点重心距原点越近云计算集群能耗增加越小的对应关系,PSA调度算法的性能优于其他三种。虽然经过PSA调度后少部分节点的投影点较为发散,但是经过其调度后在动态能耗相空间中聚集在原点附近的投影点密度最高,产生这一特征的原因是PSA旨在进行整体层面的能耗优化调度,而Min-Min和CPSO在调度时陷入了局部最优的情况。

综合上述分析,在云计算整体能耗最小的任务调度要求下,PSA的性能优于其他三种调度算法。

图6表示在1000个节点下单位时间片任务数从5000~30000时各调度算法的调度结果在静态能耗相空间中重心距原点的距离PSA、NPSA(比PSA少了选择最优子相空间的步骤,其他一样)、RR、Min-Min和CPSO的调度性能比较。接近于PSA和NPSA中NPSA的重心与原点距离增加速度最小。虽然NPSA略优于PSA,但是PSA算法考虑了最优子相空间,可以减少需要考虑的节点数量,能够对到达的任务进行快速分配,而且NPSA相对于PSA的优势可以忽略不计,因此PSA的整体调度性能最优。

图7表示在单位时间任务请求数为10000,节点数由100~5000变化时,PSA、Min-Min、RR、CPSO调度算法的结果处于静态相空间中的投影点重心到原点的距离对比情况。随着节点数量的不断增加,可以看出经过各算法调度后的投,影点在相空间中重心到原点的距离均有所降低。这是由于随着节点的增加,出现了更多可供选择的节点进而出现了更多的可选方案,导致整体能耗状态变优。同时可以看到,在节点数较少时CPSO算法的调度效果优于其他算法,但随着节点数量的增加,PSA的调度性能得到了较大提升,逐渐超过其他三种调度算法。因此可以得出结论,PSA针对少量节点的任务调度效果一般,针对有大量节点的云计算系统的数据中心调度问题具有更明显的优势。

实施例2

与上述方法实施例相对应地,本实施例提供一种基于相空间的云计算能耗优化系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

如上所述,本发明提供一种基于相空间的云计算能耗优化方法和系统,首先获取云计算系统中所有的节点以及节点的上下文环境信息,并建立能耗模型;并测量节点所有正在执行的任务的总能耗,根据该总能耗建立静态能耗相空间;然后采用能耗模型预测新增任务所需的能耗,并建立动态能耗相空间;再根据静态能耗相空间计算得到最优子相空间并预测新增任务在最优子相空间中各节点的能耗,根据静态能耗相空间和动态能耗相空间设计任务调度算法,并确定新增任务的最优任务分配方案;考虑了云计算系统中各节点之间的上下文环境因素,能使对能耗的预测更为精准,以优化云计算中的能耗,减少任务分配时间,提高任务分配效率。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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