一种动态软硬件划分环境的产生方法

文档序号:9769891阅读:250来源:国知局
一种动态软硬件划分环境的产生方法
【技术领域】
[0001] 本发明涉及一种嵌入式设计领域中软硬件划分方法。特别是涉及一种动态软硬件 划分环境的产生方法。
【背景技术】
[0002] 在现代社会中,存在着很多优化问题。其中有这样一些优化问题,它们抽象出来的 优化目标函数、约束条件或者系统特性参数往往会在问题求解的过程中随时发生变化,导 致问题的最优解也会随之变化。称这样一类优化问题为动态优化问题。例如视频解码、图像 处理、车间调度等问题,某时刻所要处理的任务是不确定的,系统的参数也可能会随时间的 变化而变化。解决动态优化问题最简单的方法就是采用静态优化算法直接对模型进行求 解,即在每一次优化问题变化之后对静态优化算法重新初始化,进而重新求解优化问题,得 出新环境下的最优解。但是,如果问题变化的频率过快,静态优化算法一次求解所需的时间 可能大于问题两次变化之间的时间间隔,那么静态优化算法就无法在规定的时间内完成划 分,即收敛到最优解,从而使得这种方法的划分结果效果很差,甚至可能远会远地偏离全局 最优解。
[0003] 由于动态优化问题的动态特性,大大地增加了优化问题求解的难度。为了解决这 类优化问题,必须设计一种能够自动识别动态问题结构(也称为动态环境)变化的方法。这 种方法具备能够在环境变化后有效地判断环境是否变化,并在确认环境变化后立即调整最 优解的搜索区域以以适应新的环境。这一类算法被称作动态优化算法。应用动态优化算法 解决动态优化问题在实际的生产实践中具有极其重要的指导作用,然而问题的本身具有比 较大的难度和复杂度,因此对于动态优化方法的研究就变得越来越重要。
[0004] 动态软硬件划分问题是指在解决软硬件划分问题时,系统所面对的待划分的任务 集是不确定的,优化算法必须检测任务集的结构才能确定采用什么策略进行划分以适应最 新的环境。在动态环境中,非常注重划分算法的实时性,要求划分算法有处理动态软硬件划 分的能力。因此,划分算法需要针对动态环境的特性,设计自适应算法,以满足实际系统对 性能及可靠性的要求。
[0005] 动态软硬件划分的数学模型:软硬件划分问题的模型通常用一个任务流图(Task Graph)来描述,整个任务流图是一个有向无环图(DAG图),可以用一个二元组表示:G= (V, E)。其中V= IV^V1,…,Vn}是整个系统中任务单元的集合,Vi表示第i个任务节点,E= {(Vi, Vj) I 表示两个任务节点之间的数据依赖关系或流程控制。V1称为V j的前驱节点,Vj 称为V1的后继节点,两者产生了单向的依存关系。图1为一个DAG图表示的软硬件划分系统 模型图。
[0006] 每个节点详细的属性特征描述:
[0007] Ni 一 { Tsw,Thw,Asw,Ahw Csw,Chw,Psw,Phw,Ssw,Shw,· · ·,X ( i ) }
[0008] 其中,Tsw和Thw分别表示任务节点用软件和硬件实现的任务执行时间,Asw和A hw分别 表示任务节点用软件和硬件实现时所需的硬件面积,Csw和Chw分别表示任务节点用软件和 硬件实现时的成本,Psw和Phw分别表示任务节点用软件和硬件实现时的功耗,Ssw和 Shw分别表 示任务节点用软件和硬件实现时的存储开销。x(i)表示该节点所选定的映射模式,表示任 务所选择的软硬件实现方式。边集E是任务调度需要考虑的范畴,为了简化系统描述和增强 对划分问题的针对性,在划分问题中不引入任务调度带来的对实际总执行时间的增益。因 此对调度参数E的取值考虑为理想情况下的0。根据上述对系统任务属性的定义,将软硬件 划分问题的适应度函数与约束函数定义为:
[0010] 其中
[0011] Xime(x)= 2Thw(i) Χχ(?)+ΣΤ8?(?) X (l-x(i))
[0012] Area(x) = Σ Ahw(i) X x(i) + Σ ASw(i) X(l~x(i))
[0013] Cost(x) = 2Chw(i)Xx(i)+2CSw(i) X(l~x(i))
[0014] Power(x) = 2Phw(i) X x(i) + 2Psw(i) X(l~x(i))
[0015] Storage(x) = ZShw(i)Xx(i)+ZSSw(i) X(l-x(i))
[0016] 在动态软硬件划分问题中,可以描述为如下数学模型。
[0018] 在动态软硬件划分问题中,根据问题的特点,上面所描述的动态变化方式可以描 述为:
[0019] 1、适应度函数的动态变化问题
[0020] 适应度函数的动态变化表现为各任务节点的属性受到了输入数据流的影响而发 生动态变化,通常是代表执行时间的Tsw和T hw参数在系统运行的时候发生不规则的变化,导 致适应度值的变化。也表现在不同环境中的适应度评估方式的不同。
[0021] 2、约束条件动态变化问题
[0022] 约束条件的动态变化表现为在系统运行的时候,会根据当前的运行状态和可用的 软硬件资源,实时改变系统的性能约束,反应在数学模型中的性能限制值发生了变化。 [0023] 3、任务节点的动态变化问题
[0024]任务节点动态变化表现为多种软硬件实现方式下,由于实际使用软硬件资源限制 的情况,需要动态分配任务以新实现方式,以提高系统效率,往往任务实现的方式会发生变 化。
[0025] 4、任务节点之间的结构动态变化问题
[0026] 任务节点控制流动态变化表现为任务之间的相互依赖关系发生变化,导致问题的 整体的结构发生变化,使得软硬件划分方法重新计算其性能参数。

【发明内容】

[0027] 本发明所要解决的技术问题是,提供一种随机性和可控性相结合的动态软硬件划 分环境的产生方法。
[0028] 本发明所采用的技术方案是:一种动态软硬件划分环境的产生方法,包括如下步 骤:
[0029] 1)判断随机环境变化标志位,如果随机环境变化标志位为1,产生随机的动态环境 变化,转到步骤2);如果随机环境变化标志位为0,产生可控的动态环境变化,转到步骤3);
[0030] 2)利用随机函数产生随机整数,将编号为随机整数的DAG图代表的待划分任务集 的相关特征参数作为头文件包含到软硬件划分问题中,转到步骤7);
[0031 ] 3)在进化算法第一代生成全零标志向量F (1) = (0,0,···,0);
[0032] 4)对于每个环境变化周期k=[t/i],随机生成向量E(k)e(0,l)1,其中,t是进化 算法中的进化代数,1为染色体长度,用r表示对应位置上1的取值概率;
[0033] 5)用随机向量E(k)按照下式生成标志向量F(k),
[0034] F(k)=E(k) ?F(k-l) (I)
[0035] 其中,θ为异或操作,g卩,如果向量E(k)第i位上的分量E(x)(i)为1,就将对应位置 上的F(x)(i)取反;如果向量E(k)第i位上的分量E(x)(i)为0,就将对应位置上的F(x)(i)保 持不变;
[0036] 6)对于第k个周期,标志向量F (k)的第i位F (k) (i) = 0表示第i个节点不需要改变;
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1