CN109739332B - 一种多任务通用能耗优化方法 - Google Patents
一种多任务通用能耗优化方法 Download PDFInfo
- Publication number
- CN109739332B CN109739332B CN201910073576.3A CN201910073576A CN109739332B CN 109739332 B CN109739332 B CN 109739332B CN 201910073576 A CN201910073576 A CN 201910073576A CN 109739332 B CN109739332 B CN 109739332B
- Authority
- CN
- China
- Prior art keywords
- server
- task
- time
- state
- processor
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Power Sources (AREA)
Abstract
本发明公开了一种多任务通用能耗优化方法,包括以下步骤:建立n个服务器模型;确定服务器状态转换规则;确定服务器参数更新规则;根据最早截止期限优先级策略调度服务器;计算任务的执行速度S;一旦处理器空闲时间超过处理器状态切换开销to,将处理器切换到低功耗状态,直到有新的任务释放。本发明的方法不需要事先知道任务的任何信息,可以调度任何类型的任务,通过更新服务器利用率以及转换处理器状态,达到降低***能耗的目的。
Description
技术领域
本发明涉及嵌入式***领域能耗优化调度方法,特别涉及一种多任务通用能耗优化方法。
背景技术
嵌入式***在航空航天、工业控制、电力、制造业等行业被广泛使用,不同的应用,导致***的任务类型不同。但这些任务大致可以划分为截止期限限制的周期任务和有响应时间要求的非周期任务;非周期任务可以进一步划分为相邻两个任务实例释放时间间隔有限制且有截止期限需求的偶发任务与没有限制的非周期任务。不管嵌入式***的任务类型怎样,实时性与低能耗都是设计嵌入式***的目标。
现有的能耗优化算法大多数都是只适用单一任务类型的嵌入式***,或者一个多任务类型的嵌入式***需要设计多个算法解决不同类型任务的调度问题。此外,现有的能耗优化算法往往要事先获取任务的类型、周期、最坏情况下执行时间等信息。
发明内容
本发明的主要目的在于克服现有技术中的上述缺陷,提出一种多任务通用能耗优化方法,该方法利用服务器调度任务,且根据任务的到达与服务器状态确定任务的执行速度,以降低***能耗。
本发明采用如下技术方案:
一种多任务通用能耗优化方法,其特征在于,包括:
建立n个服务器模型;
确定服务器状态转换规则;
确定服务器参数更新规则;
根据最早截止期限优先级策略调度服务器;
计算任务的执行速度S;
一旦处理器空闲时间超过处理器状态切换开销to,将处理器切换到低功耗状态,直到有新的任务释放;
所述最早截止期限优先级策略包括:服务器的截止期限越小,其优先级越高,服务器的截止期限越大,其优先级越低;当服务器的截止期限相同时,根据服务器被激活的时间确定优先级,被激活时间越近的,其优先级高,被激活时间越远,其优先级越低;当服务器被激活时间相同时,服务器下标小的优先级高,服务器下标大的,优先级低;优先级高的服务器被优先调度。
所述建立n个服务器模型;包括:
***由n个服务器组成,这n个服务器用SE1,SE2,…,SEn表示;任一服务器SEi1≤i≤n,i为正整数,包括三元组(Ui,Pi,Di),其中Ui是服务器SEi的利用率,Pi是服务器SEi的周期,Di是服务器SEi的截止期限;每个服务器SEi可以调度一类任务,这类任务可以是周期任务、偶发任务或非周期任务。
确定服务器状态转换规则,包括:
每个服务器包含三个状态:活跃状态、非活跃状态或挂起状态;初始时服务器处于非活跃状态;在时刻t,当有任务等待执行时,服务器从非活跃状态变成挂起状态;此外,在时刻t之前的所有任务都完成执行,且分配给它的处理器预算没有耗尽,此时服务器依然处于挂起状态;在时刻t,没有等待执行的任务,且处理器预算耗尽,服务器进入非活跃状态;一旦有任务开始执行,服务器进入活跃状态。
确定服务器参数更新规则,包括:
服务器SEi通过虚拟时间Vi与其周期计算其截止期限;开始时设置Vi=0和Di=0;
当服务器SEi的虚拟时间Vi大于***的当前时间tc时,服务器SEi进入非活跃状态;
当处理器处于空闲状态时,所有的服务器进入非活跃状态。
计算任务的执行速度S,包括:
当服务器SEi处于挂起状态且虚拟时间Vi等于***的当前时间tc或者处理器预算耗尽时,任务的执行速度S=S-Ui。
一旦处理器空闲时间超过处理器状态切换开销to,将处理器切换到低功耗状态,直到有新的任务释放,包括:
处理器状态切换开销to由下式计算:
to=max{To,Bo}
其中,To是处理器状态转化的时间开销,Bo是处理器能耗平衡的时间。
由上述对本发明的描述可知,与现有技术相比,本发明具有如下有益效果:
(1)可以不用事先知道任务的任何信息,适用于任何嵌入式***;
(2)解决一种调度方法只适用一种类型的任务不足,可以同时调度多种类型的任务;
(3)与没有使用节能技术的方法相比节约大约19.43%的能耗,可以降低产品的生产成本。
附图说明
图1为本发明方法的流程图示意图。
具体实施方式
以下通过具体实施方式对本发明作进一步的描述。
参见图1,本发明的一种多任务通用能耗优化方法,其包括如下步骤:
步骤101:建立n个服务器模型;
***由n个服务器组成,这n个服务器用SE1,SE2,…,SEn表示;任一服务器SEi(1≤i≤n,i为正整数)由三元组(Ui,Pi,Di),其中Ui是服务器SEi的利用率,Pi是服务器SEi的周期,Di是服务器SEi的截止期限;每个服务器SEi可以调度一类任务,这类任务可以是周期任务、偶发任务、非周期任务。
步骤102:确定服务器状态转换规则;
每个服务器包含三个状态:活跃状态,非活跃状态,挂起状态;所谓的活跃状态是指服务器正在执行任务;所谓的非活跃状态是指处理器处于空闲状态或者没有任务等待执行或者处理器的预算耗尽;所谓的挂起状态是指有任务等待执行或者服务器已经完成任务的执行但其处理器预算没有耗尽;初始时服务器处于非活跃状态;在时刻t,当有任务等待执行时,服务器从非活跃状态变成挂起状态;此外,在时刻t之前的所有任务都完成执行,且分配给它的处理器预算没有耗尽,此时服务器依然处于挂起状态;在时刻t,没有等待执行的任务,且处理器预算耗尽,服务器进入非活跃状态;一旦有任务开始执行,服务器进入活跃状态。
步骤103:确定服务器参数更新规则;
服务器SEi通过虚拟时间Vi与其周期计算其截止期限;开始时设置Vi=0和Di=0;
Di=Vi+Pi;
如果没有新的任务调度,服务器SEi进入挂起状态;
当服务器SEi的虚拟时间Vi大于***的当前时间tc时,服务器SEi进入非活跃状态;
Di=Vi+Pi;
此时服务器进入活跃状态;
当处理器处于空闲状态时,所有的服务器进入非活跃状态。
步骤104:根据最早截止期限优先级策略调度服务器;
服务器的优先级由其截止期限确定,而服务器的截止期限由服务器的参数更新规则确定;服务器的截止期限越小,其优先级越高;服务器的截止期限越大,其优先级越低;当服务器的截止期限相同时,根据服务器被激活的时间确定优先级;被激活时间越近的,其优先级高;被激活时间越远,其优先级越低;所谓的服务器的被激活时间是指服务器进入活跃状态的时刻;当服务器被激活时间相同时,服务器下标小的优先级高,服务器下标大的,优先级低;优先级高的服务器被优先调度。
步骤105:计算任务的执行速度S;
当服务器SEi处于挂起状态且虚拟时间Vi等于***的当前时间tc或者处理器预算耗尽时,任务的执行速度S=S-Ui。
步骤106:一旦处理器空闲时间超过处理器状态切换开销to,将处理器切换到低功耗状态,直到有新的任务释放;
一旦处理器空闲时间超过处理器状态切换开销to,将处理器切换到低功耗状态,直到有新的任务释放;处理器状态切换开销to由下式计算:
to=max{To,Bo}
其中,To是处理器状态转化的时间开销,Bo是处理器能耗平衡的时间,即当空闲时间没有超过Bo时,将处理器切换到低功耗状态,不仅不能节能,反而增加能耗;只有处理器空闲时间超过Bo时,将处理器切换到低功耗状态才能节能,Bo由下式计算:
其中,Eo是处理器状态转化的能耗开销,Pa和Ps分别是处理器处于活跃模式和休眠模式的功耗。
本实施例中,考虑有4个任务的***,其中任务T1和任务T2是偶发任务,任务T3和任务T4是周期任务。偶发任务T1和偶发任务T2的最小释放间隔分别为8和16。偶发任务T1的执行时间在1~2之间,偶发任务T2的执行时间在2~4之间。偶发任务T1的第一个实例释放时间为0,其执行时间为1,第二个实例的释放时间为10,其执行时间为2;偶发任务T2的第一个实例释放时间为0,其执行时间为2,第二个实例的释放时间为18,其执行时间为4。周期任务T3和周期任务T4的周期分别为4和32。周期任务T3和周期T4的执行时间分别为1和8。周期任务T3和周期任务T4的第一个实例也在0时刻释放。
在区间[0,32]使用本发明方法调度这4个任务。与这四个任务相对应,设置四个服务器SE1,SE2,SE3,SE4调度这4个任务。这四个服务器的利用率U1,U2,U3,U4分别设置为0.25,0.25,0.25,0.25;这四个服务器的周期P1,P2,P3,P4分别设置为8,16,4,32。在0时刻,服务器SE1,SE2,SE3,SE4的截止期限分别为8,16,4,32;且此时所有的服务器都进入活跃状态,此时的执行速度S=1。因此,周期任务T3开始以执行速度S=1执行,且在时刻1完成执行,服务器SE3进入挂起状态;时刻1,偶发任务T1开始以执行速度S=1执行,在时刻2完成执行;此时服务器SE1进入挂起状态;时刻2,偶发任务T2开始以执行速度S=1执行,在时刻4完成执行,服务器SE2进入挂起状态;在时刻4,SE1进入非活跃状态,此时的执行速度S=0.75,且在时刻4,周期任务T3的实例到达,服务器SE3的截止期限为8且进入活跃状态;所以在时刻4,周期任务T3以执行速度S=0.75执行,且在时刻5.33完成执行。在时刻5.33,周期任务T4以执行速度S=0.75执行,在时刻8,周期任务T3的实例到达,服务器SE3的截止期限为12且进入活跃状态。此时服务器SE2进入非活跃状态,此时的执行速度为S=0.5。周期任务T3以执行速度S=0.5开始执行,在时刻10完成执行,服务器SE3进入挂起状态。在时刻10,偶发任务T1的第二个实例到达,服务器SE1进入活跃状态,且其截止期限为18,此时的执行速度S=0.75。在时刻12,周期任务T3的实例到达,服务器SE3的截止期限为16且进入活跃状态;周期任务T3开始以S=0.75执行,且在时刻13.33完成执行,服务器SE3进入挂起状态。在时刻13.33,偶发任务T1继续以S=0.75执行,且在时刻14完成执行,且服务器SE1进入挂起状态。在时刻14,周期任务T4以执行速度S=0.75执行。在时刻16,周期任务T3的实例到达,服务器SE3的截止期限为20且进入活跃状态。此时的执行速度S=0.75。周期任务T3以执行速度S=0.75执行,在时刻17.33完成执行,服务器SE3进入挂起状态。时刻17.33,周期任务T4以执行速度S=0.75执行。在时刻18,偶发任务T2的第二个实例到达,服务器SE2进入活跃状态,且其截止期限为34;此时的执行速度S=1。因此,在时刻18,周期任务T4继续以执行速度S=1执行。在时刻20,周期任务T3的实例到达,服务器SE3的截止期限为24且进入活跃状态。周期任务T3以执行速度S=1执行,在时刻21完成执行,服务器SE3进入挂起状态。在时刻21,周期任务T4继续以执行速度S=1执行,且其在时刻22.95完成执行,服务器SE4进入挂起状态。在时刻22.95,偶发任务T2以执行速度S=1执行。在时刻24,周期任务T3的实例到达,服务器SE3的截止期限为28且进入活跃状态。在时刻25,周期任务T3完成执行,且服务器SE3进入挂起状态。在时刻25,偶发任务T2以执行速度S=1继续执行,且在时刻27.95完成执行,服务器SE2进入挂起状态。在时刻28,周期任务T3的实例到达,服务器SE3的截止期限为32且进入活跃状态。在时刻29,周期任务T3完成执行,且服务器SE3进入挂起状态。
经过就算可知,本发明方法比没有使用节能技术的其他方法节约大约19.43%的能耗。
上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。
Claims (4)
1.一种多任务通用能耗优化方法,其特征在于,***由n个服务器组成,这n个服务器用SE1,SE2,…,SEn表示;任一服务器SEi 1≤i≤n,i为正整数,包括三元组(Ui,Pi,Di),其中Ui是服务器SEi的利用率,Pi是服务器SEi的周期,Di是服务器SEi的截止期限;每个服务器SEi可以调度一类任务,这类任务可以是周期任务、偶发任务或非周期任务包括:
建立n个服务器模型;
确定服务器状态转换规则;
确定服务器参数更新规则,其包括:服务器SEi通过虚拟时间Vi与其周期计算其截止期限;开始时设置Vi=0和Di=0;
当服务器SEi的虚拟时间Vi大于***的当前时间tc时,服务器SEi进入非活跃状态;
当处理器处于空闲状态时,所有的服务器进入非活跃状态;
根据最早截止期限优先级策略调度服务器;
计算任务的执行速度S;
一旦处理器空闲时间超过处理器状态切换开销to,将处理器切换到低功耗状态,直到有新的任务释放;
所述最早截止期限优先级策略包括:服务器的截止期限越小,其优先级越高,服务器的截止期限越大,其优先级越低;当服务器的截止期限相同时,根据服务器被激活的时间确定优先级,被激活时间越近的,其优先级高,被激活时间越远,其优先级越低;当服务器被激活时间相同时,服务器下标小的优先级高,服务器下标大的,优先级低;优先级高的服务器被优先调度。
2.根据权利要求1所述的多任务通用能耗优化方法,其特征在于,确定服务器状态转换规则,包括:
每个服务器包含三个状态:活跃状态、非活跃状态或挂起状态;初始时服务器处于非活跃状态;在时刻t,当有任务等待执行时,服务器从非活跃状态变成挂起状态;此外,在时刻t之前的所有任务都完成执行,且分配给它的处理器预算没有耗尽,此时服务器依然处于挂起状态;在时刻t,没有等待执行的任务,且处理器预算耗尽,服务器进入非活跃状态;一旦有任务开始执行,服务器进入活跃状态。
4.根据权利要求1所述的多任务通用能耗优化方法,其特征在于,一旦处理器空闲时间超过处理器状态切换开销to,将处理器切换到低功耗状态,直到有新的任务释放,包括:
处理器状态切换开销to由下式计算:
to=max{To,Bo}
其中,To是处理器状态转化的时间开销,Bo是处理器能耗平衡的时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910073576.3A CN109739332B (zh) | 2019-01-25 | 2019-01-25 | 一种多任务通用能耗优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910073576.3A CN109739332B (zh) | 2019-01-25 | 2019-01-25 | 一种多任务通用能耗优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109739332A CN109739332A (zh) | 2019-05-10 |
CN109739332B true CN109739332B (zh) | 2022-05-03 |
Family
ID=66366106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910073576.3A Active CN109739332B (zh) | 2019-01-25 | 2019-01-25 | 一种多任务通用能耗优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109739332B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825504B (zh) * | 2019-10-24 | 2023-03-07 | 华侨大学 | 一种基于服务器混合关键偶发任务能耗优化方法 |
CN112235859B (zh) * | 2020-09-22 | 2022-08-05 | 国家卫星气象中心(国家空间天气监测预警中心) | 一种基于多目标约束的动态能耗控制方法 |
CN112633589B (zh) * | 2020-12-30 | 2022-07-29 | 华侨大学 | 一种基于概率模型混合关键任务能耗优化调度方法 |
CN113821339B (zh) * | 2021-08-20 | 2022-11-08 | 广州云硕科技发展有限公司 | 一种用于idc数据中心机房的能耗监控方法与装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7194385B2 (en) * | 2002-11-12 | 2007-03-20 | Arm Limited | Performance level setting of a data processing system |
US8112644B2 (en) * | 2006-12-15 | 2012-02-07 | Institute For Information Industry | Dynamic voltage scaling scheduling mechanism for sporadic, hard real-time tasks with resource sharing |
CN105630126A (zh) * | 2014-11-05 | 2016-06-01 | 中国科学院沈阳计算技术研究所有限公司 | 一种基于常带宽服务器混合任务低功耗调度方法 |
CN106970835A (zh) * | 2017-03-20 | 2017-07-21 | 华侨大学 | 固定优先级资源受限***层次能耗优化方法 |
CN105893148B (zh) * | 2016-03-30 | 2019-01-22 | 华侨大学 | 一种基于rm策略的偶发任务低能耗调度方法 |
-
2019
- 2019-01-25 CN CN201910073576.3A patent/CN109739332B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7194385B2 (en) * | 2002-11-12 | 2007-03-20 | Arm Limited | Performance level setting of a data processing system |
US8112644B2 (en) * | 2006-12-15 | 2012-02-07 | Institute For Information Industry | Dynamic voltage scaling scheduling mechanism for sporadic, hard real-time tasks with resource sharing |
CN105630126A (zh) * | 2014-11-05 | 2016-06-01 | 中国科学院沈阳计算技术研究所有限公司 | 一种基于常带宽服务器混合任务低功耗调度方法 |
CN105893148B (zh) * | 2016-03-30 | 2019-01-22 | 华侨大学 | 一种基于rm策略的偶发任务低能耗调度方法 |
CN106970835A (zh) * | 2017-03-20 | 2017-07-21 | 华侨大学 | 固定优先级资源受限***层次能耗优化方法 |
Non-Patent Citations (2)
Title |
---|
硬实时***周期任务低功耗调度算法;张忆文;《西安交通大学学报》;20140731;全文 * |
面向硬实时***零星任务低调度算法;张忆文等;《小型微型计算机***》;20160131;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109739332A (zh) | 2019-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739332B (zh) | 一种多任务通用能耗优化方法 | |
CN101339521B (zh) | 一种任务优先级动态调度算法 | |
CN109324880A (zh) | 一种适用于实时***周期任务模型的低功耗调度方法 | |
US9104500B1 (en) | Lock-free job scheduler for multi-processor systems | |
CN106970835B (zh) | 固定优先级资源受限***层次能耗优化方法 | |
CN110187956B (zh) | 一种多智能体平台的分层实时任务调度方法和*** | |
CN110308977B (zh) | 一种动态利用率更新混合关键偶发任务低能耗方法 | |
CN101923487A (zh) | 一种综合嵌入式实时周期任务调度方法 | |
CN110221907B (zh) | 一种基于edf算法和模糊集的实时任务调度方法 | |
CN109597378B (zh) | 一种资源受限混合任务能耗感知方法 | |
CN106445070B (zh) | 一种硬实时***资源受限偶发任务能耗优化调度方法 | |
CN109324891A (zh) | 一种比例空闲时间分配的周期任务低功耗调度方法 | |
CN107391244A (zh) | 一种基于混合调度模型的物联网操作***调度方法 | |
WO2016160639A1 (en) | Power aware scheduling and power manager | |
CN113535356B (zh) | 一种能量感知的分层任务调度方法和装置 | |
CN103049314A (zh) | 一种开放式***实时调度方法 | |
KR101311305B1 (ko) | 데드라인 기반 우선순위상속 시스템 및 그 방법 | |
CN112130992A (zh) | 基于高性能开放式数控***的低功耗调度方法 | |
CN106648834B (zh) | 基于批装箱问题的虚拟机调度方法 | |
CN108563497B (zh) | 一种高效的多维度算法调度方法、任务服务器 | |
CN110825504B (zh) | 一种基于服务器混合关键偶发任务能耗优化方法 | |
CN106933325B (zh) | 一种固定优先级io设备能耗管理方法 | |
CN105677449B (zh) | 一种适用于数控***的低功耗调度方法 | |
CN111813553B (zh) | 一种基于可选因子周期任务动态优先级低能耗方法 | |
JP2010224853A (ja) | ベクトル計算機およびベクトル計算機におけるマイクロプロセッサのスケジューリング方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |