一种硬实时系统资源受限偶发任务能耗优化调度方法转让专利

申请号 : CN201610816506.9

文献号 : CN106445070B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张忆文王成林昌龙刘进

申请人 : 华侨大学

摘要 :

本发明公开了一种硬实时系统偶发任务资源受限能耗优化调度方法,包括:利用单调速率策略为任务分配优先级;根据任务Ti是否释放实例,计算出动态低速度;当有新任务Tj到达时,判断新任务Tj是否被阻塞;如果新任务Tj被阻塞,根据任务的真实阻塞时间,计算出此时的动态高速度,此时任务Ti以动态高速度执行直到其完成执行;如果新任务Tj没有被阻塞,其将抢占任务Ti的执行,且其执行速度为动态低速度;任务完成执行后,如果此时的空闲时间大于处理器状态切换开销,利用动态功耗管理技术关闭处理器,否则,处理器进入空闲状态。本发明利用任务真实阻塞时间计算出动态低速度和动态高速度,充分利用处理器的空闲时间,有效地降低系统能耗。

权利要求 :

1.一种硬实时系统资源受限偶发任务能耗优化调度方法,其特征在于,包括:

步骤1,利用单调速率策略为所有就绪的偶发任务分配优先级;

步骤2,根据偶发任务Ti是否释放实例,计算出第一动态低速度SL;具体是:

设置第一动态低速度SL=0,可延迟任务集DTS=T,其中T为所有偶发任务的集合;

当偶发任务Ti释放任务实例,且其属于可延迟任务集DTS时,提高第一动态低速度SL,提高的量为任务Ti的利用率ui与单调速率策略调度n个偶发任务可行的利用率上界LLB(n)的比值;并将任务Ti从可延迟任务集合中移除;

当偶发任务Ti没有释放任务实例,逝去的时间超过其最小释放间隔且其不属于可延迟任务集DTS时,降低第一动态低速度SL,降低的量为任务Ti的利用率ui与单调速率策略调度n个偶发任务可行的利用率上界LLB(n)的比值;并将任务Ti加入可延迟任务集合中;

当处理器空闲时,设置第一动态低速度SL=0,可延迟任务集DTS=T;

步骤3,当有新任务Tj到达时,判断新任务Tj是否被阻塞,并根据阻塞状态以不同的方式执行任务;具体是:任务调度之前,计算出此时的空闲时间,并根据空闲时间计算出缩放速度;

如果新任务Tj的优先级高于任务Ti的优先级,且新任务Tj和任务Ti共享同一资源时,新任务Tj被任务Ti阻塞;根据任务Ti的真实阻塞时间,计算出此时的第一动态高速度SH;取缩放速度与第一动态高速度SH中较大者作为第二动态高速度SH2;任务Ti以第二动态高速度SH2执行直到完成;任务Ti完成执行时,新任务Tj以第二动态高速度SH2执行直到完成;

如果新任务Tj的优先级高于任务Ti的优先级,且新任务Tj和任务Ti所需的资源不同或者新任务Tj不需要使用资源时,新任务Tj没有被阻塞;取缩放速度与第一动态低速度SL中较大者作为第二动态低速度SL2;新任务Tj将抢占任务Ti的执行,且其执行速度为第二动态低速度SL2;

步骤4,任务完成执行后,如果此时的空闲时间大于处理器状态切换开销to,利用动态功耗管理技术关闭处理器;否则,处理器进入空闲状态。

2.根据权利要求1所述的硬实时系统资源受限偶发任务能耗优化调度方法,其特征在于,所述利用单调速率策略为所有就绪的偶发任务分配优先级,包括:将所有就绪的偶发任务按照其最小释放间隔进行排序,最小释放间隔最小的赋予最高优先级,最小释放间隔次小的赋予次高优先级,最小释放间隔最大的赋予最低优先级;当偶发任务的最小释放间隔相等时,偶发任务的到达时间越早,其优先级就越高;当偶发任务的最小释放间隔与到达时间都相等时,偶发任务的下标小的优先级越高。

3.根据权利要求2所述的硬实时系统资源受限偶发任务能耗优化调度方法,其特征在于,所述第一动态高速度SH用如下方式表示:其中,t是大于0的实数,P1和Pi分别是任务T1和任务Ti的最小释放间隔,Pk和Ck分别代表任务Tk的最小释放间隔和最坏情况下的执行时间;LLB(i)是单调速率策略调度i个偶发任务可行的利用率上界,Bj′是新任务Tj被任务Ti阻塞的真实执行时间,k是正整数。

4.根据权利要求1所述的硬实时系统资源受限偶发任务能耗优化调度方法,其特征在于,任务调度之前的空闲时间用如下方式表示:其中,remi和Wi分别是任务Ti的可利用时间和最坏情况下剩余执行时间;remi和Wi的初始值都等于任务Ti的最坏情况下的执行时间,且随着任务的执行其值不断地减少,当任务完成执行时Wi=0;

所述缩放速度用如下方式表示:

5.根据权利要求1所述的硬实时系统资源受限偶发任务能耗优化调度方法,其特征在于,任务完成执行后的空闲时间的来源包括已经完成执行的任务由于提早完成执行产生的空闲时间和从当前时刻到最近一个新的任务实例释放产生的空闲时间;

此时的空闲时间用如下方式表达:

其中,remi和Wi分别是任务Ti的可利用时间和最坏情况下剩余执行时间;remi和Wi的初始值都等于任务Ti的最坏情况下的执行时间,且随着任务的执行其值不断地减少,当任务完成执行时Wi=0;NT为最近一个任务实例的释放时间,t为当前的时间。

说明书 :

一种硬实时系统资源受限偶发任务能耗优化调度方法

技术领域

[0001] 本发明涉及嵌入式系统领域实时任务调度技术领域,特别涉及一种硬实时系统资源受限偶发任务能耗优化调度方法。

背景技术

[0002] 硬实时嵌入式系统在航空航天、通信、电力、机械制造等领域有着广泛的应用,实时性和可靠性是其基本特征,任务错过截止期限将带来非常严重的后果。目前大多数硬实时嵌入式系统都是采用电池供电,而电池的容量和体积是有限的。系统能耗的增长速度远远超过电池技术的发展速度,因此,能耗问题成为嵌入式系统亟待解决的关键问题。动态电压调节(D VS)技术和动态功耗管理(DPM)技术是目前降低系统能耗的两种有效的低功耗技术。
[0003] 很多研究者将实时调度理论和低功耗技术结合起来加以研究,提出了能耗优化调度算法。但这些研究成果主要集中于相互独立的周期任务模型。事实上,在嵌入式系统中,任务因共享资源而存在着相互依赖的关系。而目前存在的资源受限的能耗优化调度算法主要针对周期任务模型,对于偶发任务模型的研究比较少。且资源受限周期任务低能耗调度算法利用任务最坏情况下执行时间去计算任务的执行速度,没有充分利用系统的空闲时间,造成系统资源浪费,不能够适用于偶发任务模型。针对这个问题,提出节能效果更好,且能够满足偶发任务的实时性要求的硬实时系统资源受限偶发任务能耗优化调度方法。

发明内容

