基于混沌粒子群算法的可重构计算的软硬件任务划分方法

文档序号:6627246阅读:205来源:国知局
基于混沌粒子群算法的可重构计算的软硬件任务划分方法
【专利摘要】本发明公开了一种基于混沌粒子群算法的可重构计算的软硬件任务划分方法,所述方法基于DFG图的软硬件任务划分的多目标优化方法,综合考虑系统各模块的操作执行时间、模块间数据通信引起的延时、资源消耗等因素,设计一个多目标优化目标函数Ffitness,在满足给定的约束条件下,应用混沌粒子群优化方法搜寻该目标函数的最大值,找到最优解。
【专利说明】基于混沌粒子群算法的可重构计算的软硬件任务划分方法

【技术领域】
[0001] 本发明涉及可重构计算领域,具体是一种动态可重构任务调度方法。

【背景技术】
[0002] 对于可重构系统而言,实现一个复杂的应用,由于受到可重构资源规模的限制,往 往要将其分解为占用资源较少的多个子任务,经过一个合适的软硬件划分方案,划分为一 系列的软件任务和硬件任务,分别将它们映射到通用处理器和可重构逻辑器件上执行,最 优化地分配任务。在通用处理器上执行变长循环和分支等控制密集型的操作;而在可重构 硬件上则实现计算密集型的操作。通过对不同的任务实施不同的分配,最优化各个任务配 置,实现对任务的计算加速。
[0003] 经过软硬件划分后的一系列相关联任务,需要调度算法将任务按照一定的顺序调 度执行。调度任务的目标就是如何有效的将划分后的任务在满足系统需求和应用约束限制 的情况下,充分挖掘任务间运行时潜在的并行性,规划出最短调度时间开销的任务调度顺 序,提闻应用的整体执行性能。
[0004] 可重构系统上的软硬件划分必须要考虑可重构硬件的动态重构及其重构延时等 特征。现有的软硬件任务划分方法主要有以下三种:(1)由编程者依据经验指定采用可重 构逻辑实现的代码;(2)通过软件剖析找出程序中耗时最多的一段或几段代码,将其采用 可重构逻辑实现,以求得更大的加速比;(3)对每一段可以采用可重构逻辑实现的程序代 码,计算其在可重构硬件上的总的运行时间,并与之在通用处理器上的执行时间进行比较, 如果前者小于后者,则采用可重构逻辑实现该段程序代码,否则在通用处理器上执行。
[0005] 当前的很多可重构计算系统采用的都是软/硬件任务非并行执行的方式。当软件 任务执行到某个点的时候,会将应用执行的控制权交给可重构逻辑器件,然后软件任务会 一直等待可重构逻辑器件将计算结果和控制权返回给通用处理器再继续执行。这无疑降低 了系统的性能。更先进的做法是软件任务可以和硬件任务并行执行,两者间以中断或者其 他方式互相通告状态和传递数据。但是这么做会引入数据一致性、任务间同步等问题,加大 了系统管理的难度。软/硬件任务的划分一直以来都是嵌入式系统研究中的难点,它直接 影响到了应用的执行性能,但至今缺乏成熟的方法支持。


【发明内容】

[0006] 本发明所要解决的技术问题是针对现有技术存在的缺陷提供一种基于混沌粒子 群算法的可重构计算的软硬件任务划分方法。
[0007] 本发明基于混沌粒子群算法的可重构计算的软硬件任务划分方法,包括如下步 骤:
[0008] stepl :初始化η个节点的位置,随机生成各个粒子的速度和位置,并计算各个粒 子对应于初始节点随机分布的目标函数值,其中η为大于1的自然数;
[0009] step2 :初始化每个粒子的个体最优pbest和群体最优位置gbest ;
[0010] St印3 :对各个粒子更新速度和位置,重新计算每个粒子更新位置后的目标函数 值;
[0011] St印4 :计算每个粒子更新位置后的目标函数值,并与个体最优pbest对应的目标 函数值比较,当前者较大,则更新个体最优pbest ;
[0012] St印5:将群体中的每个粒子的个体最优pbest对应的目标函数值与群体最优位 置gbest对应的目标函数值比较,当前者较大,则更新群体最优位置gbest ;
[0013] St印6 :根据

【权利要求】
1. 一种基于混沌粒子群算法的可重构计算的软硬件任务划分方法,其特征在于所述方 法如下: Stepl :初始化η个节点的位置,随机生成各个粒子的速度和位置,并计算各个粒子对 应于初始节点随机分布的目标函数值,其中η为大于1的自然数; Step2 :初始化每个粒子的个体最优pbest和群体最优位置gbest ; Step3 :对各个粒子更新速度和位置,重新计算每个粒子更新位置后的目标函数值; Step4 :计算每个粒子更新位置后的目标函数值,并与个体最优pbest对应的目标函数 值比较,当前者较大,则更新个体最优pbest ; Step5 :将群体中的每个粒子的个体最优pbest对应的目标函数值与群体最优位置 gbest对应的目标函数值比较,当前者较大,则更新群体最优位置gbest ; Step6 :根据
计算得到当前对群体最优位置gbest进行混沌优化的概率 pk,同时生成一个随机数0?1内的随机数r,当r < pk,执行步骤St印7,否则跳到步骤 St印10,其中k表示第k次迭代; St印7 :将gbest中各节点坐标映射到定义域(0, 1)内,SP
,其中[a,b]为 节点坐标范围; St印8 :由Y°根据式
进行迭代生成一组混沌序列Ym(m = 1,2,…),将产生的混沛变量序列Ym通过逆映射gbestm = a+(b_a)Ym(m = 1,2,…)返回到 原解空间,得到m个解组合,即一个划分; St印9 :计算对应各个组合的划分,找出目标函数FfitMSS的值最大的一组,同未进行混沌 优化时的最优位置的目标函数值比较,当前者数值大,则更新gbest ; SteplO :当达到预设最大迭代数,则结束,并返回群体最优分布,否则返回Step2。
2. 根据权利要求1所述的基于混沌粒子群算法的可重构计算的软硬件任务划分方法, 其特征在于步骤Step3所述速度和位置更新方法如下:
其中,q为微粒自身加速度权重系数,c2为全局加速度权重系数,(:3为位置调节的加 速权重系数,和为0?1内的随机数,X;和%分别为粒子i在第k次迭代中第j维 的位置和速度,二者均被限制在一定范围内;
是粒子i在第j维的个体极值的位置; 是群体在第j维的个体极值的位置;w为惯性权重系数;Δ,A丨是粒子i中节点厂与 其最近节点的距离改变值。
3. 根据权利要求1所述的基于混沌粒子群算法的可重构计算的软硬件任务划分方法, 其特征在于所述可重构计算采用可重构系统,所述可重构系统由主CPU和可重构器件组 成。
4. 根据权利要求3所述的基于混沌粒子群算法的可重构计算的软硬件任务划分方法, 其特征在于所述主CPU由调度器、放置器和加载器构成,调度器用于可重构任务的调度,放 置器用于可重构任务的放置,加载器用于可重构任务的配置加载。
5. 根据权利要求1所述的基于混沌粒子群算法的可重构计算的软硬件任务划分方 法,其特征在于所述软硬件任务用数据流图表示,一个软硬件任务表示为一个三元组D = < V,E, W >,其中顶点集V = {Vi | Vi是有序运算符,1彡i彡η},每个顶点表示一个任务,包 括硬件任务和软件任务;边集E = {eg | eg = < Vi, V」>,1彡i, j彡n},eg表示从Vi到ν」 的有向边,Vi是 '的直接前驱节点,'是Vi的直接后继节点,表示了两个运算符的先后依 赖关系,的物理意义是表示第i个任务和第j个任务之间的通信开销;权集W = {Wi |表 示Vi所占的硬件资源面积,1彡i彡η},其中η为大于1的自然数。
【文档编号】G06F9/50GK104252383SQ201410473017
【公开日】2014年12月31日 申请日期:2014年9月16日 优先权日:2014年9月16日
【发明者】朱志宇, 沈舒, 吴将, 王彪, 王逊, 陈迅, 李阳, 薛文涛, 黄巧亮 申请人:江苏科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1