首页 / 专利库 / 银行与财务事项 / 截止时间 / 一种基于平衡因子的动态偶发任务低功耗调度方法

一种基于平衡因子的动态偶发任务低功耗调度方法

阅读:369发布:2020-05-08

专利汇可以提供一种基于平衡因子的动态偶发任务低功耗调度方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及嵌入式数控实时系统领域偶发任务的调度,具体的说是一种基于平衡因子的动态偶发任务低功耗调度方法。本发明方法首先将任务加入待执行集合,然后在任务从集合释放出来准备执行时,根据EDF策略选择要执行的任务,当要执行所选择的任务时,使用平衡因子方法判断采用关键速度策略或传统DVS调度策略来重新设置处理器速度,并在任务执行时随时更新处理器速度,以及在无任务执行时关闭处理器,进一步减少系统功耗。实验表明,本发明方法与目前现有的DVSST和DSTLPSA方法相比节能效果更好,可以分别节约10.3%~62.5%和5.4%~20.6%的能耗。,下面是一种基于平衡因子的动态偶发任务低功耗调度方法专利的具体信息内容。

1.一种基于平衡因子的动态偶发任务低功耗调度方法,其特征在于,包括以下步骤:
步骤1:在t=0时刻,此时处理器以最小速度Smin运行;初始化所有0时刻到达处理器的任务Ti,并将任务Ti加入集合TDS;当集合TDS为空,此时系统以最小速度Smin运行;
步骤2:当任务Ti从TDS集合释放出来放入待执行集合TWS准备执行时,设置处理器速度增加到Ci/Pi,并根据EDF策略从待执行集合TWS中选择将要执行的任务;所述待执行集合TWS为集合TDS的子集;
步骤3:当要执行所选择的任务时,检测处理器当前速度;如果处理器当前速度低于关键速度Scrit,则使用平衡因子方法判断采用关键速度策略或传统DVS调度策略来重新设置处理器速度;如果处理器当前速度不低于关键速度Scrit,处理器按当前速度执行;
步骤4:当开始执行某项任务时,执行任务剩余时间W不断减少,当W=0时,该任务执行完成,则根据任务的真实执行时间ACi更新处理器当前速度为ACi/Pi;如果此时待执行集合TWS≠Φ,后续任务被激活,则使用平衡因子方法判断采用关键速度策略或传统DVS调度策略来重新设置处理器速度;
步骤5:当任务Ti的当前执行时间超过任务最后截止期限,即:t≥Ri+Pi,则设置处理器速度减少到Ci/Pi,把当前任务Ti加入集合TDS返回步骤1;
步骤6:如果任务执行完成,TWS=Φ,没有新任务被激活,计算空闲时间tidle;如果tidle≥t0,则关闭处理器,进入休眠状态;如果tidle2.根据权利要求1所述的一种基于平衡因子的动态偶发任务低功耗调度方法,其特征在于,所述EDF策略为根据任务的截止时间动态分配任务的优先级;截止时间越短,优先级越高。
3.根据权利要求1所述的一种基于平衡因子的动态偶发任务低功耗调度方法,其特征在于,所述关键速度策略为:处理器能耗最小时对应的速度为关键速度。
4.根据权利要求3所述的一种基于平衡因子的动态偶发任务低功耗调度方法,其特征在于,所述处理器能耗、关键速度计算如下:
在给定闭区间[ts,te]内,任务Ti=(Ri,Ci,Pi),假设处理器状态转换开销为E0,则处理器能耗为:
P(s)=(α·S3+Pind)·C/S+E0
P(s)为关于参数s的凸函数,对公式进行求导 得到处理器能耗最小值时
的根 即,关键速度
其中,α为负载电容,Pind为与处理器速度无关的设备所消耗的功耗,C为任务Ti的执行周期,Eo为处理器从空闲状态进入休眠状态的能耗开销。
5.根据权利要求1所述的一种基于平衡因子的动态偶发任务低功耗调度方法,其特征在于,所述传统DVS调度策略为:
在给定闭区间[ts,te]内,任务Ti=(Ri,Ci,Pi),处理器能耗为:
E(s)=(α·S3+Pind)·C/S+(te-ts-C/S)·Pind=α·C·S2+(te-ts)·Pind
E(S)是关于S的单调递增函数,如果S>0,速度S越低则能耗越小;并且,传统DVS调度策略的处理器速度为C/(te-ts);
其中,α为负载电容,Pind为与处理器速度无关的设备所消耗的功耗,C为任务Ti的执行周期,Eo为处理器从空闲状态进入休眠状态的能耗开销。
6.根据权利要求1所述的一种基于平衡因子的动态偶发任务低功耗调度方法,其特征在于,所述使用平衡因子方法判断采用关键速度策略或传统DVS调度策略来设置处理器速度具体为:按照平衡因子C0设置处理器速度;使得处理器在闭区间内的能耗最小;
在区间[0,Scrit·(te-tS))内,对当前任务Ti的执行周期C小于Scrit×(te-tS);
将按照关键速度策略计算的处理器能耗P(s)与传统DVS调度策略计算的处理器能耗E(s)作差:
通过变换得到:
通过求导得到平衡因子
如果C≤C0,则E(s)≥P(s),选择按照处理器能耗小的关键速度策略来设置处理器速度,即设置处理器速度为关键速度 来执行任务;如果C>C0,则E(s)按照处理器能耗小的传统DVS调度策略来设置处理器速度,即设置处理器速度为C/(te-ts)来执行任务;
其中,α为负载电容,Pind为与处理器速度无关的设备所消耗的功耗,Eo为处理器从空闲状态进入休眠状态的能耗开销;Scrit为关键速度,ts和te分别为闭区间[ts,te]的端点值。

说明书全文

一种基于平衡因子的动态偶发任务低功耗调度方法

技术领域

[0001] 本发明涉及实时系统领域周期任务的实时调度,具体的说是一种基于平衡因子的动态偶发任务低功耗调度方法。

背景技术

[0002] 数控系统作为数控机床中核心部件,其技术平不仅直接影响数控机床的性能质量和市场占有率,而且对于重要关键零件的加工也具有非常重要的意义。随着制造工艺的日益精密,集成电路规模的高速发展,系统功耗急剧上升,高功耗带来的高温导致系统发生故障的可能性增加,降低整个系统的可靠性;数控系统的应用特征使得优化系统能耗成为系统设计需要考虑的重要因素,同时制约着下一代数控系统在市场中的竞争。对于CMOS电路,功耗的主要来源是动态功耗和静态功耗,其中用于调度任务的动态功耗占总功耗的主要部分。动态电压调节(dynamic voltage scaling)可以根据处理器实时的负载情况,增加或降低电源电压。由于电路的功耗与电源电压存在平方的关系,因此在系统空闲或低速运行时,降低电源电压可以大幅度降低电路的功耗。
[0003] 尽管很多研究者利用关键速度和DPM技术有效降低系统总能耗,但是很少探究任务在选择传统DVS调度策略和关键速度之间存在的最低边界问题。在系统低于关键速度时,只是简单的让系统速度等于关键速度运行。经过研究发现,关键速度策略在减少系统功耗上并不是最优的选择,在关键速度和传统DVS技术中存在一个平衡因子,当系统速度低于关键速度时,这个平衡因子决定系统是否采用关键速度或者按照当前低于关键速度的速度执行任务。

发明内容

[0004] 针对现有技术中存在的上述不足之处,本发明要解决的技术问题是提供一种适用于数控系统的低功耗调度方法,为了进一步降低处理器功耗,该方法使用平衡因子判断处理器是否进入睡眠状态。
[0005] 本发明为实现上述目的所采用的技术方案是:一种基于平衡因子的动态偶发任务低功耗调度方法,包括以下步骤:
[0006] 步骤1:在t=0时刻,此时处理器以最小速度Smin运行;初始化所有0时刻到达处理器的任务Ti,并将任务Ti加入集合TDS;当集合TDS为空,此时系统以最小速度Smin运行;
[0007] 步骤2:当任务Ti从TDS集合释放出来放入待执行集合TWS准备执行时,设置处理器速度增加到Ci/Pi,并根据EDF策略从待执行集合TWS中选择将要执行的任务;所述待执行集合TWS为集合TDS的子集;
[0008] 步骤3:当要执行所选择的任务时,检测处理器当前速度;如果处理器当前速度低于关键速度Scrit,则使用平衡因子方法判断采用关键速度策略或传统DVS调度策略来重新设置处理器速度;如果处理器当前速度不低于关键速度Scrit,处理器按当前速度执行;
[0009] 步骤4:当开始执行某项任务时,执行任务剩余时间W不断减少,当W=0时,该任务执行完成,则根据任务的真实执行时间ACi更新处理器当前速度为ACi/Pi;如果此时待执行集合TWS≠Φ,后续任务被激活,则使用平衡因子方法判断采用关键速度策略或传统DVS调度策略来重新设置处理器速度;
[0010] 步骤5:当任务Ti的当前执行时间超过任务最后截止期限,即:t≥Ri+Pi,则设置处理器速度减少到Ci/Pi,把当前任务Ti加入集合TDS返回步骤1;
[0011] 步骤6:如果任务执行完成,TWS=Φ,没有新任务被激活,计算空闲时间tidle;如果tidle≥t0,则关闭处理器,进入休眠状态;如果tidle
[0013] 所述EDF策略为根据任务的截止时间动态分配任务的优先级;截止时间越短,优先级越高。
[0014] 所述关键速度策略为:处理器能耗最小时对应的速度为关键速度。
[0015] 所述处理器能耗、关键速度计算如下:
[0016] 在给定闭区间[ts,te]内,任务Ti=(Ri,Ci,Pi),假设处理器状态转换开销为E0,则处理器能耗为:
[0017] P(s)=(α·S3+Pind)·C/S+E0
[0018] P(s)为关于参数s的凸函数,对公式进行求导 得到处理器能耗最小值时的根 即,关键速度
[0019] 其中,α为负载电容,Pind为与处理器速度无关的设备所消耗的功耗,C为任务Ti的执行周期,Eo为处理器从空闲状态进入休眠状态的能耗开销。
[0020] 所述传统DVS调度策略为:
[0021] 在给定闭区间[ts,te]内,任务Ti=(Ri,Ci,Pi),处理器能耗为:
[0022] E(s)=(α·S3+Pind)·C/S+(te-ts-C/S)·Pind=α·C·S2+(te-ts)·Pind
[0023] E(S)是关于S的单调递增函数,如果S>0,速度S越低则能耗越小;并且,传统DVS调度策略的处理器速度为C/(te-ts);
[0024] 其中,α为负载电容,Pind为与处理器速度无关的设备所消耗的功耗,C为任务Ti的执行周期,Eo为处理器从空闲状态进入休眠状态的能耗开销。
[0025] 所述使用平衡因子方法判断采用关键速度策略或传统DVS调度策略来设置处理器速度具体为:按照平衡因子C0设置处理器速度;使得处理器在闭区间内的能耗最小;
[0026] 在区间[0,Scrit·(te-tS))内,对当前任务Ti的执行周期C小于Scrit×(te-tS);
[0027] 将按照关键速度策略计算的处理器能耗P(s)与传统DVS调度策略计算的处理器能耗E(s)作差:
[0028]
[0029] 通过变换得到:
[0030]
[0031] 通过求导得到平衡因子
[0032] 如果C≤C0,则E(s)≥P(s),选择按照处理器能耗小的关键速度策略来设置处理器速度,即设置处理器速度为关键速度 来执行任务;如果C>C0,则E(s)
[0033] 其中,α为负载电容,Pind为与处理器速度无关的设备所消耗的功耗,Eo为处理器从空闲状态进入休眠状态的能耗开销;Scrit为关键速度,ts和te分别为闭区间[ts,te]的端点值。
[0034] 本发明具有以下优点及有益效果:
[0035] 1.采用本发明,充分利用系统的空闲时间,降低处理器的运行速度,依能耗指标评价所提的方法的性能。实验表明本发明比现有的DVSST方法和DSTLPSA方法节约10.3%~62.5%和5.4%~20.6%的能耗。
[0036] 2.本发明在离线阶段调整处理器速度根据释放任务的负载,充分利用处理器的资源;在线阶段通过高优先级任务提前完成剩余的空闲时间动态更新处理器速度,并且当处理器没有任务执行时,结合提出的平衡因子关键速度调度策略,判断是否使用DPM技术将处理器进入休眠状态以达到进一步降低能耗的目的。
[0037] 3.高能耗会显著提高系统的发热量,影响系统运行的稳定性。增加了系统耗能量,本发明的方法能够显著的降低系统能耗,因此增加系统的稳定性和降低系统能耗。附图说明
[0038] 图1(a)能耗函数截距0.08·Δt-0.8>0;图1(b)能耗函数截距0.08·Δt-0.8<0[0039] 图2为本发明处理步骤流程图
[0040] 图3为本发明方法的系统利用率对能耗的影响仿真实验结果图;
[0041] 图4为本发明方法的任务真实负载对能耗的影响仿真实验结果图。

具体实施方式

[0042] 下面结合附图及实施例对本发明做进一步的详细说明。
[0043] 如图1(a)和图1(b)所示,DVS和关键速度策略作为目前低功耗调度方法常用技术,得到了广泛的应用,本文发明结合了这两种低能耗技术。考虑传统关键速度调度策略存在的不足,提出基于平衡因子的偶发低功耗调度方法。本发明在离线阶段调整处理器速度根据释放任务的负载,充分利用处理器的资源;在线阶段通过高优先级任务提前完成剩余的空闲时间动态更新处理器速度,并且当处理器没有任务执行时,结合提出的平衡因子关键速度调度策略,判断是否使用DPM技术将处理器进入休眠状态以达到进一步降低能耗的目的。
[0044] 考虑有n个偶发任务的实时任务集T={T1,T2,…,Tn},并且使用EDF[13]调度策略调度该任务集,每个任务Ti用二元组(Pi,Ci)表示,其中Pi是任务Ti的周期,Ci是任务Ti最坏情况下的执行时间,并且假设任务的相对截止期限Di等于其周期。假设用ACi表示任务Ti的真实执行时间,Ri表示任务Ti的就绪时间,Di表示任务Ti的截止期限, 表示在最大运行速度下,任务集的总利用率。假设处理器提供连续的频率和电压,对频率进行归一化处理,所以速度的取值范围为[Smin,1]。remi(t)表示任务Ti在时刻t的还没有执行的时间。
[0045] 处理器根据任务活动情况可以在空闲,睡眠,活跃三个状态之间转换(可参考:Zhang Y,Guo R.Power-aware scheduling algorithms for sporadic tasks in real-time systems[J].Journal of Systems and Software,2013,86(10):2611-2619.)。当处理器没有任务执行时,此时处于空闲状态,功耗主要来自Pind。如果处理器长时间处于空闲状态可以将处理器置于睡眠状态进一步减少功耗,处理器状态转换操作需要能耗开销和时间开销。时间开销是指进入休眠状态和唤醒操作所需要的时间。文献[18]指出这一开销非常的小,故本文不考虑处理器状态转换的时间开销。假设处理器处于空闲状态的功耗为Pidle,处理器从空闲状态进入休眠状态的能耗开销为E0。根据空闲时间大小是否超过决定处理器是否进入休眠状态或者保持空闲状态。(可参考:Niu L,Li W.Energy-efficient fixed-priority scheduling for real-time systems based on threshold work-demand analysis[C]//Hardware/Software Codesign and System Synthesis(CODES+ISSS),2011Proceedings of the 9th International Conference on.IEEE,
2011:159-168.)。
[0046] 对于一个任务Ti,当系统速度低于关键速度时,使用BF方法决定是否采用关键速度,为了更好的阐述我们的思想,首先介绍相关定义。
[0047] 定义1:对于任务Ti=(R,C,D),任务运行的可行闭区间为[ts,te],在这个区间内任务不被抢占。不失一般性,我们假设,ts≥R,te≤D。在这个定义下,本文的解决的问题可以如下表述:
[0048] 问题1:在给定闭区间[ts,te]调度任务Ti=(R,C,D),选择最低能耗的速度调度策略,即是在这个区间总的能耗最小。
[0049] 引理1.在闭区间[ts,te]调度任务Ti=(R,C,D),如果处理器在空闲时间总是关闭,则在区间内执行任务Ti最小的速度选择关键速度Scrit。
[0050] 证明.如果处理器关闭,假设总的处理器状态转换开销为E0,则在闭区间总的能耗可有一下公式得出:
[0051] P(S)=(α·S3+Pind)·C/S+E0  (1)
[0052] 从程式(1)中可知,P(S)关于参数S的凸函数.对程式进行求导得最小值:得程式最小值时的根 也即是关键速度Scrit。
[0053] 引理2.在闭区间[ts,te]调度任务Ti=(R,C,D),如果处理器在空闲时间不关闭,则在区间内执行任务Ti最小能耗下的速度选择传统DVS调度策略的速度:C/(te-ts)。
[0054] 证明:如果处理器从不关闭,在闭区间内总的最少能耗为:
[0055] E(s)=(α·S3+Pind)·C/S+(te-ts-C/S)·Pind=α·S2+(te-ts)·Pind  (2)[0056] 显然,E(s)是关于s的单调递增函数,如果S>0,速度S越低则能耗越小。
[0057] 从引理1和引理2中,在闭区间内对于任务获得最小能耗的速度应该在关键速度和传统DVS速度之间选择。由于当任务的执行周期C大于或等于Scrit×(te-ts),任务不管选择那种速度调节策略能耗一样,因此,我们仅考虑当任务的执行周期C小于Scrit×(te-ts)。在这种情况下,为了更直观表达问题,我们采用Intel XScale处理器能耗模型,则(1)和(2)可以进一步化简。采用关键速度策略下的能耗为:
[0058] E1=(0.4×C+0.8)  (3)
[0059] 如果我们采用传统的DVS调度任务其中Δt=te-ts则公式(2)可以简化为:
[0060]
[0061] 正如实例中的例子,E1是否大于E2取决去任务的执行周期C。我们将两式做差得到关于C的函数F(C):
[0062]
[0063] 下面我将证明在给定的闭区间[ts,te]内,F(C)存在一个根C0(平衡因子),使得F(C)在区间[0,0.3·Δt)中大于0或者小于0。
[0064] 定理1.考虑任务Ti=(R,C,D)(0
[0065] 图1(a)能耗函数截距0.08·Δt-0.8>0;图1(b)能耗函数截距0.08·Δt-0.8<0[0066] 证明:
[0067] 如图1(a)和图1(b)给出了方程(3)的曲线,从图中可以看出:
[0068] 当截距大于0时,即图1(a),F(C)在区间(0,0.3·Δt]和X轴有一个交点C0,这个点即是平衡因子,当任务的执行周期C在(0,C0]时,F(C)>0,得出:E2≥E1;否则,E2
[0069] 当截距小于0,如图1(b),此时F(C)在区间(0,0.3·Δt]恒小于0,得出E2
[0070] 当C≥0.3·Δt时,两种调度策略消耗的能耗一样,选择关键速度策略和传统DVS策略没有差别。
[0071] 综合上述,我们证明,在(0,0.3·Δt]区间内,对于任务要获得最小的能耗,其执行速度选择依赖任务执行周期C和平衡因子的关系,当C小于C0我们选择传统DVS策略执行任务,否则选择关键速度策略执行任务。
[0072] 图3展示了在表1中的试验数据下的各方法的能耗,保持任务负载和转换开销不变,改变系统利用率从0.1到0.8,根据实验结果可以得到如下结论:
[0073] 实验结果显示,三种方法的能耗消耗和系统利用率成正相关关系,随着利用率的增加,本发明(LP-DSAFST),DVSSST和DSTLPSA能耗消耗都增加。这是因为总的利用率是能耗消耗的主要因素。总利用率增加,系统的空闲时间就越少,任务速度可以调节的机会降低。DSTLPSA方法相比DVSST方法更节能是由于DSTLPSA方法采用关键速度,当系统产生的空闲时间比较长时,DSTLPSA方法可以通过关闭处理器进一步降低系统能耗。本发明消耗的能耗比DSTLPSA方法低,是因为本发明利用了平衡因子,在处理器是否进入睡眠状态时,进行了判断,进一步降低系统能耗。当U=0.8,本发明(LP-DSAFST)相比DVSSST和DSTLPSA方法消耗的能耗节约41.36%和18.62%能耗.
[0074] 表1:系统利用率对能耗的影响
[0075]Utilization AC/WCET overhead
0.1-0.8 0.5 0.1
[0076] 表2:任务真实负载对能耗的影响
[0077]AC/WCET Utilization Overhead
0.1-1.0 0.5 0.1
[0078] 图4展示了在表2中的实验数据下本发明的试验结果。随着AC/WCET的增加,方法本发明的归一化能耗始终低于DVSST和DSTLPSA方法,但差距逐渐缩小。这是因为在利用率和转换开销一定的情况下,任务负载越小,系统产生的空闲时间越多,本发明一方面可以利用空闲时间降低后续任务的速度,另一方面方法可以利用空闲时间关闭处理器的可能性增大,因此节能效果更明显。当AC/WCET等于1时,意味着系统中没有高优先级任务提前完成剩余的时间可以利用,因此三种方法消耗的能耗相差很小,但是由于本发明和DSTLPSA方法采用关键速度策略,因此相比DVSST方法获得更好的节能效果。
[0079] (3)DVSST和NonDVS方法,执行任务都是利用任务的最坏时间执行,因此他们的能耗消耗对AC/WCET变化不敏感,对于DVSST和NonDVS方法能耗消耗的多少来自任务的利用率而不是任务的负载。当任务负载AC/WCET=0.1,本发明(LP-DSAFST)相比DVSST和DSTLPSA方法可以分别节约38.02%和16.35%能耗。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