1.一种云服务器在能耗约束下感知负载性能优化方法,其特征在于,主要包含如下步骤:
对大规模云中心服务器的性能和功耗分别进行整体分析建模,云服务器能耗约束下感知负载性能优化问题转化成一个标准的背包问题,并将标准的背包问题转化成一个有向无环图DAG;根据任务到达率λ实时更新DAG,然后使用改进的动态规划算法在DAG中遍历一条最短路径,最短路径上的频率值,即是问题最优的解,云服务器按照得到的频率值调节其运行速度,即可得到能耗约束下的最优性能;
所述对大规模云中心服务器的性能和功耗分别进行整体分析建模,云服务器能耗约束下感知负载性能优化问题转化成一个标准的背包问题,并将标准的背包问题转化成一个有向无环图DAG,包括如下步骤:性能模型:根据云中心的服务器的服务时间和任务到达率等参数,将云中心每台服务器的任务请求‑处理过程视为排队过程,记为M/M/1,云中心服务器的性能可由任务的平均响应时间R表示:其中h(fi)=1/(μi·fi‑λi), λi表示任务到达率,μi
表示服务器的服务率,fi表示服务器i的运行频率,fi={f1,f2,…,fn},即服务器i有m个频率级别,τc表示服务器空闲之后的等待时间阈值,τs表示服务在关闭状态转为正常处理任务状态所用时间值;
功耗模型:云中心服务器的功耗一般由静态功耗和动态功耗组成,静态功耗可以看作定值,所以动态功耗可以表示为:
其中,g(fi)=pi, P0为服务器最大功
率,C为外设的平均功率,λi表示任务到达率,μi表示服务器的服务率,fi表示服务器i的运行频率,fi={f1,f2,…,fn},即服务器i有m个频率级别,τc表示服务器空闲之后的等待时间阈值,τs表示服务在关闭状态转为正常处理任务状态所用时间值;
问题定义:基于以上模型,本发明需要解决的问题可以描述为,在给定时刻,通过感知服务器的工作负载λi,采取相关策略,动态进行优化求解fi,每台服务器按照fi运行,使得应用的平均响应时间最小而且总能耗不能超过给定功率约束P,所述问题可以由如下数学公式表示:其中P是云中心的总能量;
构建DAG:基于以上定义的问题,将问题转化成一个有向无环图DAG,其中V表示节点,E表示边,共有m×(n‑1)+2个节点,m表示每台服务器有m个可调频率级别,n表示有n台服务器,2表示两个虚拟节点,即s和d,每个节点有前向功率值、后向功率值和后向性能值三个属性,每个边有节点的能耗和性能两个属性;
所述根据任务到达率λ实时更新DAG,然后使用改进的动态规划算法在DAG中遍历一条最短路径,最短路径上的频率值,即是问题最优的解,云服务器按照得到的频率值调节其运行速度,即可得到能耗约束下的最优性能,包括如下步骤:更新DAG:由于任务调度原因,由于服务器i运行负载轻而被迫关闭,所以需要实时对网络图的边和节点进行更新,即实时增减DAG的节点和边,节点代表服务器,而边代表服务器对应的性能值和功率值,同时随着负载λi的变化,每个边的性能值和前向功率值皆进行更新;求解问题:动态规划算法能够很好的解决背包问题,但是云中心服务器数量规模庞大,传统的动态规划算法时间复杂度高,不利于实时计算,本发明设计一个改进的动态规划算法进行求解:在得到更新的DAG之后,云中心服务器性能优化问题的求解可以转化为在有向无环图中寻找从S到D之间的最短路径问题,可以充分利用云中心服务器的计算优势,借鉴并行计算思想,利用最短路径并行算法从目的节点D到源节点S反向并行搜索,在一次迭代中,当前阶段的每一个节点选择一条边,这条边的延迟值和阶段中对应节点已得到的延迟之和最小且满足功耗约束,同时用得到的延迟值更新当前阶段中对应节点的延迟值,在下一次迭代中,得到的最小延迟值被传递给前一个阶段中的所有节点,在每次迭代中,计算可以在多个计算单元同时完成,整个搜索可以在n次迭代内完成;
最后云服务器实时按照得到的频率值调节其运行速度,即可得到能耗约束下的最优性能。