[0004] 本发明的目的在于克服现有技术的不足,提出一种硬实时系统资源受限偶发任务能耗优化调度方法,该方法根据任务实例是否释放,计算出动态低速度;利用任务的真实阻塞时间计算出动态高速度;回收系统的空闲时间,利用DPM技术进一步降低系统能耗。
[0005] 本发明解决其技术问题所采用的技术方案是:
[0006] 一种硬实时系统资源受限偶发任务能耗优化调度方法,包括:
[0007] 步骤1,利用单调速率策略为所有就绪的偶发任务分配优先级;
[0008] 步骤2,根据偶发任务Ti是否释放实例,计算出第一动态低速度SL;具体是:
[0009] 设置第一动态低速度SL=0,可延迟任务集DTS=T,其中T为所有偶发任务的集合;
[0010] 当偶发任务Ti释放任务实例,且其属于可延迟任务集DTS时,提高第一动态低速度SL,提高的量为任务Ti的利用率ui与单调速率策略调度n个偶发任务可行的利用率上界LLB(n)的比值;并将任务Ti从可延迟任务集合中移除;即 DTS-={Ti},其中任务Ti的利用率 Ci,Pi分别是任务Ti的最坏情况下的执行时间与最小释放间隔;
[0011] 当偶发任务Ti没有释放任务实例,逝去的时间超过其最小释放间隔且其不属于可延迟任务集DTS时,降低第一动态低速度SL,降低的量为任务Ti的利用率ui与单调速率策略调度n个偶发任务可行的利用率上界LLB(n)的比值;并将任务Ti加入可延迟任务集合中;即DTS+={Ti},其中任务Ti的利用率 Ci,Pi分别是任务Ti的最坏情况下的执行时间与最小释放间隔;
[0012] 当处理器空闲时,设置第一动态低速度SL=0,可延迟任务集DTS=T;
[0013] 步骤3,当有新任务Tj到达时,判断新任务Tj是否被阻塞,并根据阻塞状态以不同的方式执行任务;具体是:
[0014] 任务调度之前,计算出此时的空闲时间,并根据空闲时间计算出缩放速度;
[0015] 如果新任务Tj的优先级高于任务Ti的优先级,且新任务Tj和任务Ti共享同一资源时,新任务Tj被任务Ti阻塞;根据任务Ti的真实阻塞时间,计算出此时的第一动态高速度SH;取缩放速度与第一动态高速度SH中较大者作为第二动态高速度SH2;任务Ti以第二动态高速度SH2执行直到完成;任务Ti完成执行时,新任务Tj以第二动态高速度SH2执行直到完成;
[0016] 如果新任务Tj的优先级高于任务Ti的优先级,且新任务Tj和任务Ti所需的资源不同或者新任务Tj不需要使用资源时,新任务Tj没有被阻塞;取缩放速度与第一动态低速度SL中较大者作为第二动态低速度SL2;新任务Tj将抢占任务Ti的执行,且其执行速度为第二动态低速度SL2;
[0017] 步骤4,任务完成执行后,如果此时的空闲时间大于处理器状态切换开销to,利用动态功耗管理技术关闭处理器;否则,处理器进入空闲状态。
[0018] 优选的,所述利用单调速率策略为所有就绪的偶发任务分配优先级,包括:
[0019] 将所有就绪的偶发任务按照其最小释放间隔进行排序,最小释放间隔最小的赋予最高优先级,最小释放间隔次小的赋予次高优先级,最小释放间隔最大的赋予最低优先级;当偶发任务的最小释放间隔相等时,偶发任务的到达时间越早,其优先级就越高;当偶发任务的最小释放间隔与到达时间都相等时,偶发任务的下标小的优先级越高。
[0020] 优选的,所述第一动态高速度SH用如下方式表示:
[0021]
[0022] 其中,t是大于0的实数,P1和Pi分别是任务T1和任务Ti的最小释放间隔,Pk和Ck分别代表任务Tk的最小释放间隔和最坏情况下的执行时间;LLB(i)是单调速率策略调度i个偶发任务可行的利用率上界,B′j是新任务Tj被任务Ti阻塞的真实执行时间,k是正整数。
[0023] 优选的,任务调度之前的空闲时间用如下方式表示:
[0024]
[0025] 其中,remi和Wi分别是任务Ti的可利用时间和最坏情况下剩余执行时间;remi和Wi的初始值都等于任务Ti的最坏情况下的执行时间,且随着任务的执行其值不断地减少,当任务完成执行时Wi=0;
[0026] 所述缩放速度用如下方式表示:
[0027]
[0028] 优选的,任务完成执行后的空闲时间的来源包括已经完成执行的任务由于提早完成执行产生的空闲时间和从当前时刻到最近一个新的任务实例释放产生的空闲时间;
[0029] 此时的空闲时间用如下方式表达:
[0030]
[0031] 其中,remi和Wi分别是任务Ti的可利用时间和最坏情况下剩余执行时间;remi和Wi的初始值都等于任务Ti的最坏情况下的执行时间,且随着任务的执行其值不断地减少,当任务完成执行时Wi=0;NT为最近一个任务实例的释放时间,t为当前的时间。
[0032] 本发明具有如下有益效果:
[0033] (1)能够确保偶发任务在其截止期限内完成执行,且能够确保资源被互斥的使用;
[0034] (2)系统能耗的降低,可以降低产品的生产成本,延长设备的使用时间,减少电池的更换周期;
[0035] (3)本发明的方法比现有的方法节约大约20.86%~45.43%能耗。
[0036] 以下结合附图及实施例对本发明作进一步详细说明,但本发明的一种硬实时系统资源受限偶发任务能耗优化调度方法不局限于实施例。

附图说明

[0037] 图1为本发明方法的流程图示意图;
[0038] 图2为本发明的实施例归一化能耗与系统利用率的仿真实验结果图。

具体实施方式

[0039] 参见图1,本发明提供的一种硬实时系统资源受限偶发任务能耗优化调度方法,包括如下步骤:
[0040] 步骤101:利用单调速率策略为任务分配优先级。
[0041] 具体的,将所有就绪的偶发任务按照其最小释放间隔进行排序,最小释放间隔最小的赋予最高优先级,最小释放间隔次小的赋予次高优先级,以此类推;当偶发任务的最小释放间隔相等时,偶发任务的到达时间越早,其优先级就越高;当偶发任务的最小释放间隔与到达时间都相等时,偶发任务的下标小的优先级越高。
[0042] 步骤102:根据任务Ti是否释放实例,计算出第一动态低速度SL。
[0043] 具体的,设置第一动态低速度SL=0,可延迟任务集DTS=T,其中T为所有偶发任务的集合;当偶发任务Ti释放任务实例,且其属于可延迟任务集DTS时,提高第一动态低速度SL,提高的量为任务Ti的利用率ui与单调速率策略调度n个偶发任务可行的利用率上界LLB(n)的比值,且将任务Ti从可延迟任务集合中移除;当偶发任务Ti没有释放任务实例,逝去的时间超过其最小释放间隔且其不属于可延迟任务集DTS,降低第一动态低速度SL,降低的量为任务Ti的利用率ui与单调速率策略调度n个偶发任务可行的利用率上界LLB(n)的比值,且将任务Ti加入可延迟任务集合中;当处理器空闲时,设置SL=0,可延迟任务集DTS=T。
[0044] 本实施例中,具体步骤如下:
[0045] 1)设置初始条件DTS=T,SL=0;其中T是资源受限偶发任务集合,DTS是集合T的子集,DTS中的任务释放任务实例的时间间隔都大于其相应的最小释放间隔。
[0046] 2)当偶发任务Ti释放任务实例,且其属于集合DTS。
[0047] 设置 其中ui为任务Ti的利用率,其值为 Ci,Pi分别是任务Ti的最坏情况下的执行时间与最小释放间隔, 其中n为偶发任务集中偶发任务
的个数;设置DTS-={Ti},即将偶发任务Ti从集合DTS中移除。
[0048] 3)当偶发任务Ti在经过Pi个时间单位之后还没有释放任务实例且Ti不属于集合DTS。
[0049] 设置 DTS+={Ti},即将偶发任务Ti加入集合DTS中。
[0050] 4)假如没有任务调度,也就是处理器处于空闲状态时,设置DTS=T,SL=0。
[0051] 步骤103:当有新任务Tj到达时,判断新任务Tj是否被阻塞,并根据阻塞状态以不同的方式执行任务。
[0052] 本实施例中,具体步骤如下:
[0053] 1)在任务调度之前,计算出此时的空闲时间ST;此时的空闲时间ST的计算方法如下:
[0054]
[0055] 其中remi和Wi分别是任务Ti的可利用时间和最坏情况下剩余执行时间;remi和Wi的初始值都等于任务Ti的最坏情况下的执行时间,且随着任务的执行其值不断地减少,当任务完成执行时Wi=0;
[0056] 利用此时的空闲时间ST计算出缩放速度Stemp;缩放速度
[0057] 2)如果新任务Tj的优先级高于任务Ti的优先级,且新任务Tj和任务Ti共享同一资源时,此时新任务Tj被任务Ti阻塞;根据任务Ti的真实阻塞时间,计算出此时的第一动态高速度SH,SH的计算方法如下:
[0058]
[0059] 其中,t是大于0的实数,P1和Pi分别是任务T1和任务Ti的最小释放间隔,Pk和Ck分别代表任务Tk的最小释放间隔和最坏情况下的执行时间;LLB(i)是单调速率策略调度i个偶发任务可行的利用率上界,B′j是新任务Tj被任务Ti阻塞的真实执行时间,k是正整数;
[0060] 将缩放速度Stemp与第一动态高速度SH进行比较,取第二动态高速度SH2为这两者之间的较大者,即SH2=max{Stemp,SH};此时任务Ti以动态高速度SH2执行直到其完成执行;任务Ti完成执行时,新任务Tj以第二动态高速度SH2执行直到其完成执行。
[0061] 3)如果新任务Tj的优先级高于任务Ti的优先级,且新任务Tj和任务Ti所需的资源不同时,或者新任务Tj不需要使用资源时,此时新任务Tj没有被阻塞,将缩放速度Stemp与第一动态低速度SL进行比较,取第二动态低速度SL2为这两者之间的最大者,即SL2=max{Stemp,SL};新任务Tj将抢占任务Ti的执行,且其执行速度为第二动态低速度SL2。
[0062] 步骤104:任务完成执行后,如果此时的空闲时间ST大于处理器状态切换开销to,利用动态功耗管理技术关闭处理器;否则,处理器进入空闲状态。
[0063] 具体的,任务完成执行后,如果此时没有新的任务到达,计算出此时的空闲时间ST,空闲时间的来源主要包括两个部分:其一,已经完成执行的任务由于提早完成执行产生的空闲时间;其二,从此刻到最近一个新的任务实例释放产生的空闲时间;此时的空闲时间ST的计算方法如下:
[0064]
[0065] 其中NT为最近一个任务实例的释放时间,t为此时的时间。
[0066] 判断ST是否大于处理器状态切换开销to的步骤如下:
[0067] 当ST>to,利用动态功耗管理技术关闭处理器;
[0068] 当ST≤to,处理器进入空闲状态。
[0069] 如图2所示为本发明的实施例归一化能耗与系统利用率的仿真实验结果图。本实施例中,每个偶发任务集包含15个偶发任务。在这15个任务中随机选取7个任务在执行过程中需要访问资源。偶发任务Ti的最小释放间隔Pi从[10,1000]中随机选择,其最坏情况下的执行时间(WCET)从区间[1,Pi]中随机选择。在偶发任务集产生后,通过调整任务最坏情况下的执行时间,使系统利用率不超过给定的值。偶发任务的关键区和非关键区随机选择。最大的关键区长度Zi,j等于bf*WCET,其中bf为阻塞因子,其值为关键区的长度占WCET的百分比。通过修改任务的最坏情况下执行时间与最好情况下执行时间(BCET)的比值来确定任务的真实执行时间,真实时间服从[BCET,WCET]的均匀分布。设置bf=0.15,处理器状态切换开销to=0.2,任务最坏情况下执行时间与最好情况下执行时间的比值 考察系统利用率对算法能耗的影响,系统利用率的范围为0.15到0.65,步长为0.05。图2中比较了三种方法,第一,双速度(DS)方法,任务以静态低速度执行或者静态高速度执行。第二,静态资源受限偶发任务能耗优化(STSST)方法,任务能够以动态低速度或者动态高速度执行,但不能利用任务提早完成产生的空闲时间,且不能利用DPM技术降低能耗;第三,本发明的方法,任务不仅以动态低速度或者动态高速度执行,而且能够利用任务提早完成产生的空闲时间降低系统能耗,且在处理器处于空闲状态时,能够利用DPM技术进一步降低系统能耗。以DS方法在系统利用率为0.65的能耗为基准进行归一化。
[0070] 从图2中可以看出,所有方法的归一化能耗都受到系统利用率的影响。当系统利用率增加时,所有算法的归一化能耗上升。这是因为系统利用率增加,任务的执行时间变长,而且任务的执行速度也增加。当系统利用率低于0.3时,DS方法和STSST方法的归一化能耗相同,这是因为这两个算法中所计算的速度都低于处理器的关键速度(关键速度是处理器能耗最优的速度,在这里关键速度的值为0.3),而任务最终都以关键速度执行。注意到本发明的方法的归一化能耗低于其他方法的归一化能耗,这主要得益于本发明的方法不仅利用DVS技术降低能耗,而且利用DPM技术降低能耗。当系统利用率大于0.3时,本发明方法的能耗依然低于其他方法的能耗。总之,本发明的方法与STSST方法相比节约20.86%~45.43%的能耗,与DS方法相比节约40.45%~57.96%的能耗。
[0071] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。