APP下载

网络可靠性感知资源任务能耗调度方法仿真

2021-11-17薛佳楣李美珊

计算机仿真 2021年2期
关键词:执行器能量消耗能耗

薛佳楣,李美珊,刘 越

(佳木斯大学信息电子与技术学院,黑龙江 佳木斯154007)

1 引言

降低服务器执行能耗对降低网络可靠性感知资源任务调度能耗具有一定的参考意义。服务器执行任务的能量消耗是用户指定任务在服务器上进行运转时形成的能量消耗,并且能量消耗会随服务器对指定任务工作而产生的功率以及执行指定任务时间的变化而变化,以对于服务器执行任务的能耗调度不仅要满足用户对服务质量与服务效率的要求,还要尽最大可能来降低服务器在执行任务时的能量消耗。

如何降低服务器执行任务的能量消耗、延长网络的寿命等问题成为了研究网络绿色环境的热点,能耗优化是达成网络绿色环境的关键前提条件。文献[1]提出一种云工作流任务调度能效优化方法,将最初任务自底向上进行分级排序,然后得到所有任务的调度初始顺序,再利用数据信息处理器合并,最后使各个任务选择合适等级的服务器资源完成调度,该方法资源利用率较高,但是该方法执行任务时间过长,效率较低。文献[2]提出基于繁忙时间的并行调度能耗优化方法。将所要执行的任务加入待执行任务列表中,根据网络服务器可用节点将任务划分为首要任务和非首要任务;再根据任务列表指示,使所有服务器节点完成任务的总服务时间局部最优,按准则分配服务器进行调度。完成所有作业请求后,将非作业窗口进行划分,直至全部作业请求执行结束。该方法的弊端是服务器负载太重,缩短了网络寿命。以上两种调度方法不能将任务均衡分配,并且没有考虑到服务器能量消耗会随着任务的不同而变化,存在计算量大、服务器能耗高、网络使用寿命短等问题。

为解决上述问题,本文提出一种新的网络可靠性感知资源任务能耗调度方法。将多个目标任务进行单一优化再分配,达到能耗均衡。仿真证明,本文提出的网络可靠性感知资源调度方法,在一定程度上降低服务器能耗,提高网络寿命。

2 网络可靠性感知资源多目标任务调度模型

研究环境是以执行器(服务器)节点作为簇首的网络结构,如图1所示。当服务器接收到用户发出的指定任务时,执行节点向服务器发送运行任务的属性信息数据通知,并根据该属性完成任务,或服务器自己执行或与其它服务器联合执行完成指定任务目标[3]。为避免等待执行任务时间的增加会导致能量消耗增大的问题,达到实时处理与能量消耗均衡同时兼顾的要求,需连通相邻服务器节点共同协作完成任务。

图1 网络结构图

针对执行器节点能耗均衡协作中[4],将可靠性感知资源任务分为多个任务,执行单元量化为多目标模型[5]。并且运用理想点法将用户发出的多个指定任务进行单个目标任务处理,借此获取最优能量消耗的调度方法。根据上述网络结构,进行用户指定任务类型的设定及其任务实现所需时间的求解。

2.1 用户指定任务类型的设定

在执行用户指定任务时,由执行器进行单个节点执行或者多个节点执行,这种执行任务的方法可解决在任务发生频率较高时服务器压力过大导致能耗消耗较多的问题,使得能量消耗均衡并且使用寿命延长[6],假如,各个服务器节点的条件一致,可得出以下设定:

假设1:完成一个指定任务的执行能耗与执行时间是可以预测的,将该操作作为一个执行单元,将其标记为t,一个可靠性感知资源任务为t=t1∪t2∪…∪tn,且满足∀ti,tj∈t,∃ti∩tj。此时称可靠性感知资源任务具有可分性。

假设2:若O={o1,o2,…,on}为任务t的n个任务单元执行序次,o1只有一个后任务单元,on只有一个前任务单元,则可称执行过程具有工序限制。

2.2 最大任务的完成时间求解

考虑到n个有工序的可靠性感知资源任务在m个服务器节点上的工作过程[7],为在最短的时间内完成全部任务使得能量消耗最少,在指派可靠性感知资源任务的时要对能量消耗均衡函数f(E)加以考虑,在保证能耗均衡的前提下加快任务属性数据资源的流转延长执行器的使用寿命,进而缩短存储时间降低存储成本LT;且需要减少可靠性感知资源任务的完成时间Cmax,以达到实时调度的要求。

1)任务能量均衡函数f(E)

设P(t)为在单位时间内执行器节点完成用户指定任务后所需要的能量消耗,γ是用户指定任务所需的能量,则执行器节点k执行时的能量消耗是

(1)

在分配任务的同时也要考虑到执行器所剩能量的多少产生的局限性,各个执行器在完成任务后所剩下的能量是要保证完成再分配的任务单元,并且还需要将指定任务的执行数据信息传到下一服务器节点[8]。r为服务器节点传递数据距离,l为帧长,则数据的传输和接收能耗表示为

(2)

其中,αr为在距离r传输的发射功率;β为发射数据电路的能量消耗系数,w为数据发射通道衰减的倍数。则一个服务器节点k执行所有任务所需要的总能量消耗为

(3)

为了对比能量消耗是否均衡的问题[9],本文调度方法建立的能量消耗均衡指标,设执行器节点k在运行某一任务单元ji时候的能量消耗Ek-all与剩余能量Ek-rest的比值E=Ek-all/Ek-rest,由此可推出云计算能量均衡的函数为

(4)

上式比值越小可以说明服务器剩余能量越多,可以执行的任务越多;反之服务器剩余能量越少,可以执行的任务越少。

2)执行器存储成本函数LT

执行器的存储成本是指在执行器运行用户指定任务时,需要对用户指定的任务进行自动存储长度为L信息数据和任务开始等待时间到执行完成时间长度T的乘积[10]。

假设STji代表j的第i个任务单元的开始运行瞬间,令STj0=0,则其需要的等待时间

(5)

设Lji为在运行任务j的第i个任务单元的过程中对任务数据的存储长度,由此可以推出执行器总存储成本的目标函数如下所示

(6)

3)最大任务的完成时间Cmax

设pi,j是在非固定服务器节点上执行某个任务j第i个任务单元的执行时间,C(ji,k)是执行某个任务j的第i个任务单元在服务器某节点k的完成时间,π=(j1,j2,…,jn)是全部目标任务的顺序。一般来说,目标网络服务器中对某一指定任务的执行时间toper包括:用户下达任务指令的时间tcomm,有效信息数据收集时间tcolle,任务信息数据处理时间tproc,即

pi,j=tcomm+tcolle+tproc

(7)

可靠性感知资源任务在服务器节点上执行的完成时间可通过以下描述

C(j1,k)=C(j1,k-1)+pj1,kxj1,k

(8)

其中:xji,k=1表示任务单元ji由服务器节点k执行,xji,k=0表示没有被选中,由此可以推出

C(ji,k)=max{C(ji-1,k),C(ji,k-1)}+pji,kxji,k

(9)

由上式可知,服务器节点k在运行某一任务单元ji的时候,必须保证服务器节点k已经完成上一个任务单元ji-1,则完成任务最大时间为

Cmax(π)=C(ji,k)

(10)

综合上述过程完成任务能量均衡函数、执行器存储成本函数以及最大任务的完成时间的计算,为网络可靠性感知资源任务能耗调度提供理论数据基础。

3 基于改进蚁群优化算法的任务调度模型

考虑到实际应用中所要面对的公平问题和效率问题,对蚁群算法进行改进:首先要以执行指定任务的延长时间作为目标建立函数来解决执行用户指定任务中存在的问题;然后为了解决对执行器任务分配均匀的公平性问题,利用改进的蚁群算法将用户指定任务属性数据作为公平因子进行计算。为了简化计算,重新对可靠性感知资源调度等待序列Qk中的子任务进行标记Qk={q1,…,qm},将可靠性感知资源集合描述为A={a1,…,an},可靠性感知资源任务qi的准备处理时间和开始处理时间分别表示为Ti、Tj,st表示可靠性感知资源任务调度时间窗。

将服务器执行任务的时间和任务完成的时间作为2个启发因子

(11)

η2(qi)=st-ATi

(12)

将服务器任务频率数据作为参数引入到蚁群算法中,设N(c)是用户ci的待执行任务的数量;η3(qi)是用户指定任务qi的公平因子;F(ci)是用户指定任务qi属性数据的公平因子ci,则得到任务调度模型为

(13)

综上所述,实现了网络可靠性感知资源任务能耗调度方法,为检验本文方法的有效性及可行性,需进行仿真。

4 仿真证明

将所提出的网络可靠性感知资源任务能耗的调度方法与文献[1]提出的云工作流任务调度能效优化算法和文献[2]提出的基于繁忙时间的并行调度能耗算法,在CloudSim下进行仿真对比。CloudSim是模拟包SimJava开发的数据信息包,CloudSim继承了GridSim的程序模式,并且具有以下特征:

1)CloudSim可以支持大规模的数据计算,并且可对基础设施建模和仿真;

2)CloudSim具有自给自足的信息数据平台、服务代理用户、任务能耗调度和平均分配的程序。

CloudSim的Cloud Information Service(CIS)与Data CenterBroker(DCB)可实现用户资源发现以及信息交互,这是模拟能耗调度的关键核心,本文提出的能耗调度方法主要在DCB中实现,在相同的实验环境条件下。在此基础上进行本文方法的性能检测。

4.1 不同方法的任务完成时间

少量任务仿真,将指定任务分配到5个服务器节点,从20到100逐渐改变任务的个数,记录全部任务的完成时间(ms)如表1。

表1 任务完成时间

将指定任务分配到20个执行服务器节点上,从1000到4000逐渐改变任务的个数,记录全部任务的完成时间(ms),结果如图2所示。

图2 不同方法全部任务调度完成时间

任务个数固定为4000,从10到40逐渐改变服务器节点的个数,记录全部任务的完成时间,如图3所示。

图3 变化节点数时不同方法完成任务时间

从图3可看出,在任务数量固定、服务器节点数较少的情况下,其它调度方法完成任务的时间与本文方法完成任务调度的时间存在明显差距。综合考虑图2、图3给出的实验结果可知,在任务数量较多的情况下,本文调度方法完成任务用时最短,优势比较突出。

4.2 不同方法的任务处理负载状态

任务集固定为4000时,将任务分配到5个资源节点(R1,R2,R3,R4,R5)上处理,记录5个服务器上的资源负载情况。如图4所示。

图4 大量任务下不同方法处理任务的负载状态

从图4可看出,在指定任务数量多、服务器节点运算的能力存在较大差异的情况下,本文方法的任务负载均衡程度较好,而其它调度方法在执行任务中,出现给执行任务能力高的服务器分布的任务数量较少,而给执行任务能力较低的服务器分布的任务数量较多的情况。

4.3 不同方法的任务处理负载能耗及寿命

为了验证3种调度方法在执行任务时的能量消耗大小,模拟目标网络1min内随机加入不同数量的可靠性感知资源任务群,图5与图6描述了在任务不断增加时网络系统的总耗能和寿命。

图5 任务负载变化时的总能耗

图6 任务负载变化时网络系统寿命

从图5、图6中可以看出,当服务器的工作负载不断增加时,目标网络系统的能量消耗不断增加,但是网络系统的使用寿命不断减少,同时可以看出本文方法执行任务时能量消耗均比其它2种调度方法少。分析具体过程可知,文献[1]方法将最初任务自底向上进行分级排序,为各个任务选择合适等级的服务器资源完成调度,在执行任务中出现给执行任务能力高的服务器分布的任务数量较少,而给执行任务能力较低的服务器分布的任务数量较多的情况,导致任务调度过程时间过长,加大了服务器负载,导致网络系统的寿命缩短。相比之下,本文方法进行网络可靠性感知资源任务能耗调度优势更加明显。

5 结束语

针对传统能耗调度方法中存在完成任务时间长、网络的寿命短、能耗不均衡等缺点,提出一种新的网络可靠性感知资源任务能耗调度方法。仿真证明,本文提出的新的网络可靠性感知资源任务能耗调度方法能够在保障网络环境的可靠性的前提下,降低服务器能量消耗,并且有较好的任务规模扩展性,可实现能量消耗的均衡,进而延长网络系统的使用寿命。

猜你喜欢

执行器能量消耗能耗
形状记忆合金执行器研究综述
EnMS在航空发动机试验能耗控制中的应用实践
自动驾驶汽车执行器故障冗余算法
一种软体末端执行结构设计与试验分析
执行器中磁滞非线性问题的建模和补偿
探讨如何设计零能耗住宅
水下飞起滑翔机
日本先进的“零能耗住宅”
热拌沥青混合料生产和施工全过程能耗与排放评价
移动基站无线传感器网络优化研究