一种基于常带宽服务器混合任务低功耗调度方法转让专利

申请号 : CN201410617519.4

文献号 : CN105630126B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张忆文郭锐锋邓昌义王鸿亮

申请人 : 中国科学院沈阳计算技术研究所有限公司

摘要 :

本发明涉及一种基于常带宽服务器混合任务低功耗调度方法。本发明在任务集调度之前,计算离线状态的运行速度Sof,并且设置非周期任务的运行速度为Sof;利用常带宽服务器设置非周期任务的截止期限,根据最早截止期限优先原则调度任务;计算任务的空闲时间ST;运行队列不空时,计算任务的运行速度S;运行队列为空,并且空闲时间ST大于关闭处理器所需的时间开销to,关闭处理器直到新的任务释放;否则将处理器的速度设置为其所能提供的最小运行速度Smin。采用本发明方法,不仅能够回收周期任务提早完成产生的空闲时间和服务器产生的空闲时间,而且能够利用动态功耗管理技术关闭处理器节约更多的能耗。该方法比现有的混合任务低功耗调度算法节约6.02%~34.14%的能耗。

权利要求 :

1.一种基于常带宽服务器混合任务低功耗调度方法,其特征在于,包括以下步骤:计算离线状态的运行速度Sof,并且设置非周期任务的运行速度为Sof;

利用常带宽服务器设置非周期任务的截止期限,根据最早截止期限优先原则调度周期任务和非周期任务;

计算任务的空闲时间ST;

运行队列不空时,计算任务的运行速度S;

运行队列为空时,判断空闲时间ST是否大于关闭处理器所需的时间开销to,如果空闲时间ST大于关闭处理器所需的时间开销to,关闭处理器直到有新的任务释放;否则将处理器的运算速度设置为其所能提供的最小运行速度Smin,此时处理器进入空闲状态;

所述离线状态的运行速度为:

Sof=max{Scrit,Utot+Us}其中,Scrit为处理器能耗最优的运行速度,Utot为周期任务集的利用率,Us为常带宽服务器的带宽;

所述利用常带宽服务器设置非周期任务的截止期限,包括以下步骤:将非周期任务的截止期限初始化为d0=0;

当常带宽服务器的利用率低于Us时,使用以下的规则补充预算:

1)当服务器预算qs=0时,设置服务器预算qs=Qs,更新截止期限dk+1=dk+Ts;

2)当常带宽服务器处于空闲状态,且有非周期任务到达时,如果 设置qs=Qs,更新截止期限 否则,该非周期任务的截止期限保持为dk;

其中,Qs为服务器的最大预算,Ts为服务器的周期,dk为当前服务器的截止期限,为非周期任务的到达时间,Us为服务器的带宽;

常带宽服务器的利用率不低于Us时,设置服务器预算qs=Qs,截止期限dk+1=dk+Ts;

所述任务的空闲时间ST为:

ST=STh+STc

其中STh为高优先级任务提早完成产生的空闲时间,STc为服务器所产生的空闲时间。

2.根据权利要求1所述的一种基于常带宽服务器混合任务低功耗调度方法,其特征在于,所述常带宽服务器由服务器预算qs以及二元组(Qs,Ts)表示,其中,Qs为服务器的最大预算,Ts为服务器的周期;当某个非周期任务完成执行时,将当前的服务器预算qs分配给下一个已经就绪的非周期任务,如果没有就绪的非周期任务,则常带宽服务器进入空闲状态。

3.根据权利要求1所述的一种基于常带宽服务器混合任务低功耗调度方法,其特征在于,所述任务的运行速度S的计算方法为:其中,Wi为任务Ti的最坏情况下的剩余执行时间,ST为任务的空闲时间,Ui为剩余执行时间,Scrit为处理器能耗最优的运行速度。

说明书 :

一种基于常带宽服务器混合任务低功耗调度方法

技术领域

[0001] 本发明涉及实时系统领域混合任务的实时调度,具体的说是一种基于常带宽服务器混合任务低功耗调度方法。

背景技术

[0002] 目前的商用实时系统包含周期任务和非周期任务,其中周期任务有截止期限的限制,而非周期任务有响应时间的要求。设计这些商用实时系统需要满足以下三个目标:首先要保证系统的可行性,也就是所有的任务都能及时完成执行;其次要降低非周期任务的响应时间;再次就是降低系统的能耗。
[0003] 系统的可行性,以及非周期任务的响应时间,这两个目标可以通过常用的混合任务的调度方法实现。这些方法可以是偶发任务服务器(SS),可延迟任务服务(DS),总带宽服务器(TBS),常带宽服务器(CBS)等。对于第三个目标可以通过动态电压调节(DVS)技术和动态功耗管理(DPM)技术实现。DVS技术是在保证任务不错过截止期限的情况下,利用空闲时间调节处理器的运行速度。DPM技术通过关闭系统闲置的设备达到节能的目的。
[0004] 现有的混合任务低功耗调度算法要么忽略处理器的静态功耗,要么仅仅回收高优先级任务产生的空闲时间,忽略服务器产生的空闲时间,要么仅仅使用DVS技术,而没有使用DPM技术。

发明内容

[0005] 针对现有混合任务低功耗调度算法的不足之处,本发明提出了一种基于常带宽服务器混合任务低功耗调度方法,该方法考虑了通用的功耗模型,即既考虑了动态功耗,也考虑了静态功耗;既能够回收高优先任务产生的空闲时间,又能够回收服务器产生的空闲时间;并且结合了DVS技术和DPM技术,有效地降低了系统能耗。
[0006] 本发明为实现上述目的所采用的技术方案是:一种基于常带宽服务器混合任务低功耗调度方法,包括以下步骤:包括以下步骤:
[0007] 计算离线状态的运行速度Sof,并且设置非周期任务的运行速度为Sof;
[0008] 利用常带宽服务器设置非周期任务的截止期限,根据最早截止期限优先原则调度周期任务和非周期任务;
[0009] 计算任务的空闲时间ST;
[0010] 运行队列不空时,计算任务的运行速度S;
[0011] 运行队列为空时,判断空闲时间ST是否大于关闭处理器所需的时间开销to,如果空闲时间ST大于关闭处理器所需的时间开销to,关闭处理器直到有新的任务释放;否则将处理器的运算速度设置为Smin,此时处理器进入空闲状态。
[0012] 所述实时离线状态的运行速度的计算方法为:
[0013] Sof=max{Scrit,Utot+Us}
[0014] 其中,Scrit为处理器能耗最优的运行速度,Utot为周期任务集的利用率,Us为常带宽服务器的带宽。
[0015] 所述常带宽服务器由服务器预算qs以及二元组(Qs,Ts)表示,其中,Qs为服务器的最大预算,Ts为服务器的周期;当某个非周期任务完成执行时,将当前的服务器预算qs分配给下一个已经就绪的非周期任务,如果没有就绪的非周期任务,则常带宽服务器进入空闲状态。
[0016] 利用常带宽服务器设置非周期任务的截止期限,包括以下步骤:
[0017] 将非周期任务的截止期限初始化为d0=0;
[0018] 当常带宽服务器的利用率低于Us时,使用以下的规则补充预算:
[0019] 1)当服务器预算qs=0时,设置服务器预算qs=Qs,更新截止期限dk+1=dk+Ts;
[0020] 2)当常带宽服务器处于空闲状态,且有非周期任务到达时,如果设置qs=Qs,更新截止期限 否则,该非周期任务的截止期限保持为dk;
[0021] 其中,Qs为服务器的最大预算,Ts为服务器的周期,dk为当前服务器的截止期限,为非周期任务的到达时间,Us为服务器的带宽;
[0022] 常带宽服务器的利用率不低于Us时,设置服务器预算qs=Qs,截止期限dk+1=dk+Ts。
[0023] 所述任务的空闲时间ST为:
[0024] ST=STh+STc
[0025] 其中STh为高优先级任务提早完成产生的空闲时间,STc为服务器所产生的空闲时间。
[0026] 所述任务的运行速度S的计算方法为:
[0027]
[0028] 其中,Wi为任务Ti的最坏情况下的剩余执行时间,ST为任务的空闲时间,Ui为剩余执行时间,Scrit为处理器能耗最优的运行速度。
[0029] 本发明具有以下优点及有益效果:
[0030] 1.采用本发明方法,结合了DVS和DPM两种低功耗技术,能够高效地回收利用空闲时间,从而比现有的混合任务低功耗调度算法节约6.02%~34.14%的能耗。
[0031] 2.系统能耗的降低,有助于提高系统的可靠性,减少系统出错的概率。
[0032] 3.系统能耗的降低,可以降低产品的生产成本,有助于提高企业的竞争力。

附图说明

[0033] 图1为本发明方法处理步骤流程图;
[0034] 图2为归一化能耗与服务器带宽的仿真实验结果图;
[0035] 图3为归一化能耗与非周期任务的负载的仿真实验结果图。

具体实施方式

[0036] 下面结合附图及实施例对本发明做进一步的详细说明。
[0037] 参见附图1,是一种基于常带宽服务器混合任务低功耗调度方法,包括如下步骤:
[0038] 任务集调度之前,计算离线状态的运行速度Sof,并且设置非周期任务的运行速度为Sof;利用常带宽服务器设置非周期任务的截止期限,根据最早截止期限优先原则调度任务;计算任务的空闲时间ST;运行队列不空时,计算任务的运行速度S;运行队列为空,并且空闲时间ST大于关闭处理器所需的时间开销to,关闭处理器直到新的任务释放;否则将处理器的速度设置为其所能提供的最小运行速度Smin。
[0039] 对本发明进一步说明:
[0040] 任务集调度之前,计算离线状态的运行速度Sof,并且设置非周期任务的运行速度为Sof;其处理步骤如下:
[0041] 当系统的利用率低于1时,这时处理器会产生静态空闲时间。为了降低系统能耗,设置离线状态的运行速度Sof=max{Scrit,Utot+Us},其中,Scrit为处理器的关键速度,也就是能耗最优的运行速度,Utot为周期任务集的利用率,Us为常带宽服务器的带宽。当Utot+Us≥Scrit时,Sof=Utot+Us。此时系统的利用率为 所以以该速度运行时算法是可行的,并且充分利用了静态空闲时间。当Utot+Us<Scrit,这时Sof=Scrit,此时系统的利用率小于1,算法依然可行,并且Scrit速度是能耗最优的运行速度,因此使用该速度算法的能耗最低。
计算出任务离线状态的运行速度Sof后,设置非周期任务的运行速度为Sof,在此之后非周期任务始终保持该速度运行。
[0042] 利用常带宽服务器设置非周期任务的截止期限,根据最早截止期限优先原则调度任务;其处理步骤如下:
[0043] 常带宽服务器由服务器的预算qs以及二元组(Qs,Ts)表示,其中,Qs为服务器的最大预算,Ts为服务器的周期。在每个时刻,非周期任务Jk的截止期限等于当前服务器的截止期限dk,开始时d0=0。当非周期任务Jk完成执行时,将当前的服务器预算分配给下一个已经就绪的非周期任务,如果没有就绪的非周期任务,服务器进入空闲状态。在时刻t,总是将服务器最后的截止期限分配给非周期任务。
[0044] 当服务器的利用率低于Us时,使用以下的规则补充预算:
[0045] 1).当qs=0,设置服务器的预算qs=Qs,截止期限dk+1=dk+Ts。
[0046] 2).服务器处于空闲状态,当有非周期任务Jk到达时,如果 设置qs=Qs,截止期限 否则,非周期任务Jk截止期限为dk。
[0047] 非周期任务分配了截止期限以后和周期任务一起根据最早截止期限优先原则调度。所谓的最早截止期限优先原则是指任务的截止期限越早,其优先级越高,就会被优先调度。
[0048] 计算任务的空闲时间ST的计算方法为:
[0049] ST=STh+STc
[0050] 其中STh为高优先级任务提早完成产生的空闲时间,STc为服务器所产生的空闲时间。高优先级任务提早完成产生的空闲时间STh的计算方法为:
[0051]
[0052] 其中Ui为任务Ti的剩余执行时间,HP(Ti,t)为在时刻t优先级比任务Ti的优先级高的任务集合,Wi为任务Ti最坏情况下的剩余执行时间。服务器所产生的空闲时间STc的处理步骤如下:
[0053] 当服务器处于空闲状态,也就是服务器没有调度非周期任务时;或者服务器调度非周期任务但非周期任务的负载低于服务器的利用率时,这时服务器会产生空闲时间。在两个相邻的调度点,也就是区间[ti-1,ti],其中ti-1,ti表示任务的上一个调度点和当前的调度点。当服务器处于空闲状态时,这时服务器产生的空闲时间STc=Us·(ti-ti-1),其中Us为服务器的带宽。否则,服务器产生的空闲时间STc=Us·(ti-ti-1)-Cap,其中Cap为非周期任务在区间[ti-1,ti]已经执行的时间片的总和。
[0054] 任务运行队列不空时,计算任务的运行速度S的计算方法为:
[0055]
[0056] 其中,Wi为任务Ti的最坏情况下的剩余执行时间,ST为可利用的空闲时间,Ui为剩余执行时间,当其运行速度S低于关键速度Scrit时,设置其运行速度S=Scrit。当其运行速度S大于1.0时,设置运行速度S=1.0。
[0057] 运行队列为空,并且空闲时间ST大于关闭处理器所需的时间开销to,关闭处理器直到新的任务释放;否则将处理器的速度设置为其所能提供的最小运行速度Smin,其处理步骤如下:
[0058] 当运行队列为空时,判断空闲时间ST是否大于关闭处理器所需的时间开销to,如果空闲时间ST大于关闭处理器所需的时间开销to时,关闭处理器直到有新的任务释放。否则将处理器的运算速度设置为Smin,此时处理器进入空闲状态。
[0059] 图2设置周期任务集总的利用率Utot=0.5,非周期任务的负载ρ=0.1,考察服务器带宽Us对归一化能耗的影响。在图2中比较了三种方法,第一,没有使用节能技术的CBS算法(NOCBS);第二,CBS/DRA-W算法,该算法也是基于CBS服务器调度非周期任务,并且非周期任务始终保持最大的处理器速度运行;同时该算法也能够利用周期任务产生的空闲时间以及服务器产生的空闲时间;但该算法没有忽略了处理器的静态功耗以及关闭处理器的能耗开销;第三,本发明的方法(CBSMTLPSA),该方法也是基于CBS服务器,同时利用了DVS和DPM两种节能技术;考虑了处理器的静态功耗,并且使用关键速度来解决处理器的静态功耗问题;该算法不仅能够利用周期任务产生的空闲时间,而且能够利用服务器产生的空闲时间;在该算法中非周期任务始终保持离线状态的速度运行,并且在处理器处于空闲状态时,利用DPM技术进一步降低系统的能耗。从图2可以看出,随着服务器带宽的增加,CBS/DRA-W算法和本发明的方法的能耗也随之增加。这是因为,在非周期任务负载不变的情况下,服务器带宽的增加,CBS/DRA-W算法和本发明的方法的离线速度增加,所以其能耗也随之增加。不管服务器带宽如何变化,本发明的方法的能耗始终低于CBS/DRA-W算法和NOCBS算法的能耗。
这是因为本发明的方法不仅利用了DVS技术节能,而且还利用了DPM技术来降低能耗。经过计算可知,本发明的方法比CBS/DRA-W算法节约6.02%~34.14%的能耗。
[0060] 图3设置周期任务集总的利用率Utot=0.5,服务器带宽Us=0.45,考察非周期负载ρ对能耗的影响。图3中所比较的方法和图2的相同。从图3中可以看出,非周期任务的负载增加,所有算法的能耗也增加。这是因为非周期任务的负载增加,系统总的利用率增加,需要执行的非周期任务变得更多,因此能耗也增加。本发明的方法的能耗始终比NOCBS算法和CBS/DRA-W算法低,这说明所提出的本发明的方法更有效,节能效果更好。经过计算可知,本发明的方法比CBS/DRA-W算法节约9.57%~10.06%的能耗。