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

上传人:a3 文档编号:177941 上传时间:2018-01-31 格式:PDF 页数:10 大小:1.56MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410473017.9

申请日:

2014.09.16

公开号:

CN104252383A

公开日:

2014.12.31

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 9/46申请日:20140916|||公开

IPC分类号:

G06F9/46; G06F9/50

主分类号:

G06F9/46

申请人:

江苏科技大学

发明人:

朱志宇; 沈舒; 吴将; 王彪; 王逊; 陈迅; 李阳; 薛文涛; 黄巧亮

地址:

212003 江苏省镇江市京口区梦溪路2号

优先权:

专利代理机构:

南京经纬专利商标代理有限公司 32200

代理人:

楼高潮

PDF下载: PDF下载
内容摘要

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

权利要求书

1.  一种基于混沌粒子群算法的可重构计算的软硬件任务划分方法,其特征在于所述方法如下:
Step1:初始化n个节点的位置,随机生成各个粒子的速度和位置,并计算各个粒子对应于初始节点随机分布的目标函数值,其中n为大于1的自然数;
Step2:初始化每个粒子的个体最优pbest和群体最优位置gbest;
Step3:对各个粒子更新速度和位置,重新计算每个粒子更新位置后的目标函数值;
Step4:计算每个粒子更新位置后的目标函数值,并与个体最优pbest对应的目标函数值比较,当前者较大,则更新个体最优pbest;
Step5:将群体中的每个粒子的个体最优pbest对应的目标函数值与群体最优位置gbest对应的目标函数值比较,当前者较大,则更新群体最优位置gbest;
Step6:根据计算得到当前对群体最优位置gbest进行混沌优化的概率pk,同时生成一个随机数0~1内的随机数r,当r<pk,执行步骤Step7,否则跳到步骤Step10,其中k表示第k次迭代;
Step7:将gbest中各节点坐标映射到定义域(0,1)内,即其中[a,b]为节点坐标范围;
Step8:由Y0根据式Yi+1=2Yi,0Yi0.52(1-Yi),0.5<Yi1]]>进行迭代生成一组混沌序列Ym(m=1,2,…),将产生的混沌变量序列Ym通过逆映射gbestm=a+(b-a)Ym(m=1,2,…)返回到原解空间,得到m个解组合,即一个划分;
Step9:计算对应各个组合的划分,找出目标函数Ffitness的值最大的一组,同未进行混沌优化时的最优位置的目标函数值比较,当前者数值大,则更新gbest;
Step10:当达到预设最大迭代数,则结束,并返回群体最优分布,否则返回Step2。

2.
  根据权利要求1所述的基于混沌粒子群算法的可重构计算的软硬件任务划分方法,其特征在于步骤Step3所述速度和位置更新方法如下:
vijk+1=w(k)×vij(k)+c1r1j(pbestijk-xijk)+c2r2j(gbestgjk-xijk)+c3r3Δijk---(4)]]>
xijk+1=xijk+vijk+1---(5)]]>
其中,c1为微粒自身加速度权重系数,c2为全局加速度权重系数,c3为位置调节的加速权重系数,r1j和r2j为0~1内的随机数,分别为粒子i在第k次迭代中第j维的位置和速度,二者均被限制在一定范围内;是粒子i在第j维的个体极值的位置;是群体在第j维的个体极值的位置;w为惯性权重系数;是粒子i中节点与其最近节点的距离改变值。

3.
  根据权利要求1所述的基于混沌粒子群算法的可重构计算的软硬件任务划分方法,其特征在于所述可重构计算采用可重构系统,所述可重构系统由主CPU和可重构器件组成。

4.
  根据权利要求3所述的基于混沌粒子群算法的可重构计算的软硬件任务划分方法,其特征在于所述主CPU由调度器、放置器和加载器构成,调度器用于可重构任务的调度,放置器用于可重构任务的放置,加载器用于可重构任务的配置加载。

5.
  根据权利要求1所述的基于混沌粒子群算法的可重构计算的软硬件任务划分方法,其特征在于所述软硬件任务用数据流图表示,一个软硬件任务表示为一个三元组D=<V,E,W>,其中顶点集V={vi|vi是有序运算符,1≤i≤n},每个顶点表示一个任务,包括硬件任务和软件任务;边集E={eij|eij=<vi,vj>,1≤i,j≤n},eij表示从vi到vj的有向边,vi是vj的直接前驱节点,vj是vi的直接后继节点,表示了两个运算符的先后依赖关系,eij的物理意义是表示第i个任务和第j个任务之间的通信开销;权集W={wi|表示vi所占的硬件资源面积,1≤i≤n},其中n为大于1的自然数。

说明书

基于混沌粒子群算法的可重构计算的软硬件任务划分方法
技术领域
本发明涉及可重构计算领域,具体是一种动态可重构任务调度方法。
背景技术
对于可重构系统而言,实现一个复杂的应用,由于受到可重构资源规模的限制,往往要将其分解为占用资源较少的多个子任务,经过一个合适的软硬件划分方案,划分为一系列的软件任务和硬件任务,分别将它们映射到通用处理器和可重构逻辑器件上执行,最优化地分配任务。在通用处理器上执行变长循环和分支等控制密集型的操作;而在可重构硬件上则实现计算密集型的操作。通过对不同的任务实施不同的分配,最优化各个任务配置,实现对任务的计算加速。
经过软硬件划分后的一系列相关联任务,需要调度算法将任务按照一定的顺序调度执行。调度任务的目标就是如何有效的将划分后的任务在满足系统需求和应用约束限制的情况下,充分挖掘任务间运行时潜在的并行性,规划出最短调度时间开销的任务调度顺序,提高应用的整体执行性能。
可重构系统上的软硬件划分必须要考虑可重构硬件的动态重构及其重构延时等特征。现有的软硬件任务划分方法主要有以下三种:(1)由编程者依据经验指定采用可重构逻辑实现的代码;(2)通过软件剖析找出程序中耗时最多的一段或几段代码,将其采用可重构逻辑实现,以求得更大的加速比;(3)对每一段可以采用可重构逻辑实现的程序代码,计算其在可重构硬件上的总的运行时间,并与之在通用处理器上的执行时间进行比较,如果前者小于后者,则采用可重构逻辑实现该段程序代码,否则在通用处理器上执行。
当前的很多可重构计算系统采用的都是软/硬件任务非并行执行的方式。当软件任务执行到某个点的时候,会将应用执行的控制权交给可重构逻辑器件,然后软件任务会一直等待可重构逻辑器件将计算结果和控制权返回给通用处理器再继续执行。这无疑降低了系统的性能。更先进的做法是软件任务可以和硬件任务并行执行,两者间以中断或者其他方式互相通告状态和传递数据。但是这么做会引入数据一致性、任务间同步等问题,加大了系统管理的难度。软/硬件任务的划分一直以来都是嵌入式系统研究中的难点,它直接影响到了应用的执行性能,但至今缺乏成熟的方法支持。
发明内容
本发明所要解决的技术问题是针对现有技术存在的缺陷提供一种基于混沌粒子群算法的可重构计算的软硬件任务划分方法。
本发明基于混沌粒子群算法的可重构计算的软硬件任务划分方法,包括如下步骤:
Step1:初始化n个节点的位置,随机生成各个粒子的速度和位置,并计算各个粒子对应于初始节点随机分布的目标函数值,其中n为大于1的自然数;
Step2:初始化每个粒子的个体最优pbest和群体最优位置gbest;
Step3:对各个粒子更新速度和位置,重新计算每个粒子更新位置后的目标函数值;
Step4:计算每个粒子更新位置后的目标函数值,并与个体最优pbest对应的目标函数值比较,当前者较大,则更新个体最优pbest;
Step5:将群体中的每个粒子的个体最优pbest对应的目标函数值与群体最优位置gbest对应的目标函数值比较,当前者较大,则更新群体最优位置gbest;
Step6:根据计算得到当前对群体最优位置gbest进行混沌优化的概率pk,同时生成一个随机数0~1内的随机数r,当r<pk,执行步骤Step7,否则跳到步骤Step10,其中k表示第k次迭代;
Step7:将gbest中各节点坐标映射到定义域(0,1)内,即其中[a,b]为节点坐标范围;
Step8:由Y0根据式Yi+1=2Yi,0Yi0.52(1-Yi),0.5<Yi1]]>进行迭代生成一组混沌序列Ym(m=1,2,…),将产生的混沌变量序列Ym通过逆映射gbestm=a+(b-a)Ym(m=1,2,…)返回到原解空间,得到m个解组合,即一个划分;
Step9:计算对应各个组合的划分,找出目标函数Ffitness的值最大的一组,同未进行混沌优化时的最优位置的目标函数值比较,当前者数值大,则更新gbest;
Step10:当达到预设最大迭代数,则结束,并返回群体最优分布,否则返回Step2。
步骤Step3所述速度和位置更新方法如下:
vijk+1=w(k)×vij(k)+c1r1j(pbestijk-xijk)+c2r2j(gbestgjk-xijk)+c3r3Δijk---(4)]]>
xijk+1=xijk+vijk+1---(5)]]>
其中,c1为微粒自身加速度权重系数,c2为全局加速度权重系数,c3为位置调节的加速权重系数,r1j和r2j为0~1内的随机数,分别为粒子i在第k次迭代中第j维的位置和速度,二者均被限制在一定范围内;是粒子i在第j维的个体极值的位置;是群体在第j维的个体极值的位置;w为惯性权重系数;是粒子i中节点与其最近节点的距离改变值。
所述可重构计算采用可重构系统,所述可重构系统由主CPU和可重构器件组成。
所述主CPU由调度器、放置器和加载器构成,调度器用于可重构任务的调度,放置器用于可重构任务的放置,加载器用于可重构任务的配置加载。
所述软硬件任务用数据流图表示,一个软硬件任务表示为一个三元组D=<V,E,W>,其中顶点集V={vi|vi是有序运算符,1≤i≤n},每个顶点表示一个任务,包括硬件任务和软件任务;边集E={eij|eij=<vi,vj>,1≤i,j≤n},eij表示从vi到vj的有向边,vi是vj的直接前驱节点,vj是vi的直接后继节点,表示了两个运算符的先后依赖关系,eij的物理意义是表示第i个任务和第j个任务之间的通信开销;权集W={wi|表示vi所占的硬件资源面积,1≤i≤n},其中n为大于1的自然数。
本发明采用有向无环任务图(directeda cyclic task graph,DAG)描述待调度的任务集合。任务为一段不可抢占的指令执行序列,在任务图中用节点表示。任务间的依赖关系用有向弧表示。任务的执行开销标注在节点上,任务间的通信开销标注在有向弧上。任务调度算法以任务图为输入,综合考虑任务的执行时间、任务之间的相互依赖关系、任务间的通信开销以及执行环境等多方因素计算决策,获得将任务映射到执行处理器上的方案。
软硬件划分的实质是在一定系统模型的基础上,对解空间求解,并对得到的解进行评价的过程,目的是为系统的每个功能模块选择一种合适的实现方式,实质上是一类全局优化问题。本发明考虑在可重构硬件资源约束条件下,将各模块的操作执行时间、模块间数据通信引起的延时、资源消耗等作为划分代价,设计出一个多目标优化目标函数,采用混沌粒子群优化方法,实现可重构计算的软硬件划分。
附图说明
图1:可重构系统的任务调度模型;
图2:方法流程图;
图1中符号含义如下:
为硬件任务;
为软件任务;
Vi 为结点;
Ei 为执行开销;
Cij 为通信开销。
具体实施方式
可重构系统可以简化为由主CPU和可重构器件(FPGA)组成,其中CPU主要由调度器、放置器和加载器构成,分别负责可重构任务的调度、放置和配置加载。
可重构计算模式中的软硬件任务划分问题是一个NP-Hard问题。待划分的任务用数据流图(Data Flow Graph—DFG)表示,一个计算任务或程序的DFG可以表示为一个三元组D=<V,E,W>,其中顶点集V={vi|vi是有序运算符,1≤i≤n}。每个顶点表示一个任务,包括硬件任务和软件任务;边集E={eij|eij=<vi,vj>,1≤i,j≤n},eij表示从vi到vj的有向边,vi是vj的直接前驱节点,vj是vi的直接后继节点,表示了两个运算符的先后依赖关系。eij的物理意义是表示第i个任务和第j个任务之间的通信开销;权集W={wi|表示vi所占的硬件资源面积,1≤i≤n}。
图1所示是可重构系统的任务调度模型的示意图,该模型有6个软硬件任务。图中的vi表示顶点(节点),实线圆表示硬件任务,虚线圆表示软件任务;ti表示第i个任务的执行开销,eij表示第i个任务和第j个任务之间的通信开销。
将DFG的划分问题描述为:
输入:D=<V,E,W>;ARPU,ARPU表示可重构处理单元的面积,是一个定值。
输出:D的一个划分P={P1,P2,…PM},其中Pi一个划分块,每个划分块均由若干个节点
组成。并且Pi之间有严格的执行顺序。
约束条件:i=1MPi=V;---2)]]>3)Pi∈P,1≤i≤M,Σwj≤ARPU,wj表示Pi中所有包含的第j个节点的权值。
本发明应用混沌粒子群优化思想设计一种基于DFG图的软硬件任务划分的多目标优化方法,综合考虑系统各模块的操作执行时间、模块间数据通信引起的延时、资源消耗等因素,设计一个多目标优化目标函数Ffitness,在满足给定的约束条件下,应用混沌粒子群优化方法搜寻该目标函数的最大值,找到最优解。
假设群体中有m个粒子,每个粒子代表一种划分方案。每个粒子中包含n个节点,假设n个粒子随机分布在DFG图的各个节点vi上,然后赋予每个粒子一个初始速度和位置,从最顶层的根任务开始不断分解组合任务,直到所有的任务都分解完。每分解一个任务就创建一个粒子。最后依据目标函数,采用混沌优化搜索方法,搜寻各个粒子的最优解,选择出最优的软硬件任务划分。
以xi表示粒子i的位置向量,每个粒子所经历的最好位置记为pbest=(pbesti1,pbesti2,pbesti3,…,pbestid),d=2n。群体中所有粒子所经历的最好位置记为gbest。不同粒子中的节点具有不同的位置,不同的节点位置对应着不同的任务划分。混沌粒子群优化方法的基本思想是:以基本粒子群算法为主,将组成划分任务的节点位置向量作为输入参数,Ffitness作为目标函数。在每次迭代过程中,以概率pk对群体最优位置gbest进行混沌优化,引导gbest跳出局部最优。
基于混沌粒子群算法的可重构计算的软硬件任务划分方法如图2所示,其具体步骤如下:
Step1:初始化n个节点的位置,随机生成各个粒子的速度和位置。并计算对应于初始节点随机分布的目标函数值;
Step2:初始化每个粒子的个体最优pbest和群体最优位置gbest;
Step3:对各个粒子更新速度和位置。重新计算每个粒子更新位置后的目标函数值;
速度和位置更新公式如式(1)和(2):
vijk+1=w(k)×vij(k)+c1r1j(pbestijk-xijk)+c2r2j(gbestgjk-xijk)+c3r3Δijk---(4)]]>
xijk+1=xijk+vijk+1---(5)]]>
其中,c1为微粒自身加速度权重系数,c2为全局加速度权重系数,c3为位置调节的加速权重系数,r1j和r2j为0~1内的随机数,分别为粒子i在第k次迭代中第j维的位置和速度,二者均被限制在一定范围内;是粒子i在第j维的个体极值的位置;是群体在第j维的个体极值的位置;w为惯性权重系数;是粒子i中节点与其最近节点的距离改变值;
Step4:计算每个粒子更新位置后的目标函数值,并与pbest对应的目标函数值比较,当前者较大,则更新pbest;
Step5:将群体中的每个粒子的个体最优pbest对应的目标函数值与gbest对应的目标函数值比较,当前者较大,则更新gbest;
Step6:根据计算得到当前对gbest进行混沌优化的概率pk,同时生成一个随机数0~1内的随机数r,当r<pk,执行步骤Step7,否则跳到Step10;
Step7:将gbest中各节点坐标映射到定义域(0,1)内,即其中[a,b]为节点坐标范围;
Step8:由Y0根据式Yi+1=2Yi,0Yi0.52(1-Yi),0.5<Yi1]]>进行迭代生成一组混沌序列Ym(m=1,2,…),将产生的混沌变量序列Ym通过逆映射gbestm=a+(b-a)Ym(m=1,2,…)返回到原解空间,得到m个解组合,即一个划分;
Step9:计算对应各个组合的划分,找出目标函数Ffitness的值最大的一组,同未进行混沌优化时的最优位置的目标函数值比较,当前者数值大,则更新gbest;
Step10:当达到预设最大迭代数,则结束,并返回群体最优分布,否则返回Step2。

基于混沌粒子群算法的可重构计算的软硬件任务划分方法.pdf_第1页
第1页 / 共10页
基于混沌粒子群算法的可重构计算的软硬件任务划分方法.pdf_第2页
第2页 / 共10页
基于混沌粒子群算法的可重构计算的软硬件任务划分方法.pdf_第3页
第3页 / 共10页
点击查看更多>>
资源描述

《基于混沌粒子群算法的可重构计算的软硬件任务划分方法.pdf》由会员分享,可在线阅读,更多相关《基于混沌粒子群算法的可重构计算的软硬件任务划分方法.pdf(10页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104252383A43申请公布日20141231CN104252383A21申请号201410473017922申请日20140916G06F9/46200601G06F9/5020060171申请人江苏科技大学地址212003江苏省镇江市京口区梦溪路2号72发明人朱志宇沈舒吴将王彪王逊陈迅李阳薛文涛黄巧亮74专利代理机构南京经纬专利商标代理有限公司32200代理人楼高潮54发明名称基于混沌粒子群算法的可重构计算的软硬件任务划分方法57摘要本发明公开了一种基于混沌粒子群算法的可重构计算的软硬件任务划分方法,所述方法基于DFG图的软硬件任务划分的多目标优化方法,综合考虑系统各。

2、模块的操作执行时间、模块间数据通信引起的延时、资源消耗等因素,设计一个多目标优化目标函数FTNESS,在满足给定的约束条件下,应用混沌粒子群优化方法搜寻该目标函数的最大值,找到最优解。51INTCL权利要求书2页说明书5页附图2页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书5页附图2页10申请公布号CN104252383ACN104252383A1/2页21一种基于混沌粒子群算法的可重构计算的软硬件任务划分方法,其特征在于所述方法如下STEP1初始化N个节点的位置,随机生成各个粒子的速度和位置,并计算各个粒子对应于初始节点随机分布的目标函数值,其中N为大于1的自然数;S。

3、TEP2初始化每个粒子的个体最优PBEST和群体最优位置GBEST;STEP3对各个粒子更新速度和位置,重新计算每个粒子更新位置后的目标函数值;STEP4计算每个粒子更新位置后的目标函数值,并与个体最优PBEST对应的目标函数值比较,当前者较大,则更新个体最优PBEST;STEP5将群体中的每个粒子的个体最优PBEST对应的目标函数值与群体最优位置GBEST对应的目标函数值比较,当前者较大,则更新群体最优位置GBEST;STEP6根据计算得到当前对群体最优位置GBEST进行混沌优化的概率PK,同时生成一个随机数01内的随机数R,当RPK,执行步骤STEP7,否则跳到步骤STEP10,其中K表示。

4、第K次迭代;STEP7将GBEST中各节点坐标映射到定义域0,1内,即其中A,B为节点坐标范围;STEP8由Y0根据式进行迭代生成一组混沌序列YMM1,2,,将产生的混沌变量序列YM通过逆映射GBESTMABAYMM1,2,返回到原解空间,得到M个解组合,即一个划分;STEP9计算对应各个组合的划分,找出目标函数FTNESS的值最大的一组,同未进行混沌优化时的最优位置的目标函数值比较,当前者数值大,则更新GBEST;STEP10当达到预设最大迭代数,则结束,并返回群体最优分布,否则返回STEP2。2根据权利要求1所述的基于混沌粒子群算法的可重构计算的软硬件任务划分方法,其特征在于步骤STEP3。

5、所述速度和位置更新方法如下其中,C1为微粒自身加速度权重系数,C2为全局加速度权重系数,C3为位置调节的加速权重系数,R1J和R2J为01内的随机数,和分别为粒子I在第K次迭代中第J维的位置和速度,二者均被限制在一定范围内;是粒子I在第J维的个体极值的位置;是群体在第J维的个体极值的位置;W为惯性权重系数;是粒子I中节点与其最近节点的距离改变值。3根据权利要求1所述的基于混沌粒子群算法的可重构计算的软硬件任务划分方法,其特征在于所述可重构计算采用可重构系统,所述可重构系统由主CPU和可重构器件组成。权利要求书CN104252383A2/2页34根据权利要求3所述的基于混沌粒子群算法的可重构计算。

6、的软硬件任务划分方法,其特征在于所述主CPU由调度器、放置器和加载器构成,调度器用于可重构任务的调度,放置器用于可重构任务的放置,加载器用于可重构任务的配置加载。5根据权利要求1所述的基于混沌粒子群算法的可重构计算的软硬件任务划分方法,其特征在于所述软硬件任务用数据流图表示,一个软硬件任务表示为一个三元组DV,E,W,其中顶点集VVI|VI是有序运算符,1IN,每个顶点表示一个任务,包括硬件任务和软件任务;边集EEIJ|EIJVI,VJ,1I,JN,EIJ表示从VI到VJ的有向边,VI是VJ的直接前驱节点,VJ是VI的直接后继节点,表示了两个运算符的先后依赖关系,EIJ的物理意义是表示第I个任。

7、务和第J个任务之间的通信开销;权集WWI|表示VI所占的硬件资源面积,1IN,其中N为大于1的自然数。权利要求书CN104252383A1/5页4基于混沌粒子群算法的可重构计算的软硬件任务划分方法技术领域0001本发明涉及可重构计算领域,具体是一种动态可重构任务调度方法。背景技术0002对于可重构系统而言,实现一个复杂的应用,由于受到可重构资源规模的限制,往往要将其分解为占用资源较少的多个子任务,经过一个合适的软硬件划分方案,划分为一系列的软件任务和硬件任务,分别将它们映射到通用处理器和可重构逻辑器件上执行,最优化地分配任务。在通用处理器上执行变长循环和分支等控制密集型的操作;而在可重构硬件上。

8、则实现计算密集型的操作。通过对不同的任务实施不同的分配,最优化各个任务配置,实现对任务的计算加速。0003经过软硬件划分后的一系列相关联任务,需要调度算法将任务按照一定的顺序调度执行。调度任务的目标就是如何有效的将划分后的任务在满足系统需求和应用约束限制的情况下,充分挖掘任务间运行时潜在的并行性,规划出最短调度时间开销的任务调度顺序,提高应用的整体执行性能。0004可重构系统上的软硬件划分必须要考虑可重构硬件的动态重构及其重构延时等特征。现有的软硬件任务划分方法主要有以下三种1由编程者依据经验指定采用可重构逻辑实现的代码;2通过软件剖析找出程序中耗时最多的一段或几段代码,将其采用可重构逻辑实现。

9、,以求得更大的加速比;3对每一段可以采用可重构逻辑实现的程序代码,计算其在可重构硬件上的总的运行时间,并与之在通用处理器上的执行时间进行比较,如果前者小于后者,则采用可重构逻辑实现该段程序代码,否则在通用处理器上执行。0005当前的很多可重构计算系统采用的都是软/硬件任务非并行执行的方式。当软件任务执行到某个点的时候,会将应用执行的控制权交给可重构逻辑器件,然后软件任务会一直等待可重构逻辑器件将计算结果和控制权返回给通用处理器再继续执行。这无疑降低了系统的性能。更先进的做法是软件任务可以和硬件任务并行执行,两者间以中断或者其他方式互相通告状态和传递数据。但是这么做会引入数据一致性、任务间同步等。

10、问题,加大了系统管理的难度。软/硬件任务的划分一直以来都是嵌入式系统研究中的难点,它直接影响到了应用的执行性能,但至今缺乏成熟的方法支持。发明内容0006本发明所要解决的技术问题是针对现有技术存在的缺陷提供一种基于混沌粒子群算法的可重构计算的软硬件任务划分方法。0007本发明基于混沌粒子群算法的可重构计算的软硬件任务划分方法,包括如下步骤0008STEP1初始化N个节点的位置,随机生成各个粒子的速度和位置,并计算各个粒子对应于初始节点随机分布的目标函数值,其中N为大于1的自然数;0009STEP2初始化每个粒子的个体最优PBEST和群体最优位置GBEST;说明书CN104252383A2/5页。

11、50010STEP3对各个粒子更新速度和位置,重新计算每个粒子更新位置后的目标函数值;0011STEP4计算每个粒子更新位置后的目标函数值,并与个体最优PBEST对应的目标函数值比较,当前者较大,则更新个体最优PBEST;0012STEP5将群体中的每个粒子的个体最优PBEST对应的目标函数值与群体最优位置GBEST对应的目标函数值比较,当前者较大,则更新群体最优位置GBEST;0013STEP6根据计算得到当前对群体最优位置GBEST进行混沌优化的概率PK,同时生成一个随机数01内的随机数R,当RPK,执行步骤STEP7,否则跳到步骤STEP10,其中K表示第K次迭代;0014STEP7将G。

12、BEST中各节点坐标映射到定义域0,1内,即其中A,B为节点坐标范围;0015STEP8由Y0根据式进行迭代生成一组混沌序列YMM1,2,,将产生的混沌变量序列YM通过逆映射GBESTMABAYMM1,2,返回到原解空间,得到M个解组合,即一个划分;0016STEP9计算对应各个组合的划分,找出目标函数FTNESS的值最大的一组,同未进行混沌优化时的最优位置的目标函数值比较,当前者数值大,则更新GBEST;0017STEP10当达到预设最大迭代数,则结束,并返回群体最优分布,否则返回STEP2。0018步骤STEP3所述速度和位置更新方法如下001900200021其中,C1为微粒自身加速度权。

13、重系数,C2为全局加速度权重系数,C3为位置调节的加速权重系数,R1J和R2J为01内的随机数,和分别为粒子I在第K次迭代中第J维的位置和速度,二者均被限制在一定范围内;是粒子I在第J维的个体极值的位置;是群体在第J维的个体极值的位置;W为惯性权重系数;是粒子I中节点与其最近节点的距离改变值。0022所述可重构计算采用可重构系统,所述可重构系统由主CPU和可重构器件组成。0023所述主CPU由调度器、放置器和加载器构成,调度器用于可重构任务的调度,放置器用于可重构任务的放置,加载器用于可重构任务的配置加载。0024所述软硬件任务用数据流图表示,一个软硬件任务表示为一个三元组DV,E,W,其中顶。

14、点集VVI|VI是有序运算符,1IN,每个顶点表示一个任务,包括硬件任务和软件任务;边集EEIJ|EIJVI,VJ,1I,JN,EIJ表示从VI到VJ的有向边,VI是VJ的直接前驱节点,VJ是VI的直接后继节点,表示了两个运算符的先后依赖关系,EIJ的物理意义是表示第I个任务和第J个任务之间的通信开销;权集WWI|表说明书CN104252383A3/5页6示VI所占的硬件资源面积,1IN,其中N为大于1的自然数。0025本发明采用有向无环任务图DIRECTEDACYCLICTASKGRAPH,DAG描述待调度的任务集合。任务为一段不可抢占的指令执行序列,在任务图中用节点表示。任务间的依赖关系用。

15、有向弧表示。任务的执行开销标注在节点上,任务间的通信开销标注在有向弧上。任务调度算法以任务图为输入,综合考虑任务的执行时间、任务之间的相互依赖关系、任务间的通信开销以及执行环境等多方因素计算决策,获得将任务映射到执行处理器上的方案。0026软硬件划分的实质是在一定系统模型的基础上,对解空间求解,并对得到的解进行评价的过程,目的是为系统的每个功能模块选择一种合适的实现方式,实质上是一类全局优化问题。本发明考虑在可重构硬件资源约束条件下,将各模块的操作执行时间、模块间数据通信引起的延时、资源消耗等作为划分代价,设计出一个多目标优化目标函数,采用混沌粒子群优化方法,实现可重构计算的软硬件划分。附图说。

16、明0027图1可重构系统的任务调度模型;0028图2方法流程图;0029图1中符号含义如下0030为硬件任务;0031为软件任务;0032VI为结点;0033EI为执行开销;0034CIJ为通信开销。具体实施方式0035可重构系统可以简化为由主CPU和可重构器件FPGA组成,其中CPU主要由调度器、放置器和加载器构成,分别负责可重构任务的调度、放置和配置加载。0036可重构计算模式中的软硬件任务划分问题是一个NPHARD问题。待划分的任务用数据流图DATAFLOWGRAPHDFG表示,一个计算任务或程序的DFG可以表示为一个三元组DV,E,W,其中顶点集VVI|VI是有序运算符,1IN。每个顶。

17、点表示一个任务,包括硬件任务和软件任务;边集EEIJ|EIJVI,VJ,1I,JN,EIJ表示从VI到VJ的有向边,VI是VJ的直接前驱节点,VJ是VI的直接后继节点,表示了两个运算符的先后依赖关系。EIJ的物理意义是表示第I个任务和第J个任务之间的通信开销;权集WWI|表示VI所占的硬件资源面积,1IN。0037图1所示是可重构系统的任务调度模型的示意图,该模型有6个软硬件任务。图中的VI表示顶点节点,实线圆表示硬件任务,虚线圆表示软件任务;TI表示第I个任务的执行开销,EIJ表示第I个任务和第J个任务之间的通信开销。0038将DFG的划分问题描述为0039输入DV,E,W;ARPU,ARP。

18、U表示可重构处理单元的面积,是一个定值。说明书CN104252383A4/5页70040输出D的一个划分PP1,P2,PM,其中PI一个划分块,每个划分块均由若干个节点0041组成。并且PI之间有严格的执行顺序。0042约束条件3PIP,1IM,WJARPU,WJ表示PI中所有包含的第J个节点的权值。0043本发明应用混沌粒子群优化思想设计一种基于DFG图的软硬件任务划分的多目标优化方法,综合考虑系统各模块的操作执行时间、模块间数据通信引起的延时、资源消耗等因素,设计一个多目标优化目标函数FTNESS,在满足给定的约束条件下,应用混沌粒子群优化方法搜寻该目标函数的最大值,找到最优解。0044假。

19、设群体中有M个粒子,每个粒子代表一种划分方案。每个粒子中包含N个节点,假设N个粒子随机分布在DFG图的各个节点VI上,然后赋予每个粒子一个初始速度和位置,从最顶层的根任务开始不断分解组合任务,直到所有的任务都分解完。每分解一个任务就创建一个粒子。最后依据目标函数,采用混沌优化搜索方法,搜寻各个粒子的最优解,选择出最优的软硬件任务划分。0045以XI表示粒子I的位置向量,每个粒子所经历的最好位置记为PBESTPBESTI1,PBESTI2,PBESTI3,PBESTID,D2N。群体中所有粒子所经历的最好位置记为GBEST。不同粒子中的节点具有不同的位置,不同的节点位置对应着不同的任务划分。混沌。

20、粒子群优化方法的基本思想是以基本粒子群算法为主,将组成划分任务的节点位置向量作为输入参数,FTNESS作为目标函数。在每次迭代过程中,以概率PK对群体最优位置GBEST进行混沌优化,引导GBEST跳出局部最优。0046基于混沌粒子群算法的可重构计算的软硬件任务划分方法如图2所示,其具体步骤如下0047STEP1初始化N个节点的位置,随机生成各个粒子的速度和位置。并计算对应于初始节点随机分布的目标函数值;0048STEP2初始化每个粒子的个体最优PBEST和群体最优位置GBEST;0049STEP3对各个粒子更新速度和位置。重新计算每个粒子更新位置后的目标函数值;0050速度和位置更新公式如式1。

21、和2005100520053其中,C1为微粒自身加速度权重系数,C2为全局加速度权重系数,C3为位置调节的加速权重系数,R1J和R2J为01内的随机数,和分别为粒子I在第K次迭代中第J维的位置和速度,二者均被限制在一定范围内;是粒子I在第J维的个体极值的位置;是群体在第J维的个体极值的位置;W为惯性权重系数;是粒子I中节点说明书CN104252383A5/5页8与其最近节点的距离改变值;0054STEP4计算每个粒子更新位置后的目标函数值,并与PBEST对应的目标函数值比较,当前者较大,则更新PBEST;0055STEP5将群体中的每个粒子的个体最优PBEST对应的目标函数值与GBEST对应的。

22、目标函数值比较,当前者较大,则更新GBEST;0056STEP6根据计算得到当前对GBEST进行混沌优化的概率PK,同时生成一个随机数01内的随机数R,当RPK,执行步骤STEP7,否则跳到STEP10;0057STEP7将GBEST中各节点坐标映射到定义域0,1内,即其中A,B为节点坐标范围;0058STEP8由Y0根据式进行迭代生成一组混沌序列YMM1,2,,将产生的混沌变量序列YM通过逆映射GBESTMABAYMM1,2,返回到原解空间,得到M个解组合,即一个划分;0059STEP9计算对应各个组合的划分,找出目标函数FTNESS的值最大的一组,同未进行混沌优化时的最优位置的目标函数值比较,当前者数值大,则更新GBEST;0060STEP10当达到预设最大迭代数,则结束,并返回群体最优分布,否则返回STEP2。说明书CN104252383A1/2页9图1说明书附图CN104252383A2/2页10图2说明书附图CN104252383A10。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1