CN109117255A - 基于强化学习的异构多核嵌入式系统能耗优化调度方法 - Google Patents

基于强化学习的异构多核嵌入式系统能耗优化调度方法 Download PDF

Info

Publication number
CN109117255A
CN109117255A CN201810708461.2A CN201810708461A CN109117255A CN 109117255 A CN109117255 A CN 109117255A CN 201810708461 A CN201810708461 A CN 201810708461A CN 109117255 A CN109117255 A CN 109117255A
Authority
CN
China
Prior art keywords
task
time
action
algorithm
energy consumption
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
Application number
CN201810708461.2A
Other languages
English (en)
Other versions
CN109117255B (zh
Inventor
邹承明
柳星
刘攀文
向剑文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University of Technology WUT
Original Assignee
Wuhan University of Technology WUT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan University of Technology WUT filed Critical Wuhan University of Technology WUT
Priority to CN201810708461.2A priority Critical patent/CN109117255B/zh
Publication of CN109117255A publication Critical patent/CN109117255A/zh
Application granted granted Critical
Publication of CN109117255B publication Critical patent/CN109117255B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5012Processor sets
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于强化学习算法的异构多核嵌入式系统能耗优化调度方法。在硬件方面,在每个处理器上装载一个DVFS调节器,通过调节各处理器工作电压,改变各处理器硬件特性,动态构建出匹配软件特性的硬件平台;在软件方面,针对传统启发式算法(遗传算法、退火算法等)或存在局部搜索能力不足或存在全局搜索能力不强等缺点,探索性地运用机器学习领域的Q‑Learning算法来寻找能耗最优化调度解。Q‑Learning算法通过不断试错以及与环境交互反馈的方式,可兼顾全局搜索和局部搜索的性能,从而实现比传统启发式算法更优的搜索效果。上千组实验表明,Q‑Learning算法相较于传统GA算法,能耗降低率可达6%~32%。

Description

基于强化学习的异构多核嵌入式系统能耗优化调度方法
技术领域
本发明属于并行和分布式系统技术领域,涉及一种异构多核嵌入式系统能耗优化调度方法,具体涉及一种基于强化学习Q-Learning算法的异构多核嵌入式系统能耗优化调度方法。
技术背景
随着电子科技的快速发展,图像处理、高清电视、电子游戏等计算复杂度较高的应用逐步运用于嵌入式设备中,对嵌入式设备的性能提出了越来越高的要求。嵌入式设备的性能可通过提升主频而提高,然而,主频的提升将快速地增加处理器的工作能耗([文献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 awareschedulerfordvfsenabled multicore systems.Computing,99(10),1-23.
发明内容
为了解决上述技术问题,本发明提供了一种基于强化学习的异构多核嵌入式系统能耗优化调度方法。
本发明所采用的技术方案是:一种基于强化学习的异构多核嵌入式系统能耗优化调度方法,其特征在于,包括以下步骤:
步骤1:建立异构多核系统的任务模型;
异构多核系统的任务存在一种执行顺序的约束关系,可用DAG图进行表示,将任务模型描述为一个四元组S=(P,V,T,E);
其中,P={p0,p1,...,pm-1}表示m个异构处理器核心,pi表示第i个处理器核,0≤i<m:
V={v0,v1…,vk-1}表示k个等级的电压集合,vi表示第i个级别电压,0≤i<k;
T={T0,T1,…,Tn-1}表示n个任务的集合,Ti表示第i个任务,0≤i<n;
E表示DAG有向边集合,为n×n矩阵,由元素eij组成(0≤i,j<n);eij为正值时,表示任务Tj存在对任务Ti的依赖关系,且此时eij数值表示任务Ti到任务Tj的通信量;eij为-1时表示任务Ti与任务Tj不存在依赖关系。
步骤2:建立异构多核系统的调度模型;
任务Ti的调度模型用二元组Ji=(p,v)描述,表示将任务Ti分配到p处理器核上运行,并对该处理器提供工作电压v;
步骤3:任务的预处理;
根据DAG约束关系对任务集合T进行遍历,重新排序集合T中各个任务,得到有序的任务序列Tr={T0,T1,...,Tn-1};
步骤4:建立异构多核系统能耗模型;
对有序任务集中各个任务进行调度,得到对应的任务调度方案集合:J={J0,J1,...,Jn-1},其中Ji表示一种调度方案,也可等效表示为J[i]。调度方案J产生的能耗和时间表示为:Ent+1,Timet+1←fun(J),其中fun表示根据调度方案J计算能耗En与时间7ime的函数。
步骤5:初始化Q-Learning状态集合和行动集合,初始化Q-Learning算法运行参数。
步骤6:初始化状态一个当前状态st和一个随机行动at
步骤7:agent在当前状态st下执行行动at;若能得到能耗更优的调度方案,且满足时间约束条件,则奖励值rt=1,并输出方案;若得到能耗更优的调度方案,但不满足时间约束条件,则奖励值rt=0.1;否则,rt=0。
步骤8:利用奖励值rt更新Q-table表,agent跳转到下一个状态st+1°
步骤9:agent在st+1状态下选取行动at+1,跳转至步骤7。
本发明的有益效果是:
(1)本发明针对嵌入式应用具有多样化的特性,在嵌入式平台上装载多个特性不同的处理器,并在每个处理器上装载一个DVFS动态电压/频率调节器,从而提高嵌入式硬件平台对应用环境的自适应性能,增强嵌入式应用的执行效率。运行时态中,将每个任务调度至最擅长执行该任务的处理器上运行,并根据任务的负载情况,实时动态调整该处理器的工作电压及频率,从而在保证任务执行截止时间的情况下,最大程序优化任务的执行能耗。
(2)针对传统启发式算法(遗传算法GA、模拟退火算法SA等)搜索异构多核系统能耗最优化调度解的局限性,本发明尝试利用强化学习中的Q-Learning算法来搜索最优解。Q-Learning克服了遗传算法无法及时利用网络反馈信息的缺陷,通过与环境进行有效的交互,并根据环境反馈信息对网络搜索方向进行即时调节,从而提高最优解的搜索效率。一方面,Q-Learning采用试错的方式寻找最优解,不断的试错过程可以带来良好的全局搜索能力;另一方面,Q-Learing根据网络搜索过程的反馈来调节自己的搜索方向,使得其又具有良好的局部搜索能力。相较于GA和SA算法,Q-Learning兼顾了全局搜索和局部搜索的性能,具有更优的优化效果。
附图说明
图1为本发明实施例的流程图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
针对GA和SA算法的一些局限性,本实施例尝试利用强化学习中的Q-Learning算法来寻找新的最优解。Q-Learning克服了遗传算法不能利用网络反馈信息的缺陷,它能够和环境进行有效的交互,根据环境反馈信息对网络搜索方向进行即时调节,使得搜索更有效率。Q-Learning算法本质是一种用试错寻找最优解的方式,因此他在不断的试错的过程可以带来良好的全局搜索能力,同时它能根据搜索的网络反馈来调节自己的搜索方向,这又使得它拥有良好的局部搜索能力,因此Q-Learning算法相比遗传算法同时兼顾了全局搜索和局部搜索能力,理论上在上述能耗优化领域会有更好的效果。
Q-Learning算法在本实施例中用来求解时间约束下的最优能耗的求解。DAG任务在异构多核处理器中进行调度的能耗优化问题是NP-hard,任务调度模型中考虑到了DVFS技术,使得该问题更加复杂。通过反复的实验,Q-Learning算法在上述问题的求解中通常会遇到难以收敛或者收敛后得到的调度方案效果不佳的问题,因此正常的训练、收敛、求解的机器学习求解思路无法取得理想的效果,因此本实施例提出了Q-Learning算法在优化算法求解的新思路。不同于其他学者对Q-Learning算法的应用,本实施例不关注算法的收敛性,甚至算法可以不收敛,相反本实施例利用算法的收敛过程去寻找最优解。
请见图1,本发明提供的一种基于强化学习的异构多核嵌入式系统能耗优化调度方法,包括以下步骤:
步骤1:建立异构多核系统的任务模型;
异构多核系统的任务存在一种执行顺序的约束关系,用DAG图表示;将任务模型描述为一个四元组S=(P,V,T,E);
其中,P={p0,p1,…,pm-1}表示m个异构处理器核心,pi表示第i个处理器核,0≤i<m;V={v0,v1…,vk-1}表示k个电压等级的集合,vi表示第i个电压级别,0≤i<k:
T={T0,T1,…,Tn-1}表示n个任务的集合,Ti表示第i个任务,0≤i<n;
E表示DAG有向边集合,为n×n矩阵,由元素eij组成(0≤i,j<n);eij为正值时,表示任务Tj存在对任务Ti的依赖关系,且此时eij数值表示任务Ti到任务Tj的通信量;eij为-1时表示任务Ti与任务Tj不存在依赖关系。
步骤2:建立异构多核系统的调度模型;
对任务Ti的调度模型用二元组Ji=(p,v)描述,表示将任务Ti分配到p处理器核上,并提供电压v;
步骤3:任务的预处理;
根据DAG约束关系对任务集合T进行遍历,重新排序集合T中各个任务,得到有序的任务序列Tr={T0,T1,...,Tn-1};
步骤4:建立异构多核系统能耗模型;
对有序任务集中各个任务进行调度,得到对应的任务调度方案集合:J={J0,J1,...,Jn-1},其中Ji表示一种调度方案,也可等效表示为J[i]。调度方案J产生的能耗和时间表示为:Ent+1,Timet+1←fun(J),其中fun表示根据调度方案J计算能耗En与时间Time的函数。
步骤5:执行Q-learning能耗优化算法;
具体实现包括以下子步骤:
步骤5.1:初始化Q-Learning状态集合和行动集合,初始化Q-Learning算法运行参数;
初始化行动集合为A={(p,v)|p∈P,v∈V};初始化状态集合为S={(J,x)|J[x]∈J},集合S的内容是未知但有限的,集合S在程序运行过程中会自动填充;利用集合A和集合S初始化Q-table表,初始化贪婪率greed,学习率α,折扣因子γ,初始化学习次数episode,初始化截止时间D;根据一个随机调度J计算初始能耗值preEn。
步骤5.2:初始化一个当前状态st和一个随机行动at
随机初始化产生一个调度方案J,并初始化任务标识x,得到初始状态st=(J,x);随机选取一个行动at=(p,v)。
步骤5.3:agent在当前状态st下执行行动at;若能得到能耗更优的调度方案,且满足时间约束条件,则奖励值rt=1,并输出方案;若得到能耗更优的调度方案,但不满足时间约束条件,则奖励值rt=0.1;否则,rt=0;
具体实现包括以下子步骤:
步骤5.3.1:确定agent在当前状态st=(J,x)下执行行动at=(p,v)得到st+1的策略为:用(p,v)替换集合J中第x个元素J[x]的内容得到新的集合J′,然后将标识x自增,为避免标识x出界,对自增后的x取模运算,即st+1=(J′,(x+1)modn),其中n为任务数量;
步骤5.3.2:确定agent在当前状态st=(J,x)下执行行动at=(p,v)的奖励策略为:计算st+1中调度方案J′所对应的时间Timet+1和能耗Ent+1,即Ent+1,Timet+1←fun(J)。若Ent+1<Ent且Timet+1<Deadline,则奖励值rt=1,输出Ent+1和Timet+1值,更新preEn值为preEn=Et+1;若Ent+1<Ent,但Timet+1>Deadline,则奖励值rt=0.1;这样做的目的是使得算法能够以一定概率在该能耗所对应的调度方案的邻域中找出满足时间约束下的分配方案;除上述两种情况外,奖励值rt=0。
步骤5.4:利用奖励值rt更新Q-table表,然后agent跳转到下一个状态st+1
利用贝尔曼方程的推导公式更新Q-table表,方程式为:
Q(st,at)←Q(st,at)+α(rt+γmax(Q(st+1,at+1))-Q(st,at)),
然后agent跳转到下一个状态st+1
步骤5.5:agent在st+1状态下选取行动at+1,跳转至步骤3.3;
取0到1之间随机数b,若b大于greed或者st+1所对应的行动的累积奖励值为零,则随机选取一个行动赋值给at+1;否则,选取st+1所对应的行动中累积奖励值最大的行动赋值给at+1;将st+1和at+1作为当前状态和其对应的行动,更新st←-st+1,at←-at+1
本实施例对GA,QL算法进行了模拟实验的对比。两种算法的用python编写,模拟实验环境在Ubuntu16.04.3LTS,Intel E7-4820 v3/1.9GHz中进行。实验所模拟的处理器能操作的电压和频率:
实验根据任务数量和任务DAG依赖数随机生成了40组任务,每组任务的属性包括任务数量、依赖边数量、核数量和截止时间。在每组实验中,任务数量tn为10到100之间的随机数。DAG图中允许存在的边数en和任务数量tn有密切的关系。根据计算,DAG图中的边数en∈[tn-1,tn*(tn-1)/2],为了保证对真实状况的模拟,实验中en在范围[tn,tn+20]中随机选取([文献7])。根据选好的任务数量和DAG图边的数量,本实施例会随机生成DAG图。处理器核的数量在本实验中有2,4,8三种情况。一个任务集的完成时间和任务数量有密切关系,实验中为保证任务集有充足的完成时间,并且考虑到处理器核越多任务集执行完成所需要的约束时间越少的情况,本实施例在2,4,8个处理器核的情况下,分别为每个任务平均分配2us,1.5us,1us计算的时间,即一个任务集在2,4,8个处理器核三种情况下分别有tn*2us,tn*1.5us,tn*1us的截止时间。实验使用能耗下降率来描述算法对能耗的优化效果。任务下降率是指,一个任务集产生的能耗相对于任务集在单处理器核中以最高频率执行完后所产生的能耗的下降率。如下表所示,Save(%)表示能耗下降率,Time(us)任务集执行完成所需要的时间,单位为us,GA,QL分别表示遗传算法和Q-learning算法。实验结果如下表1。
表1随机任务对比
上表中从每行的数据上观察能耗下降率,在第12和28行,QL算法的能耗下降率低于GA算法。这里最可能的原因是QL算法陷入了局部最优,导致QL算法均未得出理想的结果。但是在其他的行中,QL算法的能耗下降率大于GA算法。从任务集执行完成所花费的时间来看,大部分行中QL计算出来的任务集的时间消耗,在时间约束下,均大于GA算法。上表中根据平均的能耗下降率,可以明显的看出两个算法在能耗优化中的性能表现。QL算法较于GA算法,可将嵌入式设备能耗优化6%~32%。但明显可以看出,QL算法能耗优化表现远强于GA算法。同时在约束时间内,QL算法比GA算法更能充分利用时间。
为了比较算法在不同的处理器核数目下的性能,本实施例利用两种算法对2,4,8三种处理器核数目各进行了10组实验,并对实验结果按照任务数量大小进行排序。任务数,DAG图边数,截止时间大小均按本实施例的设置规则进行生成。实验结果如下表2。
表2不同核数的对比
上表中,对比两个算法的能耗和时耗,无论在2核,4核和8核的条件下,两个算法计算处的能耗下降率仍然是QL>GA。同时当截止时间相同时,两个算法计算出的任务集的时间消耗仍然是QL<GA,即两个算法对时间的利用率QL>GA。从任务数量和能耗下降率的关系上看,在2核,4核,8核条件下,GA和QL随着任务数量的增加,能耗下降率反而降低。因此从这一点上看,QL相比GA而言,更适合应用于在复杂任务的条件下进行能耗优化,并且效果良好。对比不同处理器核数量条件下两个算法的能耗下降率的表现,上表中除少数情况外,同一任务集在2核,4核和8核的条件被执行时,两种算法计算出的能耗下降率均随处理器核数量的增加而下降,即处理器核的数量增加时,两种算法计算出的能耗下降率会降低,反之则升高。
应当理解的是,本说明书未详细阐述的部分均属于现有技术。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

Claims (7)

1.一种基于强化学习的异构多核嵌入式系统能耗优化调度方法,其特征在于,包括以下步骤:
步骤1:建立异构多核系统的任务模型;
异构多核系统的任务存在一种执行顺序的约束关系,可用DAG图进行表示,将任务模型描述为一个四元组S=(P,V,T,E);
其中,P={p0,p1,…,pm-1}表示m个异构处理器核心,pi表示第i个处理器核,0≤i<m;
V={v0,v1…,vk-1}表示k个等级的电压集合,vi表示第i个级别电压,0≤i<k;
T={T0,T1,…,Tn-1}表示n个任务的集合,Ti表示第i个任务,0≤i<n;
E表示DAG有向边集合,为n×n矩阵,由元素eij组成(0≤i,j<n);eij为正值时,表示任务Tj存在对任务Ti的依赖关系,且此时eij数值表示任务Ti到任务Tj的通信量;eij为-1时表示任务Ti与任务Tj不存在依赖关系;
步骤2:建立异构多核系统的调度模型;
任务Ti的调度模型用二元组Ji=(p,v)描述,表示将任务Ti分配到p处理器上运行,并对该处理器提供工作电压v;
步骤3:任务的预处理;
根据DAG约束关系对任务集合T进行遍历,重新排序集合T中各个任务,得到有序的任务序列Tr={T0,T1,…,Tn-1};
步骤4:建立异构多核系统能耗模型;
对有序任务集中各个任务进行调度,得到对应的任务调度方案集合:J={J0,J1,…,Jn-1},其中Ji表示一种调度方案,也可等效表示为J[i]。调度方案J产生的能耗和时间表示为:Ent+1,Timet+1←fun(J),其中fun表示根据调度方案J计算能耗En与时间Time的函数;
步骤5:执行Q-lenrning能耗优化算法。
2.根据权利要求1所述的基于强化学习的异构多核嵌入式系统能耗优化调度方法,其特征在于,步骤5的具体实现包括以下子步骤:
步骤5.1:初始化Q-Learning行动集合和状态集合,初始化Q-Learning算法运行参数;
步骤5.2:初始化一个当前状态st和一个随机行动at
步骤5.3:agent在当前状态st下执行行动at;若能得到能耗更优的调度方案,且满足时间约束条件,则奖励值rt=1,并输出方案;若得到能耗更优的调度方案,但不满足时间约束条件,则奖励值rt=0.1;否则,rt=0;
步骤5.4:利用奖励值rt更新Q-table表,然后agent跳转到下一个状态st+1
步骤5.5:agent在st+1状态下选取行动at+1,跳转至步骤5.3。
3.根据权利要求2所述的基于强化学习的异构多核嵌入式系统能耗优化调度方法,其特征在于,步骤5.1的具体实现过程是:初始化行动集合为A={(p,v)|p∈P,v∈V};初始化状态集合为S={(J,x)|J[x]∈J},集合S内容是未知但有限的,集合S在程序运行过程中会自动填充;利用集合A和集合S初始化Q-table表,初始化贪婪率greed,学习率α,折扣因子γ,初始化学习次数episode,初始化截止时间Deadline;根据一个随机调度方案J计算初始能耗值preEn。
4.根据权利要求3所述的基于强化学习的异构多核嵌入式系统能耗优化调度方法,其特征在于,步骤5.2的具体实现过程是:随机初始化产生一个调度方案J,并初始化任务标识x,得到初始状态st=(J,x);随机选取一个行动at=(p,v)。
5.根据权利要求4所述的基于强化学习的异构多核嵌入式系统能耗优化调度方法,其特征在于,步骤5.3的具体实现包括以下子步骤:
步骤5.3.1:确定agent在当前状态st=(J,x)下执行行动at=(p,v)得到st+1的策略为:用(p,v)替换集合J中第x个元素J[x]的内容得到新的集合J',然后将标识x自增,为避免标识x出界,对自增后的x取模运算,即st+1=(J',(x+1)modn),其中n为任务数量;
步骤5.3.2:确定agent在当前状态st=(J,x)下执行行动at=(p,v)的奖励策略为:计算st+1中调度方案J'所对应的时间Timet+1和能耗Ent+1,即Ent+1,Timet+1←fun(J)。若Ent+1<Ent且Timet+1<Dea%line,则奖励值rt=1,输出Ent+1和Timet+1值,更新preEn值为preEn=Et+1;若Ent+1<Ent,但Timet+1>Deadline,则奖励值rt=0.1;除上述两种情况外,奖励值rt=0。
6.根据权利要求3所述的基于强化学习的异构多核嵌入式系统能耗优化调度方法,其特征在于,步骤5.4的具体实现过程是:利用贝尔曼方程的推导公式更新Q-table表,方程式为:Q(st,at)←Q(st,at)+α(rt+γmax(Q(st+1,at+1))-Q(st,at)),然后agent跳转到下一个状态st+1
7.根据权利要求3所述的基于强化学习的异构多核嵌入式系统能耗优化调度方法,其特征在于,步骤5.5的具体实现过程是:取0到1之间随机数b,若b大于greed或者st+1所对应的行动的累积奖励值为零,则随机选取一个行动赋值给at+1;否则,选取st+1所对应的行动中累积奖励值最大的行动赋值给at+1;将st+1和at+1作为当前状态和其对应的行动,更新st←st+1,at←at+1
CN201810708461.2A 2018-07-02 2018-07-02 基于强化学习的异构多核嵌入式系统能耗优化调度方法 Active CN109117255B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810708461.2A CN109117255B (zh) 2018-07-02 2018-07-02 基于强化学习的异构多核嵌入式系统能耗优化调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810708461.2A CN109117255B (zh) 2018-07-02 2018-07-02 基于强化学习的异构多核嵌入式系统能耗优化调度方法

Publications (2)

Publication Number Publication Date
CN109117255A true CN109117255A (zh) 2019-01-01
CN109117255B CN109117255B (zh) 2021-11-02

Family

ID=64822458

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810708461.2A Active CN109117255B (zh) 2018-07-02 2018-07-02 基于强化学习的异构多核嵌入式系统能耗优化调度方法

Country Status (1)

Country Link
CN (1) CN109117255B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109857534A (zh) * 2019-02-12 2019-06-07 浙江方正印务有限公司 一种基于策略梯度强化学习的智能任务调度策略训练方法
CN109961147A (zh) * 2019-03-20 2019-07-02 西北大学 一种基于Q-Learning算法的自动化模型压缩方法
CN110134215A (zh) * 2019-05-24 2019-08-16 广东中兴新支点技术有限公司 数据处理方法、装置、电子设备及可读存储介质
CN110688207A (zh) * 2019-09-05 2020-01-14 烽火通信科技股份有限公司 一种嵌入式任务调度方法及系统
CN111812519A (zh) * 2020-07-15 2020-10-23 南京航空航天大学 一种电池参数辨识方法及系统
CN111932027A (zh) * 2020-08-28 2020-11-13 电子科技大学 一种融合边缘设施的云服务综合调度优化系统及方法
CN113157043A (zh) * 2021-04-29 2021-07-23 中山大学 基于强化学习的异构多核处理器动态电压调节方法及系统
CN113254021A (zh) * 2021-04-16 2021-08-13 云南大学 一种编译器协助的强化学习多核任务分配算法
CN113377542A (zh) * 2021-06-24 2021-09-10 东南大学 一种多核嵌入式系统的网络节点任务映射方法
CN113448425A (zh) * 2021-07-19 2021-09-28 哈尔滨工业大学 一种基于强化学习的动态并行应用程序能耗运行时优化方法及系统
CN114281528A (zh) * 2021-12-10 2022-04-05 重庆邮电大学 一种基于深度强化学习和异构Spark集群的节能调度方法及系统
CN114330649A (zh) * 2021-12-13 2022-04-12 南京邮电大学 一种基于进化学习和深度强化学习的电压调节方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6532454B1 (en) * 1998-09-24 2003-03-11 Paul J. Werbos Stable adaptive control using critic designs
CN103390195A (zh) * 2013-05-28 2013-11-13 重庆大学 一种基于强化学习的机械车间任务调度节能优化系统
US20160223218A1 (en) * 2015-01-30 2016-08-04 Schneider Electric It Corporation Automated control and parallel learning hvac apparatuses, methods and systems
CN106326011A (zh) * 2016-08-25 2017-01-11 上海交通大学 云计算中面向资源成本优化的多资源调度方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6532454B1 (en) * 1998-09-24 2003-03-11 Paul J. Werbos Stable adaptive control using critic designs
CN103390195A (zh) * 2013-05-28 2013-11-13 重庆大学 一种基于强化学习的机械车间任务调度节能优化系统
US20160223218A1 (en) * 2015-01-30 2016-08-04 Schneider Electric It Corporation Automated control and parallel learning hvac apparatuses, methods and systems
CN106326011A (zh) * 2016-08-25 2017-01-11 上海交通大学 云计算中面向资源成本优化的多资源调度方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SAI MANOJ P.D.等: "A Q-Learning Based Self-Adaptive I/O Communication for 2.5D Integrated Many-core Microprocessor and Memory", 《IEEE TRANSACTIONS ON COMPUTERS》 *
张沙清等: "基于 MPICH2和并行Q学习的模具制造项目群随机调度", 《计算机应用研究》 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109857534A (zh) * 2019-02-12 2019-06-07 浙江方正印务有限公司 一种基于策略梯度强化学习的智能任务调度策略训练方法
CN109961147A (zh) * 2019-03-20 2019-07-02 西北大学 一种基于Q-Learning算法的自动化模型压缩方法
CN109961147B (zh) * 2019-03-20 2023-08-29 西北大学 一种基于Q-Learning算法的自动化模型压缩方法
CN110134215A (zh) * 2019-05-24 2019-08-16 广东中兴新支点技术有限公司 数据处理方法、装置、电子设备及可读存储介质
CN110134215B (zh) * 2019-05-24 2021-08-13 广东中兴新支点技术有限公司 数据处理方法、装置、电子设备及可读存储介质
CN110688207A (zh) * 2019-09-05 2020-01-14 烽火通信科技股份有限公司 一种嵌入式任务调度方法及系统
CN110688207B (zh) * 2019-09-05 2022-03-11 烽火通信科技股份有限公司 一种嵌入式任务调度方法及系统
CN111812519A (zh) * 2020-07-15 2020-10-23 南京航空航天大学 一种电池参数辨识方法及系统
CN111932027A (zh) * 2020-08-28 2020-11-13 电子科技大学 一种融合边缘设施的云服务综合调度优化系统及方法
CN111932027B (zh) * 2020-08-28 2022-08-05 电子科技大学 一种融合边缘设施的云服务综合调度优化系统及方法
CN113254021B (zh) * 2021-04-16 2022-04-29 云南大学 一种编译器协助的强化学习多核任务分配算法
CN113254021A (zh) * 2021-04-16 2021-08-13 云南大学 一种编译器协助的强化学习多核任务分配算法
CN113157043B (zh) * 2021-04-29 2022-05-31 中山大学 基于强化学习的异构多核处理器动态电压调节方法及系统
CN113157043A (zh) * 2021-04-29 2021-07-23 中山大学 基于强化学习的异构多核处理器动态电压调节方法及系统
CN113377542A (zh) * 2021-06-24 2021-09-10 东南大学 一种多核嵌入式系统的网络节点任务映射方法
CN113377542B (zh) * 2021-06-24 2024-03-26 东南大学 一种多核嵌入式系统的网络节点任务映射方法
CN113448425A (zh) * 2021-07-19 2021-09-28 哈尔滨工业大学 一种基于强化学习的动态并行应用程序能耗运行时优化方法及系统
CN113448425B (zh) * 2021-07-19 2022-09-09 哈尔滨工业大学 一种基于强化学习的动态并行应用程序能耗运行时优化方法及系统
CN114281528A (zh) * 2021-12-10 2022-04-05 重庆邮电大学 一种基于深度强化学习和异构Spark集群的节能调度方法及系统
CN114330649A (zh) * 2021-12-13 2022-04-12 南京邮电大学 一种基于进化学习和深度强化学习的电压调节方法及系统

Also Published As

Publication number Publication date
CN109117255B (zh) 2021-11-02

Similar Documents

Publication Publication Date Title
CN109117255A (zh) 基于强化学习的异构多核嵌入式系统能耗优化调度方法
Mei et al. Energy efficient real-time task scheduling on CPU-GPU hybrid clusters
Qin et al. An improved iterated greedy algorithm for the energy-efficient blocking hybrid flow shop scheduling problem
Kolodziej et al. Genetic algorithms for energy-aware scheduling in computational grids
WO2023184939A1 (zh) 基于深度强化学习的云数据中心自适应高效资源分配方法
Xiao et al. Minimizing schedule length of energy consumption constrained parallel applications on heterogeneous distributed systems
CN109800071A (zh) 一种基于改进遗传算法的云计算任务调度方法
CN108958916A (zh) 一种移动边缘环境下工作流卸载优化算法
WO2024060571A1 (zh) 面向异构算力的多策略智能调度方法和装置
Zhang et al. Contention-aware reliability efficient scheduling on heterogeneous computing systems
CN114895773B (zh) 异构多核处理器的能耗优化方法、系统、装置及存储介质
CN109857534A (zh) 一种基于策略梯度强化学习的智能任务调度策略训练方法
Yang et al. Online learning-based server provisioning for electricity cost reduction in data center
Zhang et al. CloudFreq: Elastic energy-efficient bag-of-tasks scheduling in DVFS-enabled clouds
Peng et al. Energy-aware scheduling of workflow using a heuristic method on green cloud
Huang et al. Double-Q learning-based DVFS for multi-core real-time systems
Song et al. A deep reinforcement learning-based task scheduling algorithm for energy efficiency in data centers
CN109101316B (zh) 一种能效相关的云计算平台资源调度方法
CN110162403A (zh) 一种基于人工神经网络的硬件资源分配方法及系统
Yu et al. Accelerating distributed training in heterogeneous clusters via a straggler-aware parameter server
CN108415766A (zh) 一种渲染任务动态调度方法
Gruian et al. Uncertainty-based scheduling: energy-efficient ordering for tasks with variable execution time
Gupta et al. Dynamic voltage frequency scaling in multi-core systems using adaptive regression model
CN109189205A (zh) 一种异构多核嵌入式实时系统能耗优化调度方法
Liu et al. An energy efficient clustering-based scheduling algorithm for parallel tasks on homogeneous DVS-enabled clusters

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