CN105975049B - 一种任务同步偶发任务低能耗调度方法 - Google Patents
一种任务同步偶发任务低能耗调度方法 Download PDFInfo
- Publication number
- CN105975049B CN105975049B CN201610292594.7A CN201610292594A CN105975049B CN 105975049 B CN105975049 B CN 105975049B CN 201610292594 A CN201610292594 A CN 201610292594A CN 105975049 B CN105975049 B CN 105975049B
- Authority
- CN
- China
- Prior art keywords
- task
- accidental
- dynamic
- priority
- low velocity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
Abstract
本发明公开了一种任务同步偶发任务低能耗调度方法,包括以下步骤:根据系统的实际需求,计算出动态低速度SL;利用栈资源协议的最佳可行性分析条件计算出动态高速度根据最早截止期限优先策略给任务分配优先级,高优先级的任务优先执行;任务开始以动态低速度SL执行,当有任务被阻塞时,其将以动态高速度执行,直到任务完成执行;任务完成执行后,被阻塞的任务以动态高速度执行,直到其完成执行。本发明的方法任务能够以动态低速度SL或者动态高速度执行,充分利用处理器的空闲时间,有效地降低系统能耗。
Description
技术领域
本发明涉及嵌入式系统领域资源受限偶发任务的低能耗实时调度,特别涉及一种任务同步偶发任务低能耗调度方法。
背景技术
目前大多数移动便携式嵌入式设备都采用电池供电,而电池的容量是有限的,电池技术的发展速度远远落后于嵌入式设备能耗的增长速度。因此,能耗问题成为嵌入式系统亟待解决的关键问题。动态电压调节(DVS)技术根据系统的实时负载,通过调节处理器速度,使处理器能耗能够得到近似二次方次的减少,是一种有效的低功耗技术。
为了降低系统能耗,很多研究者对低能耗调度算法开展研究。而这些研究大多数针对相互独立的任务模型。而对于嵌入式系统的应用而言,任务之间因为共享资源而存在着相互的依赖关系。为了确保任务的同步执行,部分研究者提出了栈资源(SRP)协议和天花板(PCP)协议解决任务的资源共享问题。但这些研究成果没有考虑系统的能耗问题。现有的资源受限低能耗调度算法主要针对周期任务模型,且使用静态低速度和静态高速度执行任务,造成系统资源的浪费,导致节能效果差。
发明内容
本发明的目的在于克服现有技术的不足,提出一种任务同步偶发任务低能耗调度方法,该方法根据系统的实际需求,计算出动态低速度SL,且利用最佳可行性分析条件计算出动态高速度任务开始时以动态低速度执行SL,当有任务被阻塞时,任务以动态高速度执行,待其完成执行后,被阻塞任务以动态高速度执行。
本发明解决其技术问题所采用的技术方案是:
一种任务同步偶发任务低能耗调度方法,包括如下步骤:
根据系统的实际需求,计算出动态低速度;
利用栈资源协议的最佳可行性分析条件计算出动态高速度;
根据最早截止期限优先策略给任务分配优先级,高优先级的任务优先执行;
任务开始以动态低速度执行,当有任务被阻塞时,其以动态高速度执行直到完成;任务完成执行后,被阻塞的任务以动态高速度执行直到完成。
具体的,所述根据系统的实际需求,计算出动态低速度,包括:
初始化动态低速度和可延迟任务集合;
当偶发任务释放任务实例时,如果其属于可延迟任务集合,增加动态低速度,并将偶发任务从可延迟任务集合中移除;
当偶发任务超过其最小释放间隔还没有释放任务实例,且其不属于可延迟任务集合,降低动态低速度,并将偶发任务加入到可延迟任务集合;
当处理器处于空闲状态时,动态低速度设置为0。
进一步的,动态低速度增加的量和降低的量均为偶发任务的利用率,所述偶发任务的利用率ui用如下公式表示:
其中,Ci和Pi分别为偶发任务Ti的最坏情况下的执行时间和其最小释放间隔;i为大于0的整数。
具体的,所述栈资源协议是指任务不需要访问资源时,任务按照优先级执行,如果任务的优先级相同,按照先来先服务的原则执行;当任务需要访问资源时,占有资源的各个任务的优先级等于该任务拥有资源中最高优先级的最高限度;只要任务请求资源,就将资源分配给任务。栈资源协议的最佳可行性分析条件表示为:
其中,t为大于0的实数,P1,Pi,Pj,Pk分别表示偶发任务T1,Ti,Tj,Tk的最小释放间隔,Bj表示偶发任务Tj的最大阻塞时间,Ck,Ci分别表示偶发任务Tk和Ti最坏情况下的执行时间,i,j,k,n为大于0的整数;
由最佳可行性分析条件表达式计算出动态高速度如下:
具体的,所述根据最早截止期限优先策略给任务分配优先级,高优先级的任务优先执行,包括:在偶发任务释放之后,计算出偶发任务的截止期限,根据截止期限的值对所有的偶发任务进行排序,截止期限的值越小,排在最前面,其优先级也越高;当截止期限的值相同时,按照偶发任务的释放时间进行排序,释放时间越小,排在前面,其优先级也越高;当这两者相同时,随机选取任务,排在前面,被选取的任务优先级也越高;高优先级的任务优先执行。
具体的,所述任务开始以动态低速度执行,当有任务被阻塞时,其以动态高速度执行直到完成;任务完成执行后,被阻塞的任务以动态高速度执行直到完成,包括:
当偶发任务Ti释放后获得执行所需的所有资源时,其以动态低速度SL开始执行;
当有偶发任务Tk释放且Tk的优先级高于Ti的优先级时,如果Tk所要访问的关键区和Ti所要访问的关键区相同,则Tk被阻塞;此时Ti将以动态高速度执行,直到完成执行,Ti完成执行后,Tk以动态高速度执行,直到完成执行;如果Tk所要访问的关键区和Ti所要访问的关键区不同或者Tk不用访问关键区时,Tk抢占Ti的执行,其执行速度也为动态低速度SL,Tk完成执行时,被挂起的Ti以动态低速度SL恢复执行。
本发明具有如下有益效果:
(1)根据系统的实际需求,计算出动态低速度,且利用最佳可行性分析条件计算出动态高速度,有效的利用系统的空闲时间,从而比现有的任务同步偶发任务低能耗调度方法节约大约37.28%能耗;
(2)能够确保偶发任务在其截止期限内完成执行,且能够确保资源被互斥的使用;
(3)系统能耗的降低,可以降低产品的生产成本,延迟设备的使用时间,减少电池的更换周期。
以下结合附图及实施例对本发明作进一步详细说明,但本发明的一种任务同步偶发任务低能耗调度方法不局限于实施例。
附图说明
图1为本发明方法的流程图示意图;
图2为本发明的实施例归一化能耗与系统利用率的仿真实验结果图。
具体实施方式
参见图1,本发明提供的一种任务同步偶发任务低能耗调度方法,包括如下步骤:
步骤101:根据系统的实际需求,计算出动态低速度SL;
偶发任务由于其释放间隔的不确定性,在此根据偶发任务释放其任务实例来计算动态低速度SL;当偶发任务释放任务实例时,如果其属于可延迟任务集合DTS,增加动态低速度SL,增加的量为偶发任务的利用率ui;当偶发任务超过其最小释放间隔还没有释放任务实例,且其不属于可延迟任务集合DTS,降低动态低速度SL,降低的量为偶发任务的利用率ui;当处理器处于空闲状态时,动态低速度SL设置为0。本实施例中,具体步骤如下:
1)设置初始条件DTS=T,SL=0;其中T是资源受限偶发任务集合,DTS是集合T的子集,DTS中的任务释放任务实例的时间间隔都大于其相应的最小释放间隔;
2)假如偶发任务Ti释放任务实例,且其属于集合DTS;
3)设置其中Ci和Pi分别为偶发任务Ti的最坏情况下的执行时间和其最小释放间隔,偶发任务Ti的利用率设置DTS-={Ti};即将偶发任务Ti从集合DTS中移除;
4)假如偶发任务Ti在经过Pi个时间单位之后还没有释放任务实例且Ti不属于集合DTS
5)设置DTS+={Ti},即将偶发任务Ti加入集合DTS中;
6)假如没有任务调度,也就是处理器处于空闲状态时
7)设置SL=0,DTS=T;
步骤102:利用栈资源协议的最佳可行性分析条件计算出动态高速度
栈资源协议是指任务不需要访问资源时,任务按照其优先级执行,如果任务的优先级相同,按照先来先服务的原则执行;当任务需要访问资源时,占有资源的各个任务的优先级等于该任务拥有资源中最高优先级的最高限度;只要任务请求资源,就将资源分配给任务。栈资源协议的最佳可行性分析条件为:
由上式计算出动态高速度为
其中,t为大于0的实数,P1,Pi,Pj,Pk分别为偶发任务T1,Ti,Tj,Tk的最小释放间隔,Bj为偶发任务Tj的最大阻塞时间,Ck,Ci分别为偶发任务Tk和Ti最坏情况下的执行时间,i,j,k,n为大于0的整数。
步骤103:根据最早截止期限优先策略给任务分配优先级,高优先级的任务优先执行;
在偶发任务Ti释放之后,计算出Ti的截止期限Di,根据截止期限Di的值对所有的偶发任务进行排序,Di的值越小,排在最前面,其优先级也越高;当Di的值相同时,按照任务Ti的释放时间ri进行排序,ri越小,排在前面,其优先级也越高;当这两者相同时,随机选取任务,排在前面,被选取的任务优先级也越高;高优先级的任务优先执行。
步骤104:任务开始以动态低速度SL执行,当有任务被阻塞时,其以动态高速度执行直到完成执行;任务完成执行后,被阻塞的任务以动态高速度执行直到完成执行。
当任务Ti释放后获得执行所需的所有资源时,其开始执行,且以动态低速度SL执行;若此时任务Tk释放,当任务Tk与的优先级高于任务Ti的优先级时,如果任务Tk所要访问的关键区和任务Ti所要访问的关键区相同时,这时任务Tk被阻塞;此时,任务Ti将以动态高速度执行,直到其完成执行;任务Ti完成执行后,任务Tk以动态高速度执行,直到其完成执行;如果任务Tk所要访问的关键区和任务Ti所要访问的关键区不同或者任务Tk不用访问关键区时,任务Tk抢占任务Ti的执行,其执行速度也为动态低速度SL,任务Tk完成执行时,被挂起的任务Ti以动态低速度SL恢复执行。本实施例中,具体步骤如下:
1)任务Ti释放;
2)假如在任务Ti释放之前,处理器处于空闲状态;
3)任务Ti以动态低速度SL执行;
4)任务Tk释放,假如任务Tk的优先级高于当前执行任务Ti的优先级;
5)假如任务Tk抢占任务Ti的执行;
6)任务Tk以动态低速度SL执行;
7)否则,当任务Tk被任务Ti阻塞时;
8)任务Ti将以动态高速度执行,直到其完成执行,任务Ti完成执行后,任务Tk以动态高速度执行,直到其完成执行。
如图2所示,本实施例中,每个偶发任务集包含15个偶发任务。在这15个任务中随机选取7个任务在执行过程中需要访问资源。偶发任务Ti的最小释放间隔Pi从[10,1000]中随机选择,其最坏情况下的执行时间(WCET)从区间[1,Pi]中随机选择。在偶发任务集产生后,通过调整任务最坏情况下的执行时间,使系统利用率不超过给定的值。偶发任务的关键区和非关键区随机选择。最大的关键区长度Zi,j等于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%的能耗。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种任务同步偶发任务低能耗调度方法,其特征在于,包括:
根据系统的实际需求,计算出动态低速度;
利用栈资源协议的最佳可行性分析条件计算出动态高速度;
根据最早截止期限优先策略给任务分配优先级,高优先级的任务优先执行;
任务开始以动态低速度执行,当有任务被阻塞时,其以动态高速度执行直到完成执行;任务完成执行后,被阻塞的任务以动态高速度执行直到完成执行;
所述根据系统的实际需求,计算出动态低速度,包括:
初始化动态低速度和可延迟任务集合;
当偶发任务释放任务实例时,如果其属于可延迟任务集合,增加动态低速度,并将偶发任务从可延迟任务集合中移除;
当偶发任务超过其最小释放间隔还没有释放任务实例,且其不属于可延迟任务集合,降低动态低速度,并将偶发任务加入到可延迟任务集合;
当处理器处于空闲状态时,动态低速度设置为0;
所述栈资源协议是指任务不需要访问资源时,任务按照优先级执行,如果任务的优先级相同,按照先来先服务的原则执行;当任务需要访问资源时,占有资源的各个任务的优先级等于该任务拥有资源中最高优先级的最高限度;只要任务请求资源,就将资源分配给任务;
栈资源协议的最佳可行性分析条件表示为:
其中,t为大于0的实数,P1,Pi,Pj,Pk分别表示偶发任务T1,Ti,Tj,Tk的最小释放间隔,Bj表示偶发任务Tj的最大阻塞时间,Ck,Ci分别表示偶发任务Tk和Ti最坏情况下的执行时间,i,j,k,n为大于0的整数;
由最佳可行性分析条件表达式计算出动态高速度如下:
所述根据最早截止期限优先策略给任务分配优先级,高优先级的任务优先执行,具体是:
在偶发任务释放之后,计算出偶发任务的截止期限,根据截止期限的值对所有的偶发任务进行排序,截止期限的值越小,排在最前面,其优先级也越高;当截止期限的值相同时,按照偶发任务的释放时间进行排序,释放时间越小,排在前面,其优先级也越高;当这两者相同时,随机选取任务,排在前面,被选取的任务优先级也越高;高优先级的任务优先执行。
2.根据权利要求1所述的任务同步偶发任务低能耗调度方法,其特征在于,动态低速度增加的量和降低的量均为偶发任务的利用率,所述偶发任务的利用率ui用如下公式表示:
其中,Ci和Pi分别为偶发任务Ti的最坏情况下的执行时间和其最小释放间隔;i为大于0的整数。
3.根据权利要求1所述的任务同步偶发任务低能耗调度方法,其特征在于,所述任务开始以动态低速度执行,当有任务被阻塞时,其以动态高速度执行直到完成执行;任务完成执行后,被阻塞的任务以动态高速度执行直到完成执行,具体包括:
当偶发任务Ti释放后获得执行所需的所有资源时,其以动态低速度SL开始执行;
当有偶发任务Tk释放且Tk的优先级高于Ti的优先级时,如果Tk所要访问的关键区和Ti所要访问的关键区相同,则Tk被阻塞;此时Ti将以动态高速度执行,直到完成执行,Ti完成执行后,Tk以动态高速度执行,直到完成执行;如果Tk所要访问的关键区和Ti所要访问的关键区不同或者Tk不用访问关键区时,Tk抢占Ti的执行,其执行速度也为动态低速度SL,Tk完成执行时,被挂起的Ti以动态低速度SL恢复执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610292594.7A CN105975049B (zh) | 2016-05-05 | 2016-05-05 | 一种任务同步偶发任务低能耗调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610292594.7A CN105975049B (zh) | 2016-05-05 | 2016-05-05 | 一种任务同步偶发任务低能耗调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105975049A CN105975049A (zh) | 2016-09-28 |
CN105975049B true CN105975049B (zh) | 2018-08-24 |
Family
ID=56991095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610292594.7A Active CN105975049B (zh) | 2016-05-05 | 2016-05-05 | 一种任务同步偶发任务低能耗调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105975049B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598716B (zh) * | 2016-12-02 | 2019-05-28 | 陕西尚品信息科技有限公司 | 一种基于多处理器的任务调度方法 |
CN106933325B (zh) * | 2017-02-10 | 2019-10-11 | 华侨大学 | 一种固定优先级io设备能耗管理方法 |
CN106951056B (zh) * | 2017-03-20 | 2019-08-30 | 华侨大学 | Cpu和io设备低能耗调度方法 |
CN110850954B (zh) * | 2019-10-28 | 2023-03-28 | 华侨大学 | 一种基于固定优先级事件触发混合关键偶发任务的能耗优化方法 |
CN113110795A (zh) * | 2020-01-13 | 2021-07-13 | 伊姆西Ip控股有限责任公司 | 在应用系统中执行作业的方法、设备和计算机程序产品 |
CN111984405B (zh) * | 2020-08-07 | 2023-05-26 | 华侨大学 | 一种汽车控制系统安全调度方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101135927A (zh) * | 2006-10-12 | 2008-03-05 | 浙江大学 | 一种面向嵌入式系统低功耗实时任务调度的简化方法 |
CN102135906A (zh) * | 2011-03-18 | 2011-07-27 | 深圳市民德电子科技有限公司 | 面向嵌入式实时操作系统的功耗控制方法及系统 |
CN104424017A (zh) * | 2013-08-21 | 2015-03-18 | 中国科学院沈阳计算技术研究所有限公司 | 一种适用于数控系统的容错低功耗调度方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8695008B2 (en) * | 2011-04-05 | 2014-04-08 | Qualcomm Incorporated | Method and system for dynamically controlling power to multiple cores in a multicore processor of a portable computing device |
-
2016
- 2016-05-05 CN CN201610292594.7A patent/CN105975049B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101135927A (zh) * | 2006-10-12 | 2008-03-05 | 浙江大学 | 一种面向嵌入式系统低功耗实时任务调度的简化方法 |
CN102135906A (zh) * | 2011-03-18 | 2011-07-27 | 深圳市民德电子科技有限公司 | 面向嵌入式实时操作系统的功耗控制方法及系统 |
CN104424017A (zh) * | 2013-08-21 | 2015-03-18 | 中国科学院沈阳计算技术研究所有限公司 | 一种适用于数控系统的容错低功耗调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105975049A (zh) | 2016-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105975049B (zh) | 一种任务同步偶发任务低能耗调度方法 | |
CN105893148B (zh) | 一种基于rm策略的偶发任务低能耗调度方法 | |
CN105225017B (zh) | 一种多Agent的水电站群短期优化调度方法 | |
CN106445070B (zh) | 一种硬实时系统资源受限偶发任务能耗优化调度方法 | |
CN105320561B (zh) | 任务管理方法和系统 | |
CN102521055B (zh) | 一种虚拟机资源分配方法及其系统 | |
CN102902587A (zh) | 分布式任务调度方法、系统和装置 | |
CN103179048B (zh) | 云数据中心的主机QoS策略变换方法及系统 | |
Enokido et al. | An extended power consumption model for distributed applications | |
CN105320570B (zh) | 资源管理方法和系统 | |
CN102622273A (zh) | 基于自学习负载预测的集群按需启动方法 | |
CN103873587B (zh) | 一种基于云平台实现调度的方法及装置 | |
CN105868004A (zh) | 一种基于云计算的业务系统的调度方法及调度装置 | |
CN105847385B (zh) | 一种基于运行时长的云计算平台虚拟机调度方法 | |
CN106445636B (zh) | 一种paas平台下的动态资源调度算法 | |
CN103577265A (zh) | 一种云计算数据中心离线节能调度的方法与装置 | |
Zhou et al. | Scheduling workflow in cloud computing based on ant colony optimization algorithm | |
CN103023802B (zh) | 一种面向web集群的低能耗调度系统和方法 | |
CN109597378A (zh) | 一种资源受限混合任务能耗感知方法 | |
CN103325012A (zh) | 一种适用于电网安全校核的并行计算动态任务分配方法 | |
CN105843364B (zh) | 异构并行系统下时间能耗权衡优化的任务调度算法 | |
CN109144693A (zh) | 一种功率自适应任务调度方法及系统 | |
CN106933325B (zh) | 一种固定优先级io设备能耗管理方法 | |
CN106227600B (zh) | 一种基于能量感知的多维虚拟资源分配方法 | |
CN110149341B (zh) | 基于休眠模式的云系统用户接入控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |