基于Q学习的异构平台任务调度方法及系统与流程

文档序号:23720233发布日期:2021-01-24 07:42阅读:110来源:国知局
基于Q学习的异构平台任务调度方法及系统与流程
greedy行为策略在当前状态下执行动作,得到任务映射到处理器的q值,不能够获得立即奖励,转移到新状态;以每次动作执行完成的q值最小为目标,在新状态下选择具有最小q值的动作执行,并存储,衰减学习率,将下一状态赋予当前状态,根据ε-greedy行为策略选择下一状态下的动作,来迭代执行,以根据存储情况获得任务初始映射方案。
[0010]
作为本发明基于q学习的异构平台任务调度方法,进一步地,创建遗传算法模型中,对任务初始映射方案进行编码,将任务映射到对应处理器上;并依据适应度评价函数进行适应度评估,将满足适应度值的个体复制直接进入下一代种群,对原保留个体进行交叉变异;利用遗传算法的迭代过程,将每一后代的种群优化效率与最小阈值比较来确定当前种群优化效率,直到连续设定代的后代种群优化效率均比最小阈值小,终止迭代,获取遗传算法模型关于任务与处理器映射的近似最优解集。
[0011]
作为本发明基于q学习的异构平台任务调度方法,进一步地,适应度评价函数表示为:t=1,2,

,其中,q(s,a)表示任务s映射在处理器a的执行时间,t表示迭代代数。
[0012]
作为本发明基于q学习的异构平台任务调度方法,进一步地,每次迭代中,依据新种群的优化效率设定最小阈值,若每一后代的种群优化效率小于该最小阈值,则将该最小阈值的大小替换为当前种群优化效率。
[0013]
作为本发明基于q学习的异构平台任务调度方法,进一步地,蚁群算法中,依据任务在处理器所需执行时间长短来确定蚂蚁释放信息素的多少;根据已选择处理器,在禁忌表中记录蚂蚁当前时刻已走过路径;通过迭代输出蚂蚁最优路径来得到任务到处理器的最优分配及任务执行最短时间。
[0014]
进一步地,基于上述的方法,本发明还提供一种基于q学习的异构平台任务调度系统,包含:包含:初始映射模块、适应度评估模块和最优输出模块,其中,
[0015]
初始映射模块,用于将所有任务作为q学习的状态空间,处理器集合作为动作空间,等待分配的任务作为当前状态,依据q学习中任务映射到动作空间所需要的的执行时间来获取任务初始映射方案;
[0016]
适应度评估模块,用于创建遗传算法模型,对任务初始映射方案进行适应度评估,并依据适应度设定遗传算法模型中复制到下一代种群中的个体,对保留个体进行交叉变异,确定新种群优化效率及最小阈值;依据遗传算法模型获取模型中任务到处理器映射的近似最优解;
[0017]
最优输出模块,用于将模型近似最优解转换为蚁群信息初始信息分布,根据信息分布并通过蚁群算法迭代搜索输出最优路径来获取任务调度最优方案。
[0018]
进一步地,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时执行上述的方法
[0019]
进一步地,本发明还提供一种计算机设备,包含处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以执行上述的方法。
[0020]
本发明的有益效果:
[0021]
本发明根据任务集合和处理器集合,将两者的映射通过q学习产生初始解集作为
遗传算法ga的初始信息,通过加快ga的搜索速率以提高整个方案的性能;并利用ga算法中的启发式变异操作提高蚁群算法局部搜索能力,维持种群的多样性,加速向最优解收敛的速度,使得整个搜索过程中维持较好的速率,缩短调度长度,使异构平台各处理器发挥最大效率,提升硬件资源利用率,便于任务的并行处理,提升异构平台性能,具有较好的应用前景。
附图说明:
[0022]
图1为实施例中异构平台任务调度方法流程示意;
[0023]
图2为实施例中现有算法在调度长度和平均资源利用率上的对比示意;
[0024]
图3为实施例中异构平台任务调度qga-aco算法流程示意;
[0025]
图4为实施例中任务及目标系统模型示意;
[0026]
图5为实施例中交叉操作示意;
[0027]
图6为实施例中变异操作示意;
[0028]
图7为实施例中算法速率-迭代次数曲线示意。
具体实施方式:
[0029]
为使本发明的目的、技术方案和优点更加清楚、明白,下面结合附图和技术方案对本发明作进一步详细的说明。
[0030]
针对现有异构多处理器计算平台的任务调度算法存在灵活性低,收敛速度慢,可预测性差等问题,本发明实施例,参见图1所示,提供一种基于q学习的异构平台任务调度方法,参见图1所示,包含如下内容:
[0031]
s101、将所有任务作为q学习的状态空间,处理器集合作为动作空间,等待分配的任务作为当前状态,依据q学习中任务映射到动作空间所需要的的执行时间来获取任务初始映射方案;
[0032]
s102、创建遗传算法模型,对任务初始映射方案进行适应度评估,并依据适应度设定遗传算法模型中复制到下一代种群中的个体,对保留个体进行交叉变异,确定新种群优化效率及最小阈值;依据遗传算法模型获取模型中任务到处理器映射的近似最优解;
[0033]
s103、将模型近似最优解转换为蚁群信息初始信息分布,根据信息分布并通过蚁群算法迭代搜索输出最优路径来获取任务调度最优方案。
[0034]
异构多处理器计算系统具有动态性和异构性,即各种资源和任务具有随机参与和退出的特性,处理器结构和性能相差各异。其表现出的高性能特性使得异构多处理器计算系统成为高性能计算的发展方向之一,但所面临的资源管理和任务调度问题也更加复杂。如何发挥异构系统的高计算效率,满足要求的任务调度策略是关键。传统的调度算法在复杂问题求解时算法复杂度或时间复杂度较高,因此基于启发式的方法如遗传算法、蚁群算法等得到广泛应用。但此类算法的初始信息大多是随机构造的,初始搜索信息的质量难以保证,因此会对算法的收敛性能产生一定程度的影响。本案实施例中,利用q-learning与环境交互获取反馈信息,能及时对网络搜索方向进行调节,同时兼顾局部和全局搜索以获得较好的结果。该结果作为ga的初始信息弥补遗传算法初始种群个体质量低及不能利用网络反馈信息的缺陷,在后期结合aco缩短迭代时间,使得搜索更有效率,能够以便最优地将应
用任务分配给处理器。单一的任务调度算法由于自身存在的缺点不能完全满足平台的调度需求,通过不同算法的结合形成优劣互补,以满足不同类别计算任务对硬件性能的要求,以提高资源利用率和计算效率。
[0035]
以mlsh、aco、gaaco分别代表传统调度算法、基于启发式的方法、组合优化三类算法,如图2所示中的(a)、(b),分别为mlsh、aco、gaaco算法在调度长度和平均资源利用率两方面的对比示意。对于小规模任务,三种算法的调度长度接近,但随着任务数的增加,可以看出aco和gaaco算法在调度长度上相差无几且都低于mlsh,这是由于传统调度算法的算法复杂度高于启发式算法,并随着任务数量的增加呈指数倍数增长。在资源利用率方面,gaaco的平均资源利用率明显高于aco和mlsh。因为gaaco算法结合了遗传算法的通用性、可扩展性、全局收敛性和蚁群算法的并行性、求解精度高的优点,实现优缺互补,提高了执行效率和求解精度。所以综合两方面来看,gaaco所体现的调度性能最好,但gaaco在调度长度方面没有得到明显的改善。
[0036]
参见图3所示,实现本案实施例的qga-aco算法可设计为如下内容:在第一阶段中通过q学习实现任务到资源的初始分配,得到较优的方案和q值,在此基础上建立ga模型,确定参数和约束条件,对初始解进行交叉、变异、复制保证种群的多样性,提高收敛速度以进一步优化结果。在第二阶段采用aco算法,若第一阶段中连续四代进化率都小于阈值,则进入第二阶段,将第一阶段的结果转化为aco的初始信息素值,避免蚁群的盲目搜索,根据信息素分布迭代搜索直到满足终止条件。
[0037]
作为本发明实施例中基于q学习的异构平台任务调度方法,进一步的,系统应用模型表示为g={v,e,c,l},目标系统模型表示为p={n,h,w,t},v为任务集合,e为有依赖关系有向边集合,c为任务计算量集合,l为子任务间通信量,n为处理器集合,h为处理器特征,w为计算开销,t为任务在处理器间的通信开销,依据系统应用模型和目标系统模型两者中的任务集合和处理器集合来获取q学习的状态空间和动作空间。
[0038]
参见图4所示,将系统应用模型表示为g={v,e,c,l},v={v
1
,v
2
,...,v
n
}代表待处理信号处理任务的集合,e={e
12
,e
23
,...,e
ij
}是有依赖关系有向边的集合,c={c
1
,c
2
,...,c
n
}表示任务计算开销的集合,l(v
i
,v
j
)表示子任务间的通信开销,如果任务v
i
,v
j
被映射到同一节点上,则通信开销为0。硬件资源可以采用无向图表示,抽象为p={n,h,w,t},n=(n
1
,n
2
,

)为处理器集合,h为处理器特征,w为处理器的执行速率,t表示处理器间的通信速率。
[0039]
作为本发明实施例中基于q学习的异构平台任务调度方法,进一步地,q学习智能体根据ε-greedy行为策略在当前状态下执行动作,得到任务映射到处理器的q值,不能够获得立即奖励,转移到新状态;以每次动作执行完成的q值最小为目标,在新状态下选择具有最小q值的动作执行,并存储,衰减学习率,将下一状态赋予当前状态,根据ε-greedy行为策略选择下一状态下的动作,来迭代执行,以根据存储情况获得任务初始映射方案。
[0040]
图3所示的算法阶段一中的内容可设计如下:
[0041]
可将任务集合v构成状态空间s,处理器集合n作为动作空间a。将等待分配的任务v
i
作为当前状态s,当前状态的执行动作n
i
为a。
[0042]
step 1:初始化q-learning的状态动作空间,q(s,a)=c为任务s映射到a所需要的执行时间,探索因子为ε,折扣因子为γ,学习率α。
[0043]
step 2:智能体根据ε-greedy行为策略在当前状态s下按一定概率执行动作a,可以得到该任务映射到处理器q值,并获得立即奖励r(q值越大,说明该任务的执行时间越长,获得的立即奖励越小),转移到新状态s

;采取ε-greedy策略平衡agent对状态空间的搜索和对已获得信息的利用,既避免一味的贪心利用陷入局部最优,又防止过度搜索影响算法的性能;
[0044]
step 3:以每次动作执行完成的q值最小为目标,在s

状态下根据式(1)选择具有最小q值的动作a

执行,并计算agent在(s,a)处的q值,存入q表;
[0045]
q(s
t
,a
t
)

q(s
t
,a
t
)+α[r
t+1
+γminq(s
t+1
,a

)-q(s
t
,a
t
)](1)
[0046]
step 4:衰减学习率,将下一状态赋予当前状态s

s

,根据行为策略ε-greedy选择下一状态s

下的动作a

,并将其赋予执行动作a

a


[0047]
step 5:当前步数+1,判断是否满足迭代终止条件,没有则进入step2继续执行;若迭代完成,则算法结束,根据q表获得任务初始映射方案。
[0048]
作为本发明实施例中的基于q学习的异构平台任务调度方法,进一步地,创建遗传算法模型中,对任务初始映射方案进行编码,将任务映射到对应处理器上;并依据适应度评价函数进行适应度评估,将满足适应度值的个体复制直接进入下一代种群,对原保留个体进行交叉变异;利用遗传算法的迭代过程,将每一后代的种群优化效率与最小阈值比较来确定当前种群优化效率,直到连续设定代的后代种群优化效率均比最小阈值小,终止迭代,获取遗传算法模型关于任务与处理器映射的近似最优解集。进一步地,每次迭代中,依据新种群的优化效率设定最小阈值,若每一后代的种群优化效率小于该最小阈值,则将该最小阈值的大小替换为当前种群优化效率。
[0049]
针对初始种群(映射方案)进行编码(编码规则:chromosome[p]=q,即任务p映射到处理器q上)和适应度评估,将高适应度值的个体复制直接进入下一代种群中,对原保留个体进行交叉、变异。适应度评价函数可表示为:t=1,2,

,其中,q(s,a)表示任务s映射在处理器a的执行时间,t表示迭代代数。交叉算子,随机选择染色体上的一个交叉点,将父染色体和母染色体各自分为两部分,新的染色体基因组成如图5所示,交叉点左段染色体基因来自其对应的双亲染色体的一方,右段染色体基因从另一染色体对应的其余基因复制而来,由此得到两个新的染色体。启发式变异操作,如图6所示,随机选择一条染色体的基因位i,从该位置查找i的最后一个后继succ(i),再随机选择一个基因位j∈(i,succ(i)),置换i和j的位置,组成新的染色体。对遗传算法得到新种群的优化效率进行收集,并定为最小阈值。对遗传算法得到新种群的优化效率进行收集,并定为最小阈值。迭代次数加1,继续转入上述适应度评估步骤重新执行遗传算法中的步骤,将每一后代的种群优化的效率与最小阈值相比较,如果比阈值更小,则将阈值替换为当前种群优化效率,可设置直到连续4代的后代种群优化的效率都比阈值低时,终止遗传ga算法。
[0050]
作为本发明实施例中基于q学习的异构平台任务调度方法,进一步地,蚁群算法中,依据任务在处理器所需执行时间长短来确定蚂蚁释放信息素的多少;根据已选择处理器,在禁忌表中记录蚂蚁当前时刻已走过路径;通过迭代输出蚂蚁最优路径来得到任务到处理器的最优分配及任务执行最短时间。
[0051]
如图3所示的算法阶段二实现可设计为如下内容:
[0052]
将阶段一得到的近似最优解集{chromosome[i]=j}转换成蚁群信息的初始信息分布。
[0053]
step 1:初始化蚁群参数,蚁群数量m,权值α,β,ρ为信息素挥发因子,信息素强度τ
ij
,调节因子μ,最大迭代次数t。并假设:τ为信息素矩阵,η为启发函数,k为第k只蚂蚁,l为蚂蚁k下一步能够选取的处理器。
[0054]
step 2:将m只蚂蚁置于n个节点上(m>n),任务i在处理器j所需的执行时间越短,蚂蚁释放的信息素越多,禁忌表中记录蚂蚁当前时刻已走过的路径(即已选择的处理器),根据概率选择公式(2)选取下一个节点,存入禁忌表,记录蚂蚁的行走路径。
[0055][0056]
step 3:当m只蚂蚁遍历完n个节点后,所有蚂蚁完成一轮搜索,根据式(3)更新信息素,直至迭代终止,输出最优路径。
[0057][0058]
据此可以得到任务到处理器的最优分配及任务执行最短时间。
[0059]
ga算法在搜索前期收敛速度较快,但前期搜索没有及时根据反馈信息调整,导致后期产生大量冗余信息占用资源,在迭代一定次数后速率显著下降;aco算法由于前期信息素较少且分布比较局限,只能随机搜索导致速度较慢,后期信息素积累到一定水平且分布较全面后,以启发式搜索加快收敛速度。根据图7所示的速率-迭代次数的分析可知,本发明实施例中提出的qga-aco算法首先采用q-learning算法提高ga算法的初始搜索速率,通过交叉和变异等方式进行寻优,迭代至代后运行aco算法,利用蚁群算法的并行搜索能力和正反馈性,寻求问题的最优解,能够使得整个搜索过程中维持较好的速率,缩短调度长度。
[0060]
进一步地,基于上述的方法,本发明实施例还提供一种基于q学习的异构平台任务调度系统,包含:包含:初始映射模块、适应度评估模块和最优输出模块,其中,
[0061]
初始映射模块,用于将所有任务作为q学习的状态空间,处理器集合作为动作空间,等待分配的任务作为当前状态,依据q学习中任务映射到动作空间所需要的的执行时间来获取任务初始映射方案;
[0062]
适应度评估模块,用于创建遗传算法模型,对任务初始映射方案进行适应度评估,并依据适应度设定遗传算法模型中复制到下一代种群中的个体,对保留个体进行交叉变异,确定新种群优化效率及最小阈值;依据遗传算法模型获取模型中任务到处理器映射的近似最优解;
[0063]
最优输出模块,用于将模型近似最优解转换为蚁群信息初始信息分布,根据信息分布并通过蚁群算法迭代搜索输出最优路径来获取任务调度最优方案。
[0064]
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
[0065]
基于上述的方法或系统,本发明实施例还提供一种计算机设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的系统或执行上述的方法。
[0066]
基于上述的系统,本发明实施例还提供一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时执行上述的方法。
[0067]
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述系统实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述系统实施例中相应内容。
[0068]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述系统实施例中的对应过程,在此不再赘述。
[0069]
在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
[0070]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0071]
附图中的流程图和框图显示了根据本发明的多个实施例的系统、系统和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0072]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述系统的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0073]
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1