一种基于改进pbil算法的软硬件划分方法

文档序号:9769879阅读:203来源:国知局
一种基于改进pbil算法的软硬件划分方法
【技术领域】
[0001] 本发明涉及一种嵌入式设计领域中的软硬件划分方法。特别是涉及一种基于改进 PBIL算法的软硬件划分方法。
【背景技术】
[0002] 嵌入式系统是以应用为中心、以计算机和集成电路技术为基础、软硬件可裁剪、适 应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。嵌入式系统内 部功能模块有两种基本的实现方法:软件和硬件。软件方法以微处理器为平台,通过设计代 码程序来完成系统的特定功能。而硬件方法是通过设计专用逻辑电路来实现系统功能。一 般来说,硬件比软件能提供更好的性能,而软件更容易开发和修改,灵活性更强、成本比硬 件更低。这两种手段在性能和成本上存在巨大差异,为了达到成本和性能的最佳结合,兼顾 速度和灵活性,目前大部分嵌入式系统都采用软硬件共同实现的方式。既然嵌入式系统大 多采用软硬件共同实现的方式,那么软硬件划分就成了一个影响嵌入式系统性能非常重要 的环节。
[0003] 软硬件划分是软硬件协同设计的重要环节和组成部分,起着非常关键的作用。软 硬件划分是指在设计系统时,确定各个模块是采取软件还是硬件的实现方式。其主要任务 是在满足各项设计约束的条件下,把系统功能划分到目标结构中的软件和硬件部分上,并 为系统提供最佳的软硬件折衷方案。
[0004] 软硬件划分问题的模型可以用一个任务流图来描述,整个任务流图又是一个有向 无环图(DAG图),如图1所示,记作G=(V,E)。
[0005] 其中,V是任务的集合,V= IVoJ1,. ...,Vn},Vi表示系统中的一个任务,可以用软 件或者硬件实现,每个任务节点包含其软件、硬件的执行时间与功耗等节点属性信息;E是 边的集合,E= {eQ,ei,....,em},代表任务之间的控制关系或数据流向,每条边的终点任务 必须在此边的始点任务完成之后才可以开始执行,边的权重代表两个节点之间的通讯开 销。
[0006] 设X= {xi,X2, ..,xn}为一个软硬件划分方案,Xi代表一个任务节点的软硬件实现 方式,Xi = 1表示该节点用硬件实现,Xi = 0表示该节点用软件实现。
[0007] 为了方便系统分析,也使得系统分析更具针对性,本专利将目标函数设为执行时 间,对其他系统参数有一定的约束即可。在这种情况下,软硬件划分问题的精确模型为:
[0009]其中T(X)、area(X)、price(X)、power(X)、storage(X)分别代表软硬件划分方案X 的任务执行时间、面积、成本、功耗、存储开销。
[0010]基于群体的增量学习(Population-based Increased Learning,简称PBIL)算法 是一种以统计学概率向量为基础的新型演化类算法。它最初由美国卡内基一梅隆大学的 Baluja. S.在1994年提出。该算法集成了基于函数优化的遗传搜索和竞争学习两种策略,将 进化过程视为学习过程,通过竞争学习所获取的知识-学习概率(Learning Probabi Iity) 来指导后代的产生。此类算法的主要思想是:构造一个概率向量,并根据概率向量来采样生 成群体,通过评估群体判断当前代个体的优劣,并用这种信息来动态地更新概率向量,从而 实现了演化。这种概率向量是整个进化过程的信息积累,同遗传算法的双亲基因重组相比, 用它指导产生的后代将会更优生,因此能获得较快的收敛速度和理想的计算结果。
[0011] 其算法可以描述为:目标函数的个体可以用长度为N的比特串来表示S= { S1, S2,…,sn},其中Si = (0,1)。设P = {pi,P2,…,pn}代表一个长度为N的概率向量,每个向量兀 素 Ple[0,l],概率向量中的每一个分量元素代表着群体中个体对应位置取比特"Γ的概 率。算法通过概率向量P来生成新的个体,并对个体进行评估。最后选择每一代种群中适应 度最高的个体来修正学习概率。整个迭代过程逐步朝向局部或全局最优解逼近,算法最终 收敛时的特征表现为:概率向量元素的大小分别接近于1. 〇或〇. 〇。

【发明内容】

[0012] 本发明所要解决的技术问题是,提供一种在解决软硬件划分问题的时候具有较好 的性能表现和稳定性的基于改进PBIL算法的软硬件划分方法。
[0013] 本发明所采用的技术方案是:一种基于改进I3BIL算法的软硬件划分方法,包括如 下步骤:
[0014] 1)初始化概率向量Po (X ),设置种群规模N,将阈值Thre sho I d置零,设置I3BIL算法 最大进化代数maxgen,设置阈值上限Limi t;
[0015] 2)对PBIL算法的第1代种群中N个个体<,··_,进行适应度评估,得到每个个体的 适应度f(x〇,…,f( XN)和种群的平均适应度T7^ ,泮按照适应度从高到低排序种群个体 / I Λ i , ·..,Λ、:
[0016] 3)如果第1代种群的平均适应度小于第1 一 1代种群的平均适应度,则Threshold累 计加 1;否则Threshold = O;
[0017] 4)判断如果Threshold = Limit,转到步骤9);否则转到步骤5);
[0018] 5)在N个个体中选择适应度最好的前M个个体·4λμ…,Λ^/ν·;
[0019] 6)按照下式更新学习因子
[0021]其中,ao和aw分别是学习因子的基准。maxgen是算法最大的进化代数,t为进化代 数,to为进化的间隔代数。T为种群最优个体连续未得到改善的代数。mod是取模运算,[t/to] 是不大于t/to的最大整数。
[0022] 7)利用下式更新第1+1代的概率向量P1(X)
[0024] 8)如果PBIL算法迭代次数小于最大进化代数maxgen,转到步骤2);否则转到步骤 9);
[0025] 9)改进PBIL算法的软硬件划分方法结束。
[0026]本发明的一种基于改进PBIL算法的软硬件划分方法,将采用自适应学习因子和邻 域跳出机制的改进PBIL算法运用到解决动态软硬件划分问题。不仅能减少仿真算法在执行 时间方面的系统开销,而且能大幅度地提高设计系统的质量,高效完成嵌入式系统。在解决 软硬件划分问题的时候具有较好的性能表现和稳定性。
【附图说明】
[0027]图1是软硬件划分系统DAG图;
[0028]图2是PBIL算法的流程图。
【具体实施方式】
[0029]下面结合实施例和附图对本发明的一种基于改进PBIL算法的软硬件划分方法做 出详细说明。
[0030]本发明的一种基于改进PBIL算法的软硬件划分方法,其特征在于,包括如下步骤: [0031] 1)初始化概率向量Po (X ),设置种群规模N,将阈值Thresho Id置零,设置I3BIL算法 最大进化代数maxgen,设置阈值上限Limi t;
[0032] 2)对PBIL算法的第1代种群中N个个体4,···,4进行适应度评估,得到每个个体的 适应度f(X1),…,f(XN)和种群的平均适应度7?,并按照适应度从高到低排序种群个体
[0033] 3)如果第1代种群的平均适应度小于第1 一 1代种群的平均适应度,则Threshold累 计加 1;否则Thresho Id = O;
[0034] 4)判断如果Threshold = Limit,转到步骤9);否则转到步骤5);
[0035] 5)在N个个体中选择适应度最好的前M个个体+ .
[0036] 6)按照下式更新学习因子
[0038]其中,ao和aw分别是学习因子的基准。maxgen是算法最大的进化代数,t为进化代 数,to为进化的间隔代数。T为种群最优个体连续未得到改善的代数。mod是取模运算,[t/to] 是不大于t/to的最大整数。
[0039] 7)利用下式更新第1+1代的概率向量P1(X)
[0041] 8)如果PBIL算法迭代次数小于最大进化代数maxgen,转到步骤2);否则转到步骤 9);
[0042] 9)改进PBIL算法的软硬件划分方法结束。
[0043]下面给出具体实例:
[0044] 1、初始化概率向量Po (X) = (0.5,…,0.5),设置种群规模N=40,将阈值Thre sho I d 置零,设置PBIL算法最大进化代数maxgen = 1000,设置阈值上限Limi t = 30。
[0045] 2、用TGFF工具产生8个静态软硬件划分环境。TGFF工具的参数配置如表1所示。 [0046] 表1 TGFF工具的参数设置
[0048] 3、利用本发明的基于改进PBIL算法的软硬件划分方法分别对这8个软硬件划分问 题进行求解,为了降低随机因素的影响用改进PBIL算法对这8个软硬件划分问题求解20次, 将20次的平均系统执行时间、硬件面积开销、算法仿真时间作为衡量性能的指标。
[0049] 4、通过实验结果数据,分析改进PBIL算法在系统执行时间、硬件面积开销、算法仿 真时间方面的改进效果。
【主权项】
1. 一种基于改进PBIL算法的软硬件划分方法,其特征在于,包括如下步骤: 1) 初始化概率向量Po (X),设置种群规模N,将阔值化re sho 1 d置零,设置PBIL算法最大进 化代数maxgen,设置阔值上限Limit; 2) 对PBIL算法的第1代种群中N个个体χ?,···,4进行适应度评估,得到每个个体的适应 度f (XI),…,f(XN)和种群的平均适应度7?,并按照适应度从高到低排序种群个体 X[,…,為., 3) 如果第1代种群的平均适应度小于第1-1代种群的平均适应度,则Threshold累计加 1;否则 Hireshold二0; 4) 判断如果Threshold二Limit,转到步骤9);否则转到步骤5); 5) 在N个个体中选择适应度最好的前Μ个个体· · ·,磕^ . 6) 按照下式更新学习因子(1) 其中,曰日和aw分别是学习因子的基准。maxgen是算法最大的进化代数,t为进化代数,to 为进化的间隔代数。T为种群最优个体连续未得到改善的代数。mod是取模运算,[t/to]是不 大于t/to的最大整数。 7) 利用下式更新第1+1代的概率向量Pi(x)(2) 8) 如果PBIL算法迭代次数小于最大进化代数maxgen,转到步骤2);否则转到步骤9); 9) 改进PBIL算法的软硬件划分方法结束。
【专利摘要】一种基于改进PBIL算法的软硬件划分方法,包括:1、初始化概率向量;2、对PBIL算法的第l代种群中N个个体进行适应度评估;3、如果第l代种群的平均适应度小于第l-1代种群的平均适应度,则Threshold累计加1,否则Threshold=0;4、判断如果Threshold=Limit;5、在N个个体中选择适应度最好的前M个个体;6、更新学习因子;7、更新第l+1代的概率向量;8、如果PBIL算法迭代次数小于最大进化代数,转到2,否则转到9;9、改进PBIL算法的软硬件划分方法结束。本发明不仅能减少仿真算法在执行时间方面的系统开销,而且能大幅度地提高设计系统的质量,高效完成嵌入式系统。在解决软硬件划分问题的时候具有较好的性能表现和稳定性。
【IPC分类】G06F17/50, G06N3/00
【公开号】CN105550427
【申请号】CN201510905918
【发明人】张涛, 张彩霞, 余益科, 邱亮, 巫红英
【申请人】天津大学
【公开日】2016年5月4日
【申请日】2015年12月9日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1