The invention discloses an energy consumption optimization scheduling method for heterogeneous multi-core embedded systems based on reinforcement learning algorithm. On the hardware side, a DVFS regulator is loaded on each processor to dynamically construct a hardware platform matching the software characteristics by adjusting the operating voltage of each processor, changing the hardware characteristics of each processor; on the software side, aiming at the shortcomings of traditional heuristic algorithms (genetic algorithm, annealing algorithm, etc.) or the insufficient local search ability or the weak global search ability, this paper probes into the shortcomings of traditional heuristic algorithms (genetic algorithm, annealing algorithm, etc.). The Q Learning algorithm in machine learning field is used to find the optimal scheduling solution of energy consumption. Q Learning algorithm can take into account the performance of global search and local search through continuous trial and error and interactive feedback with the environment, thus achieving better search results than traditional heuristic algorithm. Thousands of experiments show that compared with traditional GA algorithm, Q Learning algorithm can reduce energy consumption by 6%-32%.
【技术实现步骤摘要】
基于强化学习的异构多核嵌入式系统能耗优化调度方法
本专利技术属于并行和分布式系统
,涉及一种异构多核嵌入式系统能耗优化调度方法,具体涉及一种基于强化学习Q-Learning算法的异构多核嵌入式系统能耗优化调度方法。技术背景随着电子科技的快速发展,图像处理、高清电视、电子游戏等计算复杂度较高的应用逐步运用于嵌入式设备中,对嵌入式设备的性能提出了越来越高的要求。嵌入式设备的性能可通过提升主频而提高,然而,主频的提升将快速地增加处理器的工作能耗([文献1]),从而缩短嵌入式设备的工作寿命。为优化嵌入式系统的能耗,多核嵌入式技术被提出并广泛应用([文献2])。此技术在嵌入式设备上装载多个处理器,通过多个处理器的并行运行,在避免大幅提高单个处理器工作主频的同时,极大地增强嵌入式设备的性能,从而降低嵌入式设备的工作能耗。由于多核调度被证明为NP-hard问题,启发式算法通常被应用于多核调度问题的求解([文献3、4])。然而,传统的启发式算法具有局部搜索能力不足或容易陷入局部最优等缺点,例如遗传算法无法利用计算中的反馈信息来调整自己的搜索方向,且存在局部搜索能力差的问 ...
【技术保护点】
1.一种基于强化学习的异构多核嵌入式系统能耗优化调度方法,其特征在于,包括以下步骤:步骤1:建立异构多核系统的任务模型;异构多核系统的任务存在一种执行顺序的约束关系,可用DAG图进行表示,将任务模型描述为一个四元组S=(P,V,T,E);其中,P={p0,p1,…,pm‑1}表示m个异构处理器核心,pi表示第i个处理器核,0≤i
【技术特征摘要】
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的具体实现过程是:初始化...
【专利技术属性】
技术研发人员:邹承明,柳星,刘攀文,向剑文,
申请(专利权)人:武汉理工大学,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。