An efficient hardware and software partitioning method based on fusion algorithm: initializing parameters; initializing frog population; calculating the number of successive invalid iterations at the beginning of iteration update; determining whether the number of successive invalid iterations is greater than the set maximum successive invalid iteration threshold; finding the optimal solution in the current frog population and If the fitness of the worst solution of the current frog population is better than the fitness of the optimal solution, the greedy algorithm finds a better solution; M frogs are grouped; the group is optimized so that the frogs in the worst position in the group jump to the frogs in the best position in the group to obtain a new position; Global optimization is carried out to make the frogs in the worst position in the group jump to the frogs in the global optimal position; a frog position is randomly generated; all frogs are re-washed; and the current optimal solution is output as the hardware and software partitioning scheme. The invention is a fusion algorithm with higher efficiency.
【技术实现步骤摘要】
一种基于融合算法的高效软硬件划分方法
本专利技术涉及一种软硬件划分方法。特别是涉及一种基于融合算法的高效软硬件划分方法。
技术介绍
1、现有技术的软硬件划分一个处理器的架构由硬件处理单元和软件处理单元共同组成。软硬件划分就是任务集中的子任务分别分配给软件或者硬件来执行。不同的分配方案会达到不同的执行效果,软硬件划分的目标就是找到最佳的软硬件划分方案从而获得最好的性能。软硬件划分问题是一个NP-hard问题,对于N个节点的任务,待划分的任务集可以用DAG图来表示。如图1所示,其中Nodei是第i个任务节点,si,hi和ai分别表示节点i的软件执行时间,硬件执行时间和硬件面积需求,ci,j表示节点i和节点j之间的通信时间,若节点i和节点j之间不存在依赖关系,则ci,j=0。对于N个任务节点的软硬件划分问题,其划分方案(即问题的解)可以表示为一个N维向量X,X=[x1,x2,x3…xN]。其中xi等于0或1,表示任务节点i的实现方式,0表示用软件实现,1表示用硬件实现。以所有任务节点的执行时间以及各节点之间的通信时间之和T(V)作为寻优目标,以硬件面积和Asum作为约束条件,则其数学模型描述如式(1)所示,其中AreaLimit代表其硬件面积约束的大小:min:subjectto:2、原始混洗蛙跳算法在软硬件划分上的应用混洗蛙跳算法(ShuffledFrogLeapAlgorithm,SFLA)是一种群体智能优化算法,算法过程主要模仿青蛙种群的觅食行为。当用SFLA求解软硬件划分问题时,一只青蛙的位置对应着一个解,即一个软硬件划分方案。以软硬件划分问题的目标函数 ...
【技术保护点】
1.一种基于融合算法的高效软硬件划分方法,其特征在于,包括如下步骤:1)初始化参数,包括初始化青蛙种群规模M,分组数G,硬件面积约束LIM;2)初始化青蛙种群,包括对于由N个任务节点组成的任务集,首先生成M个符合硬件面积约束条件的青蛙位置坐标,即M个解,解的质量对应青蛙位置的适应度,每个解为0、1组成的N维向量;3)迭代更新开始,计算当前出现的连续无效迭代次数;4)判断连续无效迭代次数是否大于设定的最大连续无效迭代阈值,是,则执行步骤5),否则,跳至步骤7);5)找出当前青蛙种群中的最优解SBEST以及最差解SWORST,并运行贪婪算法;6)若当前青蛙种群的最差解SWORST的适应度优于最优解SBEST的适应度,即通过贪婪算法找到了更优的解,则进行步骤7),否则,跳至步骤12);7)对M个青蛙进行分组,得到G组子种群;8)进行组内寻优,使组内最差位置的青蛙向组内最优位置的青蛙跳跃从而获得新的位置;青蛙跳跃后所获得的新的位置如果符合硬件面积约束条件且比原来的位置更优,则组内寻优成功,用新的位置代替原来的位置,并进入步骤11),否则,进入步骤9);9)进行全局寻优,使组内最差位置的青蛙向着 ...
【技术特征摘要】
1.一种基于融合算法的高效软硬件划分方法,其特征在于,包括如下步骤:1)初始化参数,包括初始化青蛙种群规模M,分组数G,硬件面积约束LIM;2)初始化青蛙种群,包括对于由N个任务节点组成的任务集,首先生成M个符合硬件面积约束条件的青蛙位置坐标,即M个解,解的质量对应青蛙位置的适应度,每个解为0、1组成的N维向量;3)迭代更新开始,计算当前出现的连续无效迭代次数;4)判断连续无效迭代次数是否大于设定的最大连续无效迭代阈值,是,则执行步骤5),否则,跳至步骤7);5)找出当前青蛙种群中的最优解SBEST以及最差解SWORST,并运行贪婪算法;6)若当前青蛙种群的最差解SWORST的适应度优于最优解SBEST的适应度,即通过贪婪算法找到了更优的解,则进行步骤7),否则,跳至步骤12);7)对M个青蛙进行分组,得到G组子种群;8)进行组内寻优,使组内最差位置的青蛙向组内最优位置的青蛙跳跃从而获得新的位置;青蛙跳跃后所获得的新的位置如果符合硬件面积约束条件且比原来的位置更优,则组内寻优成功,用新的位置代替原来的位置,并进入步骤11),否则,进入步骤9);9)进行全局寻优,使组内最差位置的青蛙向着全局最优位置的青蛙进行跳跃,从而获得新的位置;青蛙完成跳跃之后获得的新位置如果满足硬件面积约束条件且比原来的位置更优,则全局寻优成功,用新的位置代替原来的位置,并进入步骤11),否则,进入步骤10);10)随机生成一个青蛙位置,即随机生成一个新的满足硬件面积约束条件的位置来代替组内的最差青蛙位置;11)所有青蛙重新混洗,即将分组后的青蛙种群混合并重新按照适应度由好到坏排序,一次迭代更新完成,返回步骤3)开始下一轮迭代;12)算法终止,输出当前的最优解作为软硬件划分方案。2.根据权利要求1所述的一种基于融合算法的高效软硬件划分方法,其特征在于,步骤3)所述的无效迭代是指:本轮迭代未能够搜索到比上一轮更优的解;所述的连续无效迭代次数是指连续多次迭代中,均未能搜索到质量比上一轮更优的解。3.根据权利要求1所述的一种基于融合算法的高效软硬件划分...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。