CN109189205A - 一种异构多核嵌入式实时***能耗优化调度方法 - Google Patents
一种异构多核嵌入式实时***能耗优化调度方法 Download PDFInfo
- Publication number
- CN109189205A CN109189205A CN201811160973.6A CN201811160973A CN109189205A CN 109189205 A CN109189205 A CN 109189205A CN 201811160973 A CN201811160973 A CN 201811160973A CN 109189205 A CN109189205 A CN 109189205A
- Authority
- CN
- China
- Prior art keywords
- task
- matrix
- scheduling
- energy consumption
- indicate
- 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.)
- Granted
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种新型的异构多核嵌入式实时***能耗优化调度算法。将任务调度方案编码为一个二进制矩阵,再设置一个局部更新矩阵,用此局部更新矩阵的全排列矩阵值依次替换调度方案矩阵中相应位置的矩阵值,再从替换生成的所有调度解中,找出可满足截止时间且能耗最低的一个调度解,并将此调度解作为新的调度方案矩阵,从而实现对调度方案矩阵的局部优化。不断移动局部更新矩阵,循环执行上述优化操作,最终求解出多核调度***在保证实时性能前提下的能耗最优化调度解。上千组对比实验表明,相较于传统的遗传算法,此发明方法可将嵌入式设备的能耗降低13.37~72.92%,可较好地延长嵌入式设备的工作寿命,对于嵌入式设备的实际应用具有重要意义。
Description
技术领域
本发明属于计算机技术领域,涉及一种启发式算法在异构多核嵌入式实时***能耗优化领域的优化方法,具体涉及到一种类数学形态学优化算法在异构多核嵌入式实时***能耗优化领域的应用。
技术背景
随着电子科技的快速发展,图像处理、高清电视、电子游戏等计算复杂度较高的应用逐步运用于嵌入式设备中,对嵌入式设备的性能提出了越来越高的要求。嵌入式设备的性能可通过提升主频而提高,然而,主频的提升将快速地增加处理器的工作能耗([文献1]),从而缩短嵌入式设备的工作寿命。为优化嵌入式***的能耗,多核嵌入式技术被提出并广泛应用([文献2])。此技术在嵌入式设备上装载多个处理器,通过多个处理器的并行运行,在避免大幅提高单个处理器工作主频的同时,极大地增强嵌入式设备的性能,从而降低嵌入式设备的工作能耗。由于多核调度被证明为NP-hard问题,启发式算法通常被应用于多核调度问题的求解([文献3、4])。然而,传统的启发式算法具有局部搜索能力不足或容易陷入局部最优等缺点,例如遗传算法无法利用计算中的反馈信息来调整自己的搜索方向,且存在局部搜索能力差的问题,容易陷入局部最优。因此,改进传统启发式算法或寻找一种更高效的新型调度算法,对于多核嵌入式技术的发展具有重要意义。此外,实时性也是嵌入式***的重要性能因素,因此,能耗优化策略的实施需在保证实时性前提下进行。由于DVFS低功耗技术已被广泛应用于嵌入式***中,且取得了良好的能耗优化效果([文献5]),因此,在保证实时性能前提下,结合DVFS低功耗技术,研究针对异构多核嵌入式***的高能效调度算法,对于降低嵌入式设备能耗,促进嵌入式技术的发展与应用具有重要意义。
[文献1].Das,A.,Kumar,A.,&Veeravalli,B.(2016).Reliability and energy-aware mapping and scheduling of multimedia applications on multiprocessorsystems.IEEE Transactions on Parallel&Distributed Systems,27(3),869-884.
[文献2].Li,Y.,Niu,J.,Atiquzzaman,M.,&Long,X.(2016).Energy-awarescheduling on heterogeneous multi-core systems with guaranteedprobability.Journal of Parallel&Distributed Computing,103(C),64-76.
[文献3].Mahmood,A.,Khan,S.,Albalooshi,F.,&Awwad,N.(2017).Energy-awarereal-time task scheduling in multiprocessor systems using a hybrid geneticalgorithm,6(2),40.
[文献4].Dai,M.,Tang,D.,Giret,A.,Salido,M.A.,&Li,W.D.(2013).Energy-efficient scheduling for a flexible flow shop using an improved genetic-simulated annealing algorithm.Robotics&Computer Integrated Manufacturing,29(5),418-429.
[文献5].Kumar,N.,&Vidyarthi,D.P.(2017).A GA based energy awarescheduler for dvfs enabled multicore systems.Computing,99(10),1-23.
[文献6].R.P.Dick,D.L.Rhodes,and W.Wolf,“TGFF:task graphs for free,”inHardware/Software Codesign,1998.(CODES/CASHE’98)Proceedings of the SixthInternational Workshop on,1998,pp.97-101.
发明内容
为解决上述问题,本发明在异构多核嵌入式***基础上加入DVFS调节技术,并提出一种新型的可用于解决NP问题的类数学形态学任务调度方法(SMMOA),该方法可具备比传统遗传算法更快的收敛速度及更优的优化性能,可在保证嵌入式设备实时响应性能的前提下,最大程度优化嵌入式设备的工作能耗。
本发明所采用的技术方案是:一种异构多核嵌入式实时***能耗优化调度方法,其特征在于,包括以下步骤:
步骤1:建立异构多核嵌入式实时***任务模型;
异构多核嵌入式实时***的任务存在一种执行顺序的约束关系,用DAG图进行表示,将任务模型描述为一个四元组S=(P,V,T,G);其中,P={p0,p1,...,pm-1}表示m个异构处理器,pi表示第i个处理器,0≤i≤m;V={v0,v1,...,vk-1}表示每个处理器上供DVFS调节的k个等级电压集合,其中vi表示第i个级别电压,0≤i≤k;T={T0,T1,...,Tn-1}表示n个任务的集合,Ti表示第i个任务,0≤i≤n;G表示DAG有向边集合,为n×n矩阵,由元素Gij组成,0≤i,j≤n,Gij为正值时,表示任务Tj存在对任务Ti的依赖关系,且此时Gij数值表示任务Ti到任务Tj的通信量,Gij为-1时表示任务Ti与任务Tj不存在依赖关系;
步骤2:基于任务模型,建立异构多核嵌入式实时***调度模型;
对任务Ti的调度模型用二元组Ji=(p,v)描述,Ji表示将任务Ti分配到p处理器上,且设定工作电压为v;对任务进行预处理,一个任务集合T根据其DAG约束关系进行遍历,遍历规则为:每次从DAG中取出入度为零的任务放到有序链表Torder中,重复操作,直到DAG中没有任务为止,因此得到有序的任务链表Torder={T0,T1,...,Tn-1};
步骤3:基于任务模型与调度模型,建立异构多核嵌入式实时***能耗与时间模型;
对有序任务集中每个任务进行任务调度,得到一个有序任务调度方案J={J0,J1,...,Jn-1};当调度方案确定后,总能耗E表示为:E=Ed+Es+Ec+Ei+EtV+EtS;其中,Ed表示动态能耗,Es表示静态能耗,Ec表示通信能耗,Ei表示休眠能耗,EtV表示电压切换能耗,EtS表示休眠与唤醒间切换能耗;针对一种调度方案,所产生的能耗和时间用数学表达为:CET(J)→(En,Time),其中J表示调度方案,CET表示针对此种调度方案的能耗与时间计算操作,En与Time分别表示计算出来的能耗与执行时间;
步骤4:随机初始化调度方案J,并将此调度方案编码为二进制矩阵SM;
步骤5:初始化局部更新矩阵PM及其初始位置(x,y);
步骤6:初始化模板矩阵集合RM={RM0,RM1,...,RMu-1},RMi为集合中的元素,u为集合大小;
步骤7:依次用集合RM中各个元素替换SM矩阵中探针PM所指向的区域,得到u个新的编码矩阵SMi(0≤i<u),表示为其中表示局部替换操作;
步骤8:每个SMi矩阵代表一个调度解,求出此调度解所对应的能耗和时间值CET(SMi)→(Eni,Timei);
步骤9:筛选出一个最优解SMk,其执行时间Timek满足任务截止时间Deadline要求,且能耗Enk最小,即Timek<Deadline,Enk≤min(Eni|i∈[0,u));
步骤10:用步骤9中计算出来的矩阵SMk更新当前最优解,即赋值SM=SMk;
步骤11:若最优值SM在规定轮次中一直未发生变化,则判定陷入局部最优,此时,通过对最优解进行变异操作,跳转局部最优陷阱;若未陷入局部最优问题,则直接跳转至步骤12;
步骤12:若达到设定的优化轮次,则退出循环;否则,移动探针到下一个位置,转至步骤7,继续对下一个位置的局部值进行优化。
相对于现有技术,本发明的有益效果是:本发明提出了一种新型的解决多核调度NP难问题的算法。将调度解编码为二进制矩阵,并采用一个局部更新矩阵,用局部更新矩阵的全排列矩阵值依次替换调度编码矩阵中指定部分的矩阵值,并从替换产生的调度编码矩阵解中挑选出一个最优解作为新的调度编码矩阵,从而实现对调度编码矩阵的局部优化;逐次移动局部更新矩阵,按照上述方法实现对调度编码矩阵各个部分的优化;迭代执行一定次数上述操作,生成能耗最优化调度解,实现在满足任务实时响应前提下,最大程度降低任务执行能耗。该发明方法具有比传统启发式遗传算法更短的收敛时间和更佳的优化性能,可应用于各种嵌入式设备,例如手机、笔记本电脑、可穿戴微型设备等;该发明方法的应用可延长设备待机时间,减少设备充电频率,从而增强用户对设备的体验感。此外,对于部署在户外复杂环境中工作的嵌入式设备,本发明成果具有尤其重要的作用,由于此类设备一旦部署后便难以充电,因此,节能性能直接影响设备的服务寿命;本发明成果通过延长这些嵌入式设备的工作寿命,可直接提升这些设备在实际应用中的经济价值,对于嵌入式技术与嵌入式设备的发展具有重要意义。
附图说明
图1为本发明实施例的流程图;
图2为本发明实施例的例图
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
请见图1,本发明提供的一种异构多核嵌入式实时***能耗优化调度方法,其特征在于,包括以下步骤:
步骤1:建立异构多核嵌入式实时***任务模型;
异构多核***的任务存在一种执行顺序的约束关系,可用DAG图进行表示,将任务模型描述为一个四元组S=(P,V,T,G);其中,P={p0,p1,...,pm-1}表示m个异构处理器,pi表示第i个处理器,0≤i≤m;V={v0,v1,...,vk-1}表示每个处理器上可供DVFS调节的k个等级电压集合,其中vi表示第i个级别电压,0≤i≤k;T={T0,T1,...,Tn-1}表示n个任务的集合,Ti表示第i个任务,0≤i≤n;G表示DAG有向边集合,为n×n矩阵,由元素Gij组成(0≤i,j≤n),Gij为正值时,表示任务Tj存在对任务Ti的依赖关系,且此时Gij数值表示任务Ti到任务Tj的通信量,Gij为-1时表示任务Ti与任务Tj不存在依赖关系。对任务Ti的调度模型用二元组Ji=(p,v)描述,Ji表示将任务Ti分配到p处理器上,且设定工作电压为v。
步骤2:基于任务模型,建立异构多核嵌入式实时***调度模型;
对任务Ti的调度模型用二元组Ji=(p,v)描述,Ji表示将任务Ti分配到p处理器上,且设定工作电压为v。对任务进行预处理,一个任务集合T根据其DAG约束关系进行遍历,遍历规则为:每次从DAG中取出入度为零的任务放到有序链表Torder中,重复操作,直到DAG中没有任务为止,因此得到有序的任务链表Torder={T0,T1,...,Tn-1}。
步骤3:基于任务模型与调度模型,建立异构多核嵌入式实时***能耗与时间模型;
对有序任务集中每个任务进行任务调度,得到一个有序任务调度方案J={J0,J1,...,Jn-1}。当调度方案确定后,总能耗E可以表示为:E=Ed+Es+Ec+Ei+EtV+EtS。Ed表示动态能耗,Es表示静态能耗,Ec表示通信能耗,Ei表示休眠能耗,EtV表示电压切换能耗,EtS表示休眠与唤醒间切换能耗。针对一种调度方案,所产生的能耗和时间用数学表达为:CET(J)→(En,Time),其中J表示调度方案,CET表示针对此种调度方案的能耗与时间计算操作,En与Time分别表示计算出来的能耗与执行时间。
步骤4:随机初始化调度方案J,并将此调度方案编码为二进制矩阵SM;
步骤4.1:对调度方案J中的每一个二元组Ji=(p,v)中的元素p,v进行二进制进行编码;
设有m个处理器,每个处理器能工作在k个等级的电压,则每个任务的调度信息用位来表示,其中前位表示将任务调度至哪个处理器,后位表示任务调度至此处理器后的工作电压等级;例如,若m为16,k为8,则任务Ti的调度信息1110010表示该任务调度至处理器P14(14=11102)上运行,且在此处理器上的工作电压为V2(2=0102)。随机初始化各个任务的调度方案,并将各任务调度方案值按有序链表Torder中定义的任务顺序进行排序,得到调度解J所对应的二进制编码B;
步骤4.2:设编码B的长度为d,对该编码以长度c为单位进行e次折叠,得到编码矩阵SM;其中,d,c,e间关系满足表达式:d=c×e。
步骤5:初始化局部更新矩阵PM及其初始位置(x,y);
为了使局部更新矩阵PM能够对编码矩阵SM进行局部优化操作,设置局部更新矩阵PM的形状为长方形或者正方形,其大小为g×h,其中g<c,h<e;设置局部更新矩阵右下角的坐标为(x,y),则其左上角的坐标为(x-g+1,y-h+1),其中x=g-1,y=h-1,,每次向右或者向下滑动。
步骤6:初始化模板矩阵集合RM={RM0,RM1,...,RMu-1},RMi为集合中的元素,u为集合大小;
步骤6.1:设置模板矩阵集合RM中的每个矩阵成员RMi的大小与局部更新矩阵PM的大小一致,即为g×h;
步骤6.2:设置模板矩阵集合RM中各矩阵成员RMi的数值为从00…000到11…111的全排列。
步骤7:依次用集合RM中各个元素替换SM矩阵中探针PM所指向的区域,得到u个新的编码矩阵SMi,0≤i<u,表示为其中表示局部替换操作;
步骤8:每个SMi矩阵代表一个调度解,求出此调度解所对应的能耗和时间值CET(SMi)→(Eni,Timei);
步骤9:筛选出一个最优解SMk,其执行时间Timek满足任务截止时间Deadline要求,且能耗Enk最小,即Timek<Deadline,Enk≤min(Eni|i∈[0,u));
步骤10:用步骤9中计算出来的矩阵SMk更新当前最优解,即赋值SM=SMk;
步骤11:若最优值SM在规定轮次中一直未发生变化,则判定陷入局部最优,此时,通过对最优解进行变异操作,跳转局部最优陷阱;若未陷入局部最优问题,则直接跳转至步骤12;
每次移动局部更新矩阵后,用步骤9中计算出来的矩阵SMk更新最优解SM;局部更新矩阵PM的移动覆盖完整个编码矩阵SM后,称为一次遍历;若先后两次遍历得到的最优值保持不变,则判定算法陷入局部最优;此时,随机选取当前编码矩阵SM中d/2位的编码值进行取反操作,以跳出局部最优。
步骤12:若达到设定的优化轮次,则退出循环;否则,移动探针到下一个位置,转至步骤7,继续对下一个位置的局部值进行优化;
局部更新矩阵PM按照从左到右、从上到下的规则进行移动:从SM矩阵最左上角开始,以步长Lrow向右移动,直至到达矩阵最右侧;然后,将PM向下移动Lcol步长,再重新从SM矩阵最左侧开始向最右侧移动(Lcol和Lrow值在本实施例中均设置为1)。重复上述操作,直到移动到SM矩阵的最右下角,完成一次遍历,如图2所示;
本实施中,步骤4-步骤12,进一步细化为:
步骤B1:随机初始化编码矩阵SM,求出此调度解所对应的调度方案的能耗和时间,CET(SM)→(En,Time);
步骤B2:定义变量bestEn,preEN,并初始化为:bestEn=En,preEN=En;
步骤B3:初始化局部更新矩阵PM的位置,设置局部更新矩阵右下角的坐标为(x,y),则其左上角的坐标为(x-g+1,y-h+1),其中x=g-1,y=h-1;
步骤B4:初始化模板矩阵得到集合RM={RM0,RM1,...,RMu-1},RMi为集合中的元素,u为集合大小;
步骤B5:若矩阵循环次数t<Episodes,设置x=g-1,然后跳转到步骤B6;否则,结束程序;
步骤B6:若preEn≤En,跳转到步骤B7;否则跳转到步骤B10;
步骤B7:若En≤bestEn,赋值bestEn=En;
步骤B8:随机选取编码矩阵SM中的d/2位编码取反,得到新的矩阵SM′;
步骤B9:计算矩阵SM′对应的能耗和时间值CET(SM′)→(En,Time),并赋值preEn=En;
步骤B10:若x<e,设置y=h-1,然后转跳到步骤B1;否则,t自增,然后跳转到步骤B11。
步骤B11:若y<c,设置集合RM元素标记i=0,然后转跳到步骤B12;否则,x移动步长Lcol,即x=x+Lcol,然后跳转到步骤B10。
步骤B12:若i<u,跳转到步骤B13;否则,y移动步长Lrow,即y=y+Lrow,然后跳转到步骤B11。
步骤B13:计算
步骤B14:计算SMi对应的能耗和时间CET(SMi)→(Eni,Timei);
步骤B15:若Timei>Deadline,i自增,然后跳转到步骤B8;否则跳转到步骤B16;
步骤B16:若Eni<En,则赋值En=Eni,SM=SMi;
步骤B17:i自增,然后跳转至步骤B12。
本实施例对传统的遗传算法(GA)与本发明提出的类数学形体学算法(SMMOA)进行了实验对比。两种算法均用Python编写,模拟实验环境在Ubuntul6.04.3LTS,Intel E7-4820v3/1.9GHz中进行。实验所模拟的处理器能操作的电压和频率如下表1:
表1实验所模拟的处理器能操作的电压和频率
实验依据任务数量和任务DAG依赖关系随机生成了40组任务,每组任务的属性包括任务数量、依赖边数量、核数量和截止时间。在每组实验中,任务数量tn为10到100之间的随机数。DAG图中允许存在的边数en和任务数量tn有密切的关系:en∈[tn-1,tn×(tn-1)/2]。为了保证对真实状况的模拟,实验中en在范围[tn,tn+20]中随机选取。根据选好的任务数量和DAG图边的数量,本实施例会随机生成DAG图。处理核的数量在本实验中设置有2、4、8三种情况。一个任务集的完成时间和任务数量有密切关系,为保证任务集有充足的完成时间,且考虑到处理核越多任务集执行完成所需要约束时间越少的情况,本实施例在2、4、8个处理核的情况下,分别为每个任务平均分配2us、1.5us、1us的计算时间,即一个任务集在2、4、8个处理核三种情况下分别有tn×2us,tn×1.5us,tn×2us的截止时间。实验使用能耗下降率来描述算法对能耗的优化效果。能耗下降率是指,一个任务集产生的能耗相对于任务集在单处理核中以最高频率执行完后所产生的能耗的下降率。如下表所示,Save(%)表示能耗下降率,Time(us)表示任务集执行完成所需要的时间,单位为us,GA、SMMOA分别表示传统的遗传算法以及本发明提出的类数学形态学优化算法。实验结果如下表2。
表2随机任务对比
上表中从各个实例的数据上观察能耗下降率,在第5个和8个实例中,SMMOA算法能耗下降率低于GA算法,主要原因是SMMOA算法在这两个实例中陷入了局部最优,以致于未取得理想结果。但在其他的实例中,SMMOA算法的能耗下降率均大于GA算法,证明了SMMOA算法在能耗优化上的优势。从任务集执行完成所花费的时间来看,大部分实例中SMMOA算法计算出来的任务集的时间消耗,在一定时间约束条件下均大于GA算法,说明SMMOA算法比GA算法更能充分利用时间。从上表中的平均能耗下降率,可明显看出两种算法在能耗优化上的不同性能表现。SMMOA算法相较于GA算法,在能耗优化上的性能可提高13.37~72.92%。
为了比较算法在不同处理核数目下的性能,本实施例利用两种算法对2、4、8三种处理核数目分别进行了10组实验,并对实验结果按照任务数量大小进行排序。实验的任务数、DAG图边数、截止时间大小均按本实施例的设置规则生成。实验结果如下表3所示。
表3不同核数的对比
从上表中可看出,对比两个算法的能耗和时间,无论在2核、4核和8核的条件下,两个算法的能耗下降率仍然是SMMOA优于GA。此外,当设置相同的截止时间时,两个算法计算出的时间值仍然是SMMOA大于GA,即SMMOA算法相较于GA算法对于时间的利用效率更高。从任务数量和能耗下降率的关系上看,在2核、4核、8核条件下,GA和SMMOA随着任务数量的增加,能耗下降率反而降低,因此,SMMOA相比GA而言,更适合应用于复杂任务的条件下的能耗优化。对比不同处理核数量条件下两种算法的能耗下降率的表现,可看出,除少数情况外,同一任务集在2核、4核和8核情况下,两种算法计算出的能耗下降率均随处理核数量的增加而下降,即处理核数量增加时,两种算法计算出的能耗下降率会降低,反之则升高。
应当理解的是,本说明书未详细阐述的部分均属于现有技术。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
Claims (6)
1.一种异构多核嵌入式实时***能耗优化调度方法,其特征在于,包括以下步骤:
步骤1:建立异构多核嵌入式实时***任务模型;
异构多核嵌入式实时***的任务存在一种执行顺序的约束关系,用DAG图进行表示,将任务模型描述为一个四元组S=(P,V,T,G);其中,P={p0,p1,...,pm-1}表示m个异构处理器,pi表示第i个处理器,0≤i≤m;V={v0,v1,...,vk-1}表示每个处理器上供DVFS调节的k个等级电压集合,其中vi表示第i个级别电压,0≤i≤k;T={T0,T1,...,Tn-1}表示n个任务的集合,Ti表示第i个任务,0≤i≤n;G表示DAG有向边集合,为n×n矩阵,由元素Gij组成,0≤i,j≤n,Gij为正值时,表示任务Tj存在对任务Ti的依赖关系,且此时Gij数值表示任务Ti到任务Tj的通信量,Gij为-1时表示任务Ti与任务Tj不存在依赖关系;
步骤2:基于任务模型,建立异构多核嵌入式实时***调度模型;
对任务Ti的调度模型用二元组Ji=(p,v)描述,Ji表示将任务Ti分配到p处理器上,且设定工作电压为v;对任务进行预处理,一个任务集合T根据其DAG约束关系进行遍历,遍历规则为:每次从DAG中取出入度为零的任务放到有序链表Torder中,重复操作,直到DAG中没有任务为止,因此得到有序的任务链表Torder={T0,T1,...,Tn-1};
步骤3:基于任务模型与调度模型,建立异构多核嵌入式实时***能耗与时间模型;
对有序任务集中每个任务进行任务调度,得到一个有序任务调度方案J={J0,J1,...,Jn-1};当调度方案确定后,总能耗E表示为:E=Ed+Es+Ec+Ei+EtV+EtS;其中,Ed表示动态能耗,Es表示静态能耗,Ec表示通信能耗,Ei表示休眠能耗,EtV表示电压切换能耗,EtS表示休眠与唤醒间切换能耗;针对一种调度方案,所产生的能耗和时间用数学表达为:CET(J)→(En,Time),其中J表示调度方案,CET表示针对此种调度方案的能耗与时间计算操作,En与Time分别表示计算出来的能耗与执行时间;
步骤4:随机初始化调度方案J,并将此调度方案编码为二进制矩阵SM;
步骤5:初始化局部更新矩阵PM及其初始位置(x,y);
步骤6:初始化模板矩阵集合RM={RM0,RM1,...,RMu-1},RMi为集合中的元素,u为集合大小;
步骤7:依次用集合RM中各个元素替换SM矩阵中探针PM所指向的区域,得到u个新的编码矩阵SMi,0≤i<u,表示为其中表示局部替换操作;
步骤8:每个SMi矩阵代表一个调度解,求出此调度解所对应的能耗和时间值CET(SMi)→(Eni,Timei);
步骤9:筛选出一个最优解SMk,其执行时间Timek满足任务截止时间Deadline要求,且能耗Enk最小,即Timek<Deadline,Enk≤min(Eni|i∈[0,u));
步骤10:用步骤7中计算出来的矩阵SMk更新当前最优解,即赋值SM=SMk;
步骤11:移动探针PM,重复上述操作。若最优值SM在规定轮次中一直未发生变化,则判定陷入局部最优,此时,通过对最优解进行变异操作,跳转局部最优陷阱;若未陷入局部最优问题,则直接跳转至步骤12;
步骤12:若达到设定的优化轮次,则退出循环;否则,移动探针到下一个位置,转至步骤7,继续对下一个位置的局部值进行优化。
2.根据权利要求1所述的异构多核嵌入式实时***能耗优化调度方法,其特征在于,步骤4的具体实现包括以下子步骤:
步骤4.1:对调度方案J中的每一个二元组Ji=(p,v)中的元素p,v进行二进制进行编码;
设有m个处理器,每个处理器能工作在k个等级的电压,则每个任务的调度信息用位来表示,其中前位表示将任务调度至哪个处理器,后位表示任务调度至此处理器后的工作电压等级;随机初始化各个任务的调度方案,并将各任务调度方案值按有序链表Torder中定义的任务顺序进行排序,得到调度解J所对应的二进制编码B;
步骤4.2:设编码B的长度为d,对该编码以长度c为单位进行e次折叠,得到编码矩阵SM;其中,d,c,e间关系满足表达式:d=c×e。
3.根据权利要求2所述的异构多核嵌入式实时***能耗优化调度方法,其特征在于:步骤5中,为了使局部更新矩阵PM能够对编码矩阵SM进行局部优化操作,设置局部更新矩阵PM的形状为长方形或者正方形,其大小为g×h,其中g<c,h<e;设置局部更新矩阵右下角的坐标为(x,y),则其左上角的坐标为(x-g+1,y-h+1),其中x=g-1,y=h-1;局部更新矩阵PM在编码矩阵SM中按照由左到右、由上到下的移动顺序进行遍历。
4.根据权利要求3所述的异构多核嵌入式实时***能耗优化调度方法,其特征在于,步骤6的具体实现以下子步骤:
步骤6.1:设置模板矩阵集合RM中的每个矩阵成员RMi的大小与局部更新矩阵PM的大小一致,即为g×h;
步骤6.2:设置模板矩阵集合RM中各矩阵成员RMi的数值为从00...000到11...111的全排列。
5.根据权利要求3所述的异构多核嵌入式实时***能耗优化调度方法,其特征在于,步骤11的具体实现过程是:每次移动局部更新矩阵后,用步骤9中计算出来的矩阵SMk更新最优解SM;局部更新矩阵PM的移动覆盖完整个编码矩阵SM后,称为一次遍历;若先后两次遍历得到的最优值保持不变,则判定算法陷入局部最优;此时,随机选取当前编码矩阵SM中d/2位的编码值进行取反操作,以跳出局部最优。
6.根据权利要求3所述的异构多核嵌入式实时***能耗优化调度方法,其特征在于,步骤12的具体实现过程是:局部更新矩阵PM按照从左到右、从上到下的规则进行移动:从SM矩阵最左上角开始,以步长Lrow向右移动,直至到达矩阵最右侧;然后,将PM向下移动Lcol步长,再重新从SM矩阵最左侧开始向最右侧移动;重复上述操作,直到移动到SM矩阵的最右下角,完成一次遍历。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811160973.6A CN109189205B (zh) | 2018-09-30 | 2018-09-30 | 一种异构多核嵌入式实时***能耗优化调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811160973.6A CN109189205B (zh) | 2018-09-30 | 2018-09-30 | 一种异构多核嵌入式实时***能耗优化调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109189205A true CN109189205A (zh) | 2019-01-11 |
CN109189205B CN109189205B (zh) | 2021-11-02 |
Family
ID=64946500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811160973.6A Active CN109189205B (zh) | 2018-09-30 | 2018-09-30 | 一种异构多核嵌入式实时***能耗优化调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109189205B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109960576A (zh) * | 2019-03-29 | 2019-07-02 | 北京工业大学 | 一种面向cpu-gpu异构的低能耗任务调度策略 |
CN110675088A (zh) * | 2019-10-12 | 2020-01-10 | 北京航空航天大学 | 一种数字孪生***复杂任务高效划分方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102866912A (zh) * | 2012-10-16 | 2013-01-09 | 首都师范大学 | 一种单指令集异构多核***静态任务调度方法 |
CN103455131A (zh) * | 2013-08-20 | 2013-12-18 | 北京航空航天大学 | 一种基于概率的嵌入式***中能耗最小化的任务调度方法 |
EP2851796A1 (en) * | 2013-09-24 | 2015-03-25 | Intel Corporation | Thread aware power management |
CN104536831A (zh) * | 2015-01-12 | 2015-04-22 | 北京神舟航天软件技术有限公司 | 一种基于多目标优化的多核SoC软件映射方法 |
CN104885032A (zh) * | 2012-09-28 | 2015-09-02 | 英特尔公司 | 有快速功率浪涌检测和指令节流以提供低成本电源单元的计算***和处理器 |
CN105487920A (zh) * | 2015-10-12 | 2016-04-13 | 沈阳工业大学 | 基于蚁群算法的多核***实时任务调度的优化方法 |
US20160223218A1 (en) * | 2015-01-30 | 2016-08-04 | Schneider Electric It Corporation | Automated control and parallel learning hvac apparatuses, methods and systems |
CN107133088A (zh) * | 2017-04-19 | 2017-09-05 | 武汉科技大学 | 一种基于粒子群算法的多核***任务调度方法 |
-
2018
- 2018-09-30 CN CN201811160973.6A patent/CN109189205B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104885032A (zh) * | 2012-09-28 | 2015-09-02 | 英特尔公司 | 有快速功率浪涌检测和指令节流以提供低成本电源单元的计算***和处理器 |
CN102866912A (zh) * | 2012-10-16 | 2013-01-09 | 首都师范大学 | 一种单指令集异构多核***静态任务调度方法 |
CN103455131A (zh) * | 2013-08-20 | 2013-12-18 | 北京航空航天大学 | 一种基于概率的嵌入式***中能耗最小化的任务调度方法 |
EP2851796A1 (en) * | 2013-09-24 | 2015-03-25 | Intel Corporation | Thread aware power management |
CN104536831A (zh) * | 2015-01-12 | 2015-04-22 | 北京神舟航天软件技术有限公司 | 一种基于多目标优化的多核SoC软件映射方法 |
US20160223218A1 (en) * | 2015-01-30 | 2016-08-04 | Schneider Electric It Corporation | Automated control and parallel learning hvac apparatuses, methods and systems |
CN105487920A (zh) * | 2015-10-12 | 2016-04-13 | 沈阳工业大学 | 基于蚁群算法的多核***实时任务调度的优化方法 |
CN107133088A (zh) * | 2017-04-19 | 2017-09-05 | 武汉科技大学 | 一种基于粒子群算法的多核***任务调度方法 |
Non-Patent Citations (2)
Title |
---|
XING LIU; PANWEN LIU等: "Energy Optimization and Fault Tolerance to Embedded System Based on Adaptive Heterogeneous Multi-Core Hardware Architecture", 《2018 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY COMPANION (QRS-C)》 * |
张玉萍: "片上多处理器通信结构中的多任务调度研究", 《中国优秀博硕士学位论文全文数据库(博士)》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109960576A (zh) * | 2019-03-29 | 2019-07-02 | 北京工业大学 | 一种面向cpu-gpu异构的低能耗任务调度策略 |
CN109960576B (zh) * | 2019-03-29 | 2021-04-16 | 北京工业大学 | 一种面向cpu-gpu异构的低能耗任务调度策略 |
CN110675088A (zh) * | 2019-10-12 | 2020-01-10 | 北京航空航天大学 | 一种数字孪生***复杂任务高效划分方法 |
CN110675088B (zh) * | 2019-10-12 | 2020-10-09 | 北京航空航天大学 | 一种数字孪生***复杂任务高效划分方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109189205B (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109117255B (zh) | 基于强化学习的异构多核嵌入式***能耗优化调度方法 | |
Kolodziej et al. | Genetic algorithms for energy-aware scheduling in computational grids | |
Kołodziej et al. | Energy efficient genetic‐based schedulers in computational grids | |
CN106233571B (zh) | 多电池设备中的负载调度 | |
US20170205863A1 (en) | Dynamically updating a power management policy of a processor | |
Yan et al. | Energy-aware systems for real-time job scheduling in cloud data centers: A deep reinforcement learning approach | |
Changtian et al. | Energy-aware genetic algorithms for task scheduling in cloud computing | |
CN107533479B (zh) | 功率知晓调度和功率管理器 | |
Tang et al. | CPU–GPU utilization aware energy-efficient scheduling algorithm on heterogeneous computing systems | |
CN109189205A (zh) | 一种异构多核嵌入式实时***能耗优化调度方法 | |
CN105847385B (zh) | 一种基于运行时长的云计算平台虚拟机调度方法 | |
CN108764458B (zh) | 一种减少移动设备存储空间消耗以及计算量的方法及*** | |
Kumar et al. | Predictive strategies for low-power rtos scheduling | |
CN117271101A (zh) | 一种算子融合方法、装置、电子设备及存储介质 | |
Dey et al. | P‐EdgeCoolingMode: an agent‐based performance aware thermal management unit for DVFS enabled heterogeneous MPSoCs | |
Meng et al. | Achieving energy efficiency through dynamic computing offloading in mobile edge-clouds | |
Liu et al. | An Energy‐Saving Task Scheduling Model via Greedy Strategy under Cloud Environment | |
Zhang et al. | GreenDRL: managing green datacenters using deep reinforcement learning | |
Daoud et al. | [Retracted] Cloud‐IoT Resource Management Based on Artificial Intelligence for Energy Reduction | |
Zhu et al. | On-device training: A first overview on existing systems | |
CN117555683A (zh) | 基于深度强化学习的云集群资源调度方法 | |
CN110850957B (zh) | 一种边缘计算场景下通过休眠降低***功耗的调度方法 | |
Azimi et al. | PowerCoord: A coordinated power capping controller for multi-CPU/GPU servers | |
CN109101316B (zh) | 一种能效相关的云计算平台资源调度方法 | |
Tian et al. | Multi-core power management through deep reinforcement learning |
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 |