一种任务同步偶发任务低能耗调度方法

文档序号:10612395阅读:456来源:国知局
一种任务同步偶发任务低能耗调度方法
【专利摘要】本发明公开了一种任务同步偶发任务低能耗调度方法,包括以下步骤:根据系统的实际需求,计算出动态低速度SL;利用栈资源协议的最佳可行性分析条件计算出动态高速度根据最早截止期限优先策略给任务分配优先级,高优先级的任务优先执行;任务开始以动态低速度SL执行,当有任务被阻塞时,其将以动态高速度执行,直到任务完成执行;任务完成执行后,被阻塞的任务以动态高速度执行,直到其完成执行。本发明的方法任务能够以动态低速度SL或者动态高速度执行,充分利用处理器的空闲时间,有效地降低系统能耗。
【专利说明】
一种任务同步偶发任务低能耗调度方法
技术领域
[0001] 本发明涉及嵌入式系统领域资源受限偶发任务的低能耗实时调度,特别涉及一种 任务同步偶发任务低能耗调度方法。
【背景技术】
[0002] 目前大多数移动便携式嵌入式设备都采用电池供电,而电池的容量是有限的,电 池技术的发展速度远远落后于嵌入式设备能耗的增长速度。因此,能耗问题成为嵌入式系 统亟待解决的关键问题。动态电压调节(DVS)技术根据系统的实时负载,通过调节处理器速 度,使处理器能耗能够得到近似二次方次的减少,是一种有效的低功耗技术。
[0003] 为了降低系统能耗,很多研究者对低能耗调度算法开展研究。而这些研究大多数 针对相互独立的任务模型。而对于嵌入式系统的应用而言,任务之间因为共享资源而存在 着相互的依赖关系。为了确保任务的同步执行,部分研究者提出了栈资源(SRP)协议和天花 板(PCP)协议解决任务的资源共享问题。但这些研究成果没有考虑系统的能耗问题。现有的 资源受限低能耗调度算法主要针对周期任务模型,且使用静态低速度和静态高速度执行任 务,造成系统资源的浪费,导致节能效果差。

【发明内容】

[0004] 本发明的目的在于克服现有技术的不足,提出一种任务同步偶发任务低能耗调度 方法,该方法根据系统的实际需求,计算出动态低速度S L,且利用最佳可行性分析条件计算 出动态高速度\。任务开始时以动态低速度执行义,当有任务被阻塞时,任务以动态高速 度5'l.执行,待其完成执行后,被阻塞任务以动态高速度5^执行。
[0005] 本发明解决其技术问题所采用的技术方案是:
[0006] -种任务同步偶发任务低能耗调度方法,包括如下步骤:
[0007] 根据系统的实际需求,计算出动态低速度;
[0008] 利用栈资源协议的最佳可行性分析条件计算出动态高速度;
[0009] 根据最早截止期限优先策略给任务分配优先级,高优先级的任务优先执行;
[0010] 任务开始以动态低速度执行,当有任务被阻塞时,其以动态高速度执行直到完成; 任务完成执行后,被阻塞的任务以动态高速度执行直到完成。
[0011] 具体的,所述根据系统的实际需求,计算出动态低速度,包括:
[0012] 初始化动态低速度和可延迟任务集合;
[0013] 当偶发任务释放任务实例时,如果其属于可延迟任务集合,增加动态低速度,并将 偶发任务从可延迟任务集合中移除;
[0014] 当偶发任务超过其最小释放间隔还没有释放任务实例,且其不属于可延迟任务集 合,降低动态低速度,并将偶发任务加入到可延迟任务集合;
[0015] 当处理器处于空闲状态时,动态低速度设置为0。
[0016] 进一步的,动态低速度增加的量和降低的量均为偶发任务的利用率,所述偶发任 务的利用率m用如下公式表示:
[0017]
[0018] 其中,CjPPi分别为偶发任务1\的最坏情况下的执行时间和其最小释放间隔;i为 大于〇的整数。
[0019] 具体的,所述栈资源协议是指任务不需要访问资源时,任务按照优先级执行,如果 任务的优先级相同,按照先来先服务的原则执行;当任务需要访问资源时,占有资源的各个 任务的优先级等于该任务拥有资源中最高优先级的最高限度;只要任务请求资源,就将资 源分配给任务。栈资源协议的最佳可行性分析条件表示为:
[0020]
[0021] 其中,t为大于0的实数,?1,?^?」,?1{分别表示偶发任务1'1,1\,1'」,了 1{的最小释放间 隔,表示偶发任务L的最大阻塞时间,&,(^分别表示偶发任务TdPTi最坏情况下的执行时 间,i,j,k,n为大于0的整数;
[0022] 由最佳可行性分析条件表达式计算出动态高速度,如下:
[0023]
[0024] 具体的,所述根据最早截止期限优先策略给任务分配优先级,高优先级的任务优 先执行,包括:在偶发任务释放之后,计算出偶发任务的截止期限,根据截止期限的值对所 有的偶发任务进行排序,截止期限的值越小,排在最前面,其优先级也越高;当截止期限的 值相同时,按照偶发任务的释放时间进行排序,释放时间越小,排在前面,其优先级也越高; 当这两者相同时,随机选取任务,排在前面,被选取的任务优先级也越高;高优先级的任务 优先执行。
[0025] 具体的,所述任务开始以动态低速度执行,当有任务被阻塞时,其以动态高速度执 行直到完成;任务完成执行后,被阻塞的任务以动态高速度执行直到完成,包括:
[0026] 当偶发任务释放后获得执行所需的所有资源时,其以动态低速度&开始执行;
[0027] 当有偶发任务Tk释放且Tk的优先级高于的优先级时,如果Tk所要访问的关键区 和!^所要访问的关键区相同,则T k被阻塞;此时将以动态高速度*^.:执行,直到完成执行, 完成执行后,Tk以动态高速度1?.执行,直到完成执行;如果T k所要访问的关键区和所要访 问的关键区不同或者Tk不用访问关键区时,Tk抢占 ?\的执行,其执行速度也为动态低速度 SL,Tk完成执行时,被挂起的Ti以动态低速度SL恢复执行。
[0028]本发明具有如下有益效果:
[0029] (1)根据系统的实际需求,计算出动态低速度,且利用最佳可行性分析条件计算出 动态高速度,有效的利用系统的空闲时间,从而比现有的任务同步偶发任务低能耗调度方 法节约大约37.28 %能耗;
[0030] (2)能够确保偶发任务在其截止期限内完成执行,且能够确保资源被互斥的使用;
[0031] (3)系统能耗的降低,可以降低产品的生产成本,延迟设备的使用时间,减少电池 的更换周期。
[0032]以下结合附图及实施例对本发明作进一步详细说明,但本发明的一种任务同步偶 发任务低能耗调度方法不局限于实施例。
【附图说明】
[0033]图1为本发明方法的流程图示意图;
[0034]图2为本发明的实施例归一化能耗与系统利用率的仿真实验结果图。
【具体实施方式】
[0035]参见图1,本发明提供的一种任务同步偶发任务低能耗调度方法,包括如下步骤: [0036]步骤101:根据系统的实际需求,计算出动态低速度Sl;
[0037]偶发任务由于其释放间隔的不确定性,在此根据偶发任务释放其任务实例来计算 动态低速度Sl ;当偶发任务释放任务实例时,如果其属于可延迟任务集合DTS,增加动态低 速度Sl,增加的量为偶发任务的利用率m;当偶发任务超过其最小释放间隔还没有释放任务 实例,且其不属于可延迟任务集合DTS,降低动态低速度S L,降低的量为偶发任务的利用率 m;当处理器处于空闲状态时,动态低速度SL设置为0。本实施例中,具体步骤如下:
[0038] 1)设置初始条件DTS = T,SL = 0;其中T是资源受限偶发任务集合,DTS是集合T的子 集,DTS中的任务释放任务实例的时间间隔都大于其相应的最小释放间隔;
[0039] 2)假如偶发任务Ti释放任务实例,且其属于集合DTS;
[0040] 3)设置4+ = #,其中CjPPi分别为偶发任务1^的最坏情况下的执行时间和其最 .1 小释放间隔,偶发任务Ti的利用率士 = | ;设置DTS-ilTd;即将偶发任务从集合DTS中 ? 移除;
[0041] 4)假如偶发任务在经过Pi个时间单位之后还没有释放任务实例且不属于集合 DTS
[0042] 5)设!
,即将偶发任务Ti加入集合DTS中;
[0043] 6)假如没有任务调度,也就是处理器处于空闲状态时
[0044] 7)设置 Sl = 0,DTS = T;
[0045] 步骤102:利用栈资源协议的最佳可行性分析条件计算出动态高速度&;;
[0046] 栈资源协议是指任务不需要访问资源时,任务按照其优先级执行,如果任务的优 先级相同,按照先来先服务的原则执行;当任务需要访问资源时,占有资源的各个任务的优 先级等于该任务拥有资源中最高优先级的最高限度;只要任务请求资源,就将资源分配给 任务。栈资源协议的最佳可行性分析条件为:
[0047]
[0048] 由上式计算出动态高速度%,为
[0049]
[0050] 具中,t为大的买数,Pi,Pi,Pj,Pk分别为偶友仕务,Ti,Tj,Tk的最小粹取|日」隔, Bj为偶发任务L的最大阻塞时间,&,(^分别为偶发任务TdPh最坏情况下的执行时间,i,j, k,η为大于0的整数。
[0051]步骤103:根据最早截止期限优先策略给任务分配优先级,高优先级的任务优先执 行;
[0052]在偶发任务1\释放之后,计算出1\的截止期限Di,根据截止期限值对所有的偶 发任务进行排序,值越小,排在最前面,其优先级也越高;iDi的值相同时,按照任务 的释放时间η进行排序,Γι越小,排在前面,其优先级也越高;当这两者相同时,随机选取任 务,排在前面,被选取的任务优先级也越尚;尚优先级的任务优先执行。
[0053]步骤104:任务开始以动态低速度SL执行,当有任务被阻塞时,其以动态高速度5^. 执行直到完成执行;任务完成执行后,被阻塞的任务以动态高速度4执行直到完成执行。 [0054]当任务?\释放后获得执行所需的所有资源时,其开始执行,且以动态低速度SL执 行;若此时任务T k释放,当任务Tk与的优先级高于任务的优先级时,如果任务Tk所要访问 的关键区和任务!\所要访问的关键区相同时,这时任务T k被阻塞;此时,任务将以动态高 速度*5^.执行,直到其完成执行;任务h完成执行后,任务T k以动态高速度执行,直到其完 成执行;如果任务Tk所要访问的关键区和任务所要访问的关键区不同或者任务T k不用访 问关键区时,任务Tk抢占任务1\的执行,其执行速度也为动态低速度SL,任务T k完成执行时, 被挂起的任务Ti以动态低速度Sd1 灰复执行。本实施例中,具体步骤如下:
[0055] 1)任务Ti释放;
[0056] 2)假如在任务Ti释放之前,处理器处于空闲状态;
[0057] 3)任务以动态低速度SL执行;
[0058] 4)任务Tk释放,假如任务Tk的优先级高于当前执行任务的优先级;
[0059] 5)假如任务Tk抢占任务的执行;
[0060] 6)任务Tk以动态低速度SL执行;
[0061 ] 7)否则,当任务Tk被任务Ti阻塞时;
[0062] 8)任务T,将以动态高速度&执行,直到其完成执行,任务T,完成执行后,任务Tk以 动态高速度\执行,直到其完成执行。
[0063] 如图2所示,本实施例中,每个偶发任务集包含15个偶发任务。在这15个任务中随 机选取7个任务在执行过程中需要访问资源。偶发任务1\的最小释放间隔Ρ4Λ[10,1000]中 随机选择,其最坏情况下的执行时间(WCET)从区间[Ι,Ρ」中随机选择。在偶发任务集产生 后,通过调整任务最坏情况下的执行时间,使系统利用率不超过给定的值。偶发任务的关键 区和非关键区随机选择。最大的关键区长度Zu等于bf*WCET,其中bf为阻塞因子,其值为关 键区的长度占 WCET的百分比。设置bf = 0.15,考察系统利用率对算法能耗的影响,系统利用 率的范围为0.15到0.8,步长为0.05。图2中比较了三种方法,第一,SRP方法,所有的任务都 以其所计算出的静态高速度执行,且以SRP算法的能耗为基准进行归一化。第二,DS(双速 度)方法,任务以静态低速度执行或者静态高速度执行。第三,本发明的方法,任务开始以动 态低速度执行,当有任务被阻塞时,将以动态高速度执行,直到任务完成执行,且被阻塞的 任务也以高速度执行直到其完成执行。从图2中可以看出,所有方法的归一化能耗都受到系 统利用率的影响。当系统利用率低于0.3时,DS方法和本发明的方法的归一化耗相同。这是 因为这两个算法中所计算的速度都低于处理器的关键速度(关键速度是处理器能耗最优的 速度,在这里关键速度的值为0. 3),而任务最终都以关键速度执行。当系统利用率大于0.3 时,本发明的方法的归一化能耗降低,而DS方法的归一化能耗上升。对于DS方法而言,系统 利用率上升,任务最坏情况下执行时间增加,导致其静态低速度增加。对于本发明的方法而 言,其动态低速度始终都是低于静态低速度。当静态低速度增加时,动态低速度可能会保持 不变,本发明的方法是以动态低速度执行任务,因此,本发明的方法归一化能耗会快速下 降。总之,所提出的本发明的方法的归一化能耗都低于其他方法的能耗。经过计算可知,本 发明的方法比DS方法节约大约37.28%的能耗。
[0064]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和 原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种任务同步偶发任务低能耗调度方法,其特征在于,包括: 根据系统的实际需求,计算出动态低速度; 利用找资源协议的最佳可行性分析条件计算出动态高速度; 根据最早截止期限优先策略给任务分配优先级,高优先级的任务优先执行; 任务开始W动态低速度执行,当有任务被阻塞时,其W动态高速度执行直到完成执行; 任务完成执行后,被阻塞的任务W动态高速度执行直到完成执行。2. 根据权利要求1所述的任务同步偶发任务低能耗调度方法,其特征在于,所述根据系 统的实际需求,计算出动态低速度,包括: 初始化动态低速度和可延迟任务集合; 当偶发任务释放任务实例时,如果其属于可延迟任务集合,增加动态低速度,并将偶发 任务从可延迟任务集合中移除; 当偶发任务超过其最小释放间隔还没有释放任务实例,且其不属于可延迟任务集合, 降低动态低速度,并将偶发任务加入到可延迟任务集合; 当处理器处于空闲状态时,动态低速度设置为0。3. 根据权利要求2所述的任务同步偶发任务低能耗调度方法,其特征在于,动态低速度 增加的量和降低的量均为偶发任务的利用率,所述偶发任务的利用率m用如下公式表示:其中,。和Pi分别为偶发任务Τι的最坏情况下的执行时间和其最小释放间隔;i为大于0 的整数。4. 根据权利要求1所述的任务同步偶发任务低能耗调度方法,其特征在于: 所述找资源协议是指任务不需要访问资源时,任务按照优先级执行,如果任务的优先 级相同,按照先来先服务的原则执行;当任务需要访问资源时,占有资源的各个任务的优先 级等于该任务拥有资源中最高优先级的最高限度;只要任务请求资源,就将资源分配给任 务。5. 根据权利要求4所述的任务同步偶发任务低能耗调度方法,其特征在于,找资源协议 的最佳可行性分析条件表示为:其中,t为大于0的实数,Pi,PiA,Pk分别表示偶发任务Ti,Ti,L,Tk的最小释放间隔,Bj 表示偶发任务Tj的最大阻塞时间,Ck,Ci分别表示偶发任务化和Ti最坏情况下的执行时间,i, j,k,n为大于0的整数; 由最佳可行性分析条件表达式计算出动态高速度毎,,如下:6. 根据权利要求5所述的任务同步偶发任务低能耗调度方法,其特征在于,所述根据最 早截止期限优先策略给任务分配优先级,高优先级的任务优先执行,具体是: 在偶发任务释放之后,计算出偶发任务的截止期限,根据截止期限的值对所有的偶发 任务进行排序,截止期限的值越小,排在最前面,其优先级也越高;当截止期限的值相同时, 按照偶发任务的释放时间进行排序,释放时间越小,排在前面,其优先级也越高;当运两者 相同时,随机选取任务,排在前面,被选取的任务优先级也越局;局优先级的任务优先执行。7.根据权利要求6所述的任务同步偶发任务低能耗调度方法,其特征在于,所述任务开 始W动态低速度执行,当有任务被阻塞时,其W动态局速度执行直到完成执行;任务完成执 行后,被阻塞的任务W动态高速度执行直到完成执行,具体包括: 当偶发任务Τι释放后获得执行所需的所有资源时,其W动态低速度Sl开始执行; 当有偶发任务化释放且化的优先级高于Τι的优先级时,如果化所要访问的关键区和Τι所 要访问的关键区相同,则Tk被阻塞;此时Τι将W动态高速度执行,直到完成执行,Τι完成 执行后,TkW动态高速度执行,直到完成执行;如果Tk所要访问的关键区和Τι所要访问的 关键区不同或者化不用访问关键区时,Tk抢占 Τι的执行,其执行速度也为动态低速度SL,Tk完 成执行时,被挂起的TiW动态低速度Sl恢复执行。
【文档编号】G06F1/32GK105975049SQ201610292594
【公开日】2016年9月28日
【申请日】2016年5月5日
【发明人】张忆文, 张惠臻, 王成
【申请人】华侨大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1