CN103455131B - 一种基于概率的嵌入式系统中能耗最小化的任务调度方法 - Google Patents
一种基于概率的嵌入式系统中能耗最小化的任务调度方法 Download PDFInfo
- Publication number
- CN103455131B CN103455131B CN201310364317.9A CN201310364317A CN103455131B CN 103455131 B CN103455131 B CN 103455131B CN 201310364317 A CN201310364317 A CN 201310364317A CN 103455131 B CN103455131 B CN 103455131B
- Authority
- CN
- China
- Prior art keywords
- task
- cpu
- energy consumption
- probability
- voltage distribution
- 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
-
- 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)
- Supply And Distribution Of Alternating Current (AREA)
Abstract
本发明提出一种基于概率的嵌入式系统中能耗最小化的任务调度方法,应用于嵌入式异构多处理器系统。本方法先通过ASAP或ALAP算法初始化产生满足数据依赖关系的CPU分配方案,再用动态规划方法为每个任务在分配到的CPU上指定执行时的电压,并从中选取能耗最小的分配方案;本方法还基于当前最优分配方案产生扰动,生成一组新的满足任务依赖关系的CPU分配方案,然后对每个CPU分配方案采用动态规划方法分配电压,选取最终能耗最小的CPU与电压分配方案。本发明能够提供更为有效、更为节省能耗的调度方案,可以指定的概率满足实时系统的时间限制;不仅适用于软实时系统中的任务调度,同时也适用于硬实时系统的任务调度。
Description
技术领域
本发明属于嵌入式领域,具体涉及一种基于概率的嵌入式异构多处理器系统中使能耗最小化的任务调度方法。
背景技术
在以电池作为主要能量来源的嵌入式系统中,在保证系统性能的同时尽量节省能耗对于延长嵌入式系统的使用寿命具有非常重要的意义。动态电压调节(DVS)被认为是低功耗设计中比较有效的一项技术,DVS技术主要基于这样一个事实,即处理器的能量消耗与工作电压的平方成正比关系,根据系统的性能需求来实时调节处理器工作电压,能够很好地解决嵌入式实时系统中的性能与功耗要求。
在嵌入式系统中,任务的执行时间往往受到不确定环境因素(如文件传输过程中,网络带宽的波动可能会导致任务执行总时间的变化等)及条件执行指令等的影响。因此,任务执行所需要的时间通常会发生变化。通过采用概率技术,可以将任务执行所需要的时间看作符合一定的概率分布。通常情况下,任务执行时间的概率分布可以采用统计的方法得出。
DVS技术以及基于概率的调度方法的研究近年来也受到了越来越多的专家和学者的重视。LiuHui等人提出了一种在具有多个非连续电压等级的多核处理器上调度周期性的任务的方法,这种方法首先使用retiming(重定时)技术将具有依赖关系的周期性任务转化为独立的周期性任务。对于单核处理器,该方法使用动态规划能在伪多项式时间复杂度内得到最优的调度方案;对于多核处理器,该方法通过反复调整任务的处理器及电压分配来获取合适的调度方案。为了使在给定时间限制下任务执行总能耗最小,JasonCong等人提出了一种考虑任务平均执行时间的静态调度算法。由于在嵌入式系统中,任务执行所消耗的时间通常受到用户输入等多种因素的影响,采用考虑任务最坏执行时间或平均执行时间的静态调度算法通常不能获得合适的调度方案。
为了获得以一定的概率要求下满足实时系统任务执行总时间的限制,同时使得系统总的能耗尽可能小的调度方案,QiuMeikang等学者对单处理器和多处理器系统分别提出了一种最优调度方案。这两种调度方案都是基于处理器调度方案已知这一前提,使用动态规划算法确定任务在所分配到的CPU上执行时的电压来获取最优的电压分配方案,从而获取最优的处理器调度与电压分配方案。然而,在实际情况中,任务的处理器调度方案往往是未知的,因此这种调度策略在实际情况中并不适用。
发明内容
本发明针对的是以电池作为主要能量来源的嵌入式异构多处理器系统中的系统性能与能耗的平衡问题,采用概率的思想,提出了一种以一定的概率要求下满足实时系统任务执行总时间的限制,同时使得系统总的能耗尽可能小的调度方法,具体是一种基于概率的嵌入式系统中能耗最小化的任务调度方法。
本发明提供的一种基于概率的嵌入式系统中能耗最小化的任务调度方法,具体包括以下几个步骤:
步骤1:根据任务执行时间的概率分布,计算出累积概率分布函数F(t):
其中,为任务v在第m个处理器pem上以第n个电压voln执行时所需要消耗的总时间,为任务v在处理器pem上以电压voln在时间t内完成的概率。
步骤2:将嵌入式系统上的任务用有向无环任务图表示,对于给定的有向无环任务图G,使用ASAP(assoonaspossible,尽可能早)或ALAP(aslateraspossible,尽可能迟)算法得到满足任务依赖关系的初始的一组CPU分配方案;设定全局最小能耗Emin的初值为无限大。
步骤3:针对每个CPU分配方案,利用动态规划法获取一组可行的CPU与电压分配方案,具体是:从给定任务图G的叶节点出发,逐步计算出每个叶节点的解空间,同时去掉解空间中的冗余解和不可行解,直至计算出任务图的根节点的解空间;其中,每个解空间对应的是以该节点为根的子树的所有任务的电压分配方案。
确定在各CPU与电压分配方案下执行完成所有任务所需要的总时间、总能量消耗和相应的概率,选取其中总能量消耗最小的分配方案;若选取的分配方案的总能量消耗Ed小于全局最小能耗Emin,则更新Emin为总能量消耗Ed,并更新全局最优方案为Ed所对应的CPU与电压分配方案,然后执行步骤4;否则,不更新Emin,直接执行步骤4。
在CPU与电压分配方案A下执行完成所有任务所需要的总时间TA(G)、总的能量消耗CA(G)以及相应的概率PA(G)的计算方式如下所示:
TA(G)=max{si+r(i)}
其中,si表示任务i的开始执行时间,r(i)为任务i的执行时间,N表示系统中的总任务数量,ci,r(i)为任务i在CPU与电压分配方案A下在r(i)时间内完成所需要的能耗,pi,r(i)为任务i在处理器与电压分配方案A下在r(i)时间内能够执行完成的概率。
步骤4:判断是否达到了最大扰动次数,若是,输出当前Emin所对应的CPU与电压分配方案,结束本方法;否则,执行步骤5。
步骤5:基于全局最优方案,随机产生一个扰动,产生一组新的满足任务依赖关系的CPU分配方案,然后转步骤3执行。
本发明的任务调度方法的优点与积极效果在于:(1)引入了概率的思想来解决嵌入式系统中任务执行时间的不确定性的问题,使得本发明方法相对于采用考虑任务最坏执行时间或平均执行时间的静态等调度方法而言更加有效;(2)采用动态规划的思想来解决任务执行时的电压分配问题,能够得到在既定的处理器调度方案上的最佳电压分配方案;同时,为了减小局部最优的影响,本发明方法通过扰动产生更多的满足任务依赖关系的CPU分配方案,通过多种处理器与电压分配方案的比较,使得本发明方法的最终解的质量更佳,能够提供更为有效的处理器与电压分配方案。本发明方法不仅适用于软实时嵌入式系统的任务调度问题,同时也适用于硬实时嵌入式系统中的任务调度问题。通过多种不同调度方法的对比实验,结果表明,本发明的任务调度方法能够提供更为有效、更为节省能耗的调度方案。
附图说明
图1为本发明的任务调度方法的整体流程示意图;
图2为本发明的调度方法与对比调度方法ILP1及ILP2在使用测试数据TGFF1时,针对双处理器系统在不同时间限制情况下得出的调度方案的能耗对比示意图;
图3为本发明的调度方法与对比调度方法ILP1及ILP2在使用测试数据TGFF1时,针对三处理器系统在不同时间限制情况下得出的调度方案的能耗对比示意图;
图4为本发明的调度方法与ASAP及ALAP方法在使用测试数据TGFF2时,针对双处理器系统在不同时间限制情况下得出的调度方案的能耗对比示意图;
图5为本发明的调度方法与ASAP及ALAP方法在使用测试数据TGFF2时,针对三处理器系统在不同时间限制情况下得出的调度方案的能耗对比示意图;
图6为本发明的调度方法与调度方法ILP1及ILP2在使用测试数据TGFF3时,针对双处理器系统在不同时间限制情况下得出的调度方案的能耗对比示意图;
图7为本发明的调度方法与调度方法ILP1及ILP2在使用测试数据TGFF3时,针对三处理器系统在不同时间限制情况下得出的调度方案的能耗对比示意图;
图8为本发明的调度方法与ASAP及ALAP调度方法在使用测试数据TGFF4时,针对双处理器系统在不同时间限制情况下得出的调度方案的能耗对比示意图;
图9为本发明的调度方法与ASAP及ALAP调度方法在使用测试数据TGFF4时,针对三处理器系统在不同时间限制情况下得出的调度方案的能耗对比示意图;
图10为本发明的调度方法与调度方法ILP1及ILP2在使用测试数据Auto-industry时,针对双处理器系统在不同时间限制情况下得出的调度方案的能耗对比示意图;
图11为本发明的调度方法与调度方法ILP1及ILP2方法在使用测试数据Auto-industry时,针对三处理器系统在不同时间限制情况下得出的调度方案的能耗对比示意图;
图12为本发明的调度方法与ASAP及ALAP调度方法在使用测试数据Consumer时,针对双处理器系统在不同时间限制情况下得出的调度方案的能耗对比示意图;
图13为本发明的调度方法与ASAP及ALAP调度方法在使用测试数据Consumer时,针对三处理器系统在不同时间限制情况下得出的调度方案的能耗对比示意图。
具体实施方式
下面将结合附图和实例对本发明作进一步的详细说明。
本发明提出的基于概率的嵌入式系统中能耗最小化的任务调度方法主要适用于解决嵌入式异构多处理器系统中的任务调度问题,目的是提供一种可行的任务调度方案,使得系统内所有的任务以一定的概率要求下满足实时系统任务执行总时间的限制的同时,系统总的能耗尽可能小。本发明调度方法不仅适用于软实时系统,同时也适用于硬实时系统。
本发明提出的调度方法总体而言包括以下三个步骤:(1)使用ASAP算法或ALAP算法初始化产生满足数据依赖关系的CPU分配序列;(2)根据CPU分配序列,使用动态规划算法为每个任务在分配到的CPU上指定执行时的电压;(3)产生扰动,得到新的满足数据依赖关系的CPU分配序列,重新使用步骤(2)得到新的调度方案,将新的调度方案与原有的最佳方案比较,选择更合适的调度方案。其中,步骤(1)主要用于产生合适的初始化CPU分配序列,使用ASAP算法或ALAP算法的原因是该算法简单而且高效;步骤(2)主要用于得到每个任务在分配到的CPU上执行时的电压,通过步骤(2)可以得到在给定的CPU分配序列下的最佳电压分配方案;步骤(3)主要是为了避免局部最优,使用步骤(2)尽管可以得到最佳的电压分配方案,但由于CPU分配方案不一定是最优的,所以所得到的处理器和电压分配方案也不一定是最优的,有必要对多种分配方案进行比较,择优选择。
本发明提出的基于概率的嵌入式系统中能耗最小化的任务调度方法同时也是基于这样的一个事实,即不同类型的处理器通常具有不同类型的功能,擅长执行不同的任务,如GPU擅长图形操作,而CPU擅长数据运算等。因此,同种任务在不同类型的处理器上的执行时间、能耗等也可能不同,所以本发明的任务调度方法主要针对异构的多处理器系统。
本发明提出的一种基于概率的嵌入式系统中能耗最小化的任务调度方法,如图1所示,具体包括如下步骤:
步骤1:根据任务执行时间的概率分布,计算出累积概率分布函数F(t)。如下所示:
其中,为任务v在第m个处理器pem上以第n个电压voln执行时所需要消耗的总时间,为任务v在处理器pem上以电压voln在时间t内完成的概率。
假设在处理器pe1上任务v1执行完成需要5个时间单元的概率是0.3,需要7个时间单元的概率是0.3,而需要8个时间单元的概率是0.4,则任务v1在处理器pe1上在7个时间单元内执行完成的概率是0.6,在8个时间单元内执行完成的概率是1.0。
步骤2:嵌入式系统上的任务用有向无环任务图表示,对于给定的有向无环任务图G,使用ASAP或ALAP算法得到满足任务依赖关系的初始的CPU分配方案。使用ASAP或ALAP算法时,每个任务的执行时间使用的是其在最坏情况下的执行时间,即任务在每个处理器上的最长执行时间。得到的初始的CPU分配方案只是所有任务的一种可行的CPU分配方案,不一定是最终的分配方案。初始时,设定全局最小能耗Emin的初值为无限大。
步骤3:针对每个CPU分配方案,使用动态规划法获取一组可行的处理器与电压分配方案。
根据CPU分配方案,从给定任务图G的叶节点出发,逐步计算出每个叶节点的解空间,同时去掉解空间中的冗余解和不可行解,直至计算出任务图的根节点的解空间。其中,每个解空间对应的是以该节点为根的子树的所有任务的电压分配方案,在本发明方法中使用三元组(p,c,j)表示。三元组(p,c,j)表示子树的所有任务在时间j内执行完成的能耗c及对应的概率p。不可行解是指不满足时间限制或概率要求的解;冗余解是指在两个可行的解S1和S2中,两个解对应的三元组分别为(p1,c1,j1)和(p2,c2,j2),若p1≤p2,c1≥c2且j1≥j2,则解S1为冗余解。
所有任务在处理器与电压分配方案A下执行完成所需要的总时间TA(G)、总能量消耗CA(G)以及相应的概率PA(G)的计算方式如下所示:
TA(G)=max{si+r(i)}
其中,N表示系统中的总任务数量,si表示任务i的开始执行时间,r(i)为任务i的执行时间,ci,r(i)为任务i在处理器与电压分配方案A下在r(i)时间内完成所需要的能耗,pi,r(i)为任务i在处理器与电压分配方案A下在r(i)时间内能够执行完成的概率。pi,r(i)根据步骤1的累积概率分布函数计算得到。
依据上面公式确定所有任务在各CPU与电压分配方案下执行完成所需要的总时间、总能量消耗和相应的概率,然后选取其中总能量消耗最小的CPU与电压分配方案。若选取的CPU与电压分配方案的总能量Ed消耗小于全局最小能耗Emin,则更新Emin为该CPU与电压分配方案的总能量消耗Ed,并保存该CPU与电压分配方案为当前最优方案,然后执行步骤4;否则,不更新Emin,直接执行步骤4。
步骤4:判断是否达到了最大扰动次数,若是,输出当前Emin所对应的CPU与电压分配方案,结束本方法;否则,执行步骤5。
在本方法中使用扰动的目的是为了减小局部最优解的影响,扰动次数与本发明方法的执行时间以及最终产生结果的质量有关。一般而言,扰动次数值越大,本发明方法能提供的可行的调度方案越多,得到能耗更小的分配方案的可能性也越大,但扰动次数的增大也会导致本发明方法执行时间的增大。为平衡本发明方法执行时间与最终解的质量,根据实验经验,在本发明方法中将最大扰动次数值设置为5。
步骤5:根据当前最优分配方案,随机产生一个扰动,产生一组新的满足任务依赖关系的CPU分配方案,针对每一个新的CPU分配方案,转步骤3执行,获取可行的电压分配方案。
步骤5中所述的扰动,可采用与遗传算法中的变异操作相类似的方法,将所有任务的CPU分配方案看作一个序列,改变序列中的相应值,就可以得出一组新的序列,新序列中满足任务依赖关系的CPU分配方案即为新的合法的CPU分配方案。
本发明的任务调度方法针对的是存在数据依赖关系的非周期性任务的调度问题,为充分验证本发明方法的性能,将本发明方法与其它多种任务调度方法在多组不同的测试数据上进行了对比。实验主要在6组不同的基准数据上进行,主要针对两种不同类型的CPU:ARM和Intel。实验时使用的测试数据及CPU参数分别如下表1和表2所示。
表1基准测试数据
Benchmaks | Tasks | Edges | Width | Common nodes |
TGFF1 | 47 | 46 | 4 | 0 |
TGFF2 | 38 | 41 | 4 | 4 |
TGFF3 | 24 | 28 | 4 | 3 |
TGFF4 | 69 | 72 | 4 | 3 |
consumer | 7 | 8 | 3 | 1 |
auto-industry | 9 | 9 | 2 | 1 |
其中,Benchmaks为测试数据名称,Tasks为任务数量,Edges为测试数据对应的任务图中的边数,Width为测试数据对应的任务图中节点的后继节点数目的最大值,Commonnodes是指测试数据对应的任务图中有多个前驱节点的节点的数目。
表2CPU相关参数
CPU类型 | Vol. | Freq. | Pow. | Vol. | Freq. | Pow. | Vol. | Freq. | Pow. |
单位 | VU | MHz | EU | VU | MHz | EU | VU | MHz | EU |
ARM | 1.0 | 700 | 5.0 | 1.1 | 1000 | 9.8 | 1.2 | 1200 | 17.0 |
Intel | 0.9 | 900 | 8.0 | 1.0 | 1200 | 13.6 | 1.1 | 1600 | 19.0 |
Vol表示CPU的工作电压,Freq表示CPU的工作频率,Pow表示CPU的能耗。
其中,TGFF1-TGFF4是由随机任务图产生器得到的测试数据,consumer和auto-industry两组测试数据是根据E3S(EmbeddedSystemsSynthesisBenchmarks)得到的。本发明实施例中,TGFF1图的关键路径很长,且任务图中的独立节点数(即与其它任务不存在数据依赖关系的任务)较少;TGFF2关键路径较短,任务图中的独立节点数较多。consumer测试数据来源于消费电子类应用场景(如图像压缩与解压缩等),auto-industry测试数据来源于自动化工业应用场景(如快速傅里叶变换、矩阵运算等)。ARM和Intel两种类型的CPU在不同工作电压下的工作频率和能耗的样例数据是通过统计的方法得到的,如表2所示。由于本发明通过仿真实验来进行验证,使用到的测试数据是通过随机任务产生器以及E3S上得到的,数据中所涉及的单位不具备具体的量化值,因此,本发明实施例中,电压单位VU、能耗单位EU和下面的时间单位TU均未具备具体单位意义。当在实际应用中,可根据实际情况设定单位。
实例主要在不同的测试样例数据下,针对不同的时间限制及CPU数量的情况,对本发明方法(记为PVAP_LSR)与其他几种常用的任务调度方法(ILP1、ILP2、ASAP和ALAP)进行了对比。图2~图13中,横坐标表示实时系统中所有任务执行完成的时间限制,纵坐标表示各种调度方案所对应的能耗,任务调度方法在给定时间限制内对应的功耗的大小用二维柱形来表示。PVAP_LSR(0.8)表示使用本发明调度方法在概率要求为0.8的情况,即所有任务在给定的时间限制内完成的概率为0.8,PVAP_LSR(0.9)表示使用本发明调度方法在概率要求为0.9的情况,即所有任务在给定的时间限制内完成的概率为0.9,PVAP_LSR(1.0)表示使用本发明调度方法在概率要求为1.0的情况,即所有任务在给定的时间限制内完成的概率为1.0。ASAP表示使用ASAP算法得出初始的CPU分配方案,使用动态规划法得出电压分配方案的算法。ALAP表示使用ALAP算法得出初始的CPU分配方案,使用动态规划法得出电压分配方案的算法。ILP1表示不考虑DVS(DynamicVoltageScale,动态电压调节)技术的ILP(IntegerLinearProgramming,整数线性规划)算法,ILP2表示考虑了DVS技术的ILP算法。由于ILP算法可能需要较长的时间,在测试时将其运行时间限制为4小时。
图2、图3、图6、图7、图10和图11中,同一给定时间限制下从左到右的五个柱形分别对应调度方法ILP1、ILP2、PVAP_LSR(0.8)、PVAP_LSR(0.9)和PVAP_LSR(1.0)的功耗。图4、图5、图8、图9、图12和图13中,同一给定时间限制下从左到右的五个柱形,分别对应调度方法ASAP、ALAP、PVAP_LSR(0.8)、PVAP_LSR(0.9)和PVAP_LSR(1.0)的功耗。
图2表示在处理器数目为2、总时间限制分别为1650TU、1700TU、1750TU及1800TU时,在样例测试数据TGFF1下,使用ILP1、ILP2及PVAP_LSR三种不同调度方法所得出的调度方案各自的能耗。由图2可以看出,在硬实时要求,即概率限制为1.0时,本发明调度方法所给出的调度方案的能耗相对于ILP1与ILP2给出的调度方案的能耗有较大幅度的下降。对比ILP1和ILP2所给出的调度方案可以发现,使用DVS技术对节省系统的能耗具有显著的意义。对比在不同概率限制下所给出的调度方案的能耗可以发现,随着系统实时性能要求的提高,本发明调度方法所给出的调度方案的能耗也将相应地增大。
图3表示在处理器数目为3、总时间限制分别为1500TU、1550TU、1600TU及1650TU时,在样例测试数据TGFF1下,使用ILP1、ILP2及PVAP_LSR三种不同调度方法所得出的调度方案各自的能耗。图3中除了可以得出和图2中相同的结论外,对比图3和图2还可以发现,在相同的时间限制(1650TU)下,系统的并行度越大,即处理器数量越多,各调度方法给出的调度方案越好。
图4表示在处理器数目为2、总时间限制分别为1150TU、1200TU、1250TU及1300TU时,在样例测试数据TGFF2下,使用ASAP、ALAP及PVAP_LSR三种不同调度方法所得出的调度方案各自的能耗。在本实验中,ASAP或ALAP调度方法表示使用ASAP或ALAP算法得出初始的CPU分配方案,使用动态规划算法得出电压分配方案的算法,ASAP或ALAP与PVAP_LSR调度方法的主要区别在于PVAP_LSR使用了扰动产生新的CPU分配方案。图4主要反映的是使用扰动技术的效果,观察图4可以发现,使用扰动技术能够在一定程度上避免局部最优,得出更加合适的调度方案。
图5表示在处理器数目为3、总时间限制分别为1000TU、1050TU、1100TU及1150TU时,在样例测试数据TGFF2下,使用ASAP、ALAP及PVAP_LSR三种不同方法所得出的调度方案各自的能耗。比较图5和图4也可以发现,系统的并行度越大(即处理器数量越多),本发明调度方法给出的调度方案越好。
图6和图7、图10和图11主要是在不同处理器数目时(图6和图10为两个处理器,图7和图11为三个处理器),在不同的测试数据下(图7和图11测试数据是TGFF3,图8和图12测试数据是Auto-Industry),使用本发明调度方法与ILP1和ILP2两个调度方法的效果对比图,所得结论与图2和图3所得结论相同。
图8和图9、图12和图13主要是在不同处理器数目时(图8和图12为两个处理器,图9和图13为三个处理器),在不同的测试数据下(图8和图12测试数据是TGFF4,图9和图13测试数据是consumer),使用本发明调度方法与ASAP和ALAP两个调度方法的效果对比图,所得结论与图4和图5所得结论相同。
图6-图13实验的目的主要是考察本发明提出基于概率的嵌入式系统中节能任务调度方法在不同情况下的性能,以证明本发明提供的调度方法的优点。
通过在不同样例数据下的对比实验,可以发现本发明基于概率的节能任务调度方法能够提供更加有效的任务调度方案。该方法不仅适用于软实时嵌入式系统的任务调度问题,同时也适用于硬实时嵌入式系统的任务调度问题,能够很好地平衡嵌入式实时系统中的性能与功耗要求。
Claims (3)
1.一种基于概率的嵌入式系统中能耗最小化的任务调度方法,其特征在于,包括以下步骤:
步骤1:根据任务执行时间的概率分布,计算出累积概率分布函数F(t):
其中,为任务v在第m个处理器pem上以第n个电压voln执行时所需要消耗的总时间,为任务v在处理器pem上以电压voln在时间t内完成的概率;
步骤2:将嵌入式系统上的任务用有向无环任务图表示,对于给定的有向无环任务图G,使用尽可能早或尽可能迟算法,得到满足任务依赖关系的初始的CPU分配方案;设定全局最小能耗Emin的初值为无限大;
步骤3:针对每个CPU分配方案,利用动态规划法获取一组可行的CPU与电压分配方案,具体是:从给定有向无环任务图G的叶节点出发,逐步计算出每个叶节点的解空间,同时去掉解空间中的冗余解和不可行解,直至计算出有向无环任务图G的根节点的解空间;其中,每个节点的解空间对应的是以该节点为根的子树的所有任务的电压分配方案;
确定在各CPU与电压分配方案下执行完成所有任务所需要的总时间、总能量消耗和相应的概率,选取其中总能量消耗最小的CPU与电压分配方案;若选取的CPU与电压分配方案的总能量消耗Ed小于全局最小能耗Emin,则更新Emin为总能量消耗Ed,并更新全局最优方案为Ed所对应的CPU与电压分配方案,然后执行步骤4;否则,不更新Emin,直接执行步骤4;
步骤4:判断是否达到了最大扰动次数,若是,输出当前Emin所对应的CPU与电压分配方案,结束本方法;否则,执行步骤5;
步骤5:基于全局最优方案,随机产生一个扰动,产生一组新的满足任务依赖关系的CPU分配方案,然后转步骤3执行。
2.根据权利要求1所述的任务调度方法,其特征在于,所述的步骤3中,在某个CPU与电压分配方案A下,执行完成所有任务所需要的总时间TA(G)、总能量消耗CA(G)和相应的概率PA(G)分别为:
TA(G)=max{si+r(i)}
其中,si表示任务i的开始执行时间,r(i)为任务i的执行时间,N表示系统中的总任务数量,ci,r(i)为任务i在CPU与电压分配方案A下在r(i)时间内完成所需要的能耗,pi,r(i)为任务i在CPU与电压分配方案A下在r(i)时间内能够执行完成的概率。
3.根据权利要求1或2所述的任务调度方法,其特征在于,步骤4中所述的最大扰动次数设定为5。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310364317.9A CN103455131B (zh) | 2013-08-20 | 2013-08-20 | 一种基于概率的嵌入式系统中能耗最小化的任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310364317.9A CN103455131B (zh) | 2013-08-20 | 2013-08-20 | 一种基于概率的嵌入式系统中能耗最小化的任务调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103455131A CN103455131A (zh) | 2013-12-18 |
CN103455131B true CN103455131B (zh) | 2016-01-20 |
Family
ID=49737594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310364317.9A Active CN103455131B (zh) | 2013-08-20 | 2013-08-20 | 一种基于概率的嵌入式系统中能耗最小化的任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103455131B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914345B (zh) * | 2013-12-16 | 2017-02-22 | 西北工业大学 | 一种面向能量收集系统的嵌入式操作系统任务调度方法 |
CN106599366A (zh) * | 2016-11-11 | 2017-04-26 | 中国人民解放军国防科学技术大学 | 基于机动性的高层次综合调度方法 |
CN106708242B (zh) * | 2016-12-08 | 2019-06-04 | 华侨大学 | 一种硬实时系统能耗最优方法 |
CN107368176B (zh) * | 2017-07-07 | 2020-05-05 | 华侨大学 | 基于概率分布函数硬实时任务能耗最优速度计算方法 |
CN109409691B (zh) * | 2018-09-30 | 2022-10-11 | 重庆大学 | 一种无能量存储单元的能量收集嵌入式系统作业调度方法 |
CN109189205B (zh) * | 2018-09-30 | 2021-11-02 | 武汉理工大学 | 一种异构多核嵌入式实时系统能耗优化调度方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1945498A (zh) * | 2006-10-12 | 2007-04-11 | 浙江大学 | 面向嵌入式系统低功耗实时任务参数模型调度方法 |
CN101710254A (zh) * | 2009-12-22 | 2010-05-19 | 重庆大学 | 嵌入式系统的能耗管理方法 |
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 |
CN103885826A (zh) * | 2014-03-11 | 2014-06-25 | 武汉科技大学 | 一种多核嵌入式系统实时任务调度实现方法 |
-
2013
- 2013-08-20 CN CN201310364317.9A patent/CN103455131B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1945498A (zh) * | 2006-10-12 | 2007-04-11 | 浙江大学 | 面向嵌入式系统低功耗实时任务参数模型调度方法 |
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 |
CN101710254A (zh) * | 2009-12-22 | 2010-05-19 | 重庆大学 | 嵌入式系统的能耗管理方法 |
CN103885826A (zh) * | 2014-03-11 | 2014-06-25 | 武汉科技大学 | 一种多核嵌入式系统实时任务调度实现方法 |
Non-Patent Citations (1)
Title |
---|
DVS系统硬实时周期任务动态调度算法;吴琦等;《电子科技大学学报》;20071031;第36卷(第5期);第842-845页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103455131A (zh) | 2013-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103455131B (zh) | 一种基于概率的嵌入式系统中能耗最小化的任务调度方法 | |
Ibrahim et al. | Governing energy consumption in Hadoop through CPU frequency scaling: An analysis | |
Mezmaz et al. | A parallel bi-objective hybrid metaheuristic for energy-aware scheduling for cloud computing systems | |
CN102171627A (zh) | 对在异构计算系统中执行的应用的调度 | |
Xiao et al. | Minimizing schedule length of energy consumption constrained parallel applications on heterogeneous distributed systems | |
Pietri et al. | Energy-aware workflow scheduling using frequency scaling | |
CN107003686B (zh) | 用于动态时域功率操控的系统和方法 | |
Xu et al. | Minimizing energy consumption with reliability goal on heterogeneous embedded systems | |
Hussain et al. | Deadline-constrained energy-aware workflow scheduling in geographically distributed cloud data centers | |
ul Islam et al. | Task aware hybrid DVFS for multi-core real-time systems using machine learning | |
Kołodziej et al. | Hierarchical genetic-based grid scheduling with energy optimization | |
Wu et al. | A multi-model estimation of distribution algorithm for energy efficient scheduling under cloud computing system | |
CN103823718A (zh) | 一种面向绿色云计算的资源配置方法 | |
Maurya et al. | Energy-aware scheduling using slack reclamation for cluster systems | |
Panda et al. | An efficient task consolidation algorithm for cloud computing systems | |
Peng et al. | Energy-aware scheduling of workflow using a heuristic method on green cloud | |
CN114816699A (zh) | 基于温度预测的数据中心作业调度方法及系统 | |
González-Vélez et al. | Adaptive statistical scheduling of divisible workloads in heterogeneous systems | |
Boulmier et al. | An autonomic approach for the selection of robust dynamic loop scheduling techniques | |
CN116028193B (zh) | 一种混部集群的大数据任务动态高能效调度方法和系统 | |
CN105225016A (zh) | 一种在可再生供能的云计算系统中基于合作博弈的能量分配方法 | |
Kim | Adaptive online voltage scaling scheme based on the nash bargaining solution | |
CN117374933A (zh) | 基于计算负载时空转移的数据中心需求响应优化调度方法 | |
Ender et al. | A framework for portfolio management of renewable hybrid energy sources | |
Han et al. | Herti: A reinforcement learning-augmented system for efficient real-time inference on heterogeneous embedded systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |