[发明专利]一种结合任务调度的软硬件划分方法在审
申请号: | 201710115285.7 | 申请日: | 2017-02-28 |
公开(公告)号: | CN106970840A | 公开(公告)日: | 2017-07-21 |
发明(设计)人: | 张涛;安鑫祺;赵鑫;李璇 | 申请(专利权)人: | 天津大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/48 |
代理公司: | 天津市北洋有限责任专利代理事务所12201 | 代理人: | 杜文茹 |
地址: | 300072*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 结合 任务 调度 软硬件 划分 方法 | ||
技术领域
本发明涉及一种软硬件划分方法。特别是涉及一种用于需要考虑不同处理单元执行先后顺序的复杂嵌入式系统的结合任务调度的软硬件划分方法。
背景技术
软硬件划分问题可以用一个二元组G=<V,E>表示。其中V={V0,V1,…,Vn}是整个系统任务单元的集合,Vi表示第i个任务节点,E={(Vi,Vj)|Vi,Vj∈V}表示Vi与Vj两个任务节点之间的数据依赖关系。每个节点Vi的属性如式(1)所示:
Vi=<Vtype,Ts,Th,C(j),Ah,Ps,Ph…>(1)
Vtype代表节点Vi的实现方式。Vtype={sw,hw}代表节点有软件和硬件两种实现方式,Ts和Th分别代表软件和硬件的执行时间。C(j)表示当节点Vi和Vj实现方式不同时的通信耗时。Ah表示硬件面积。Ps和Ph分别表示软件和硬件的功耗成本。优化目标通常是总任务的实际执行时间T(V),TE(Vi)表示调度后每个任务节点Vi的完成时间。其数学模型如式(2)所示:
软硬件划分技术中的关键是对划分算法的选取。通常情况下,用于软硬件划分的算法包括混洗蛙跳算法(Shuffled Frog Leap Algorithm,SFLA),禁忌搜索算法(Tabu Search,TS),人工蜂群算法(Artificial Bee Colony,ABC),蚁群算法(Ant Colony Optimization,ACO),粒子群算法(Particle Swarm Optimization,PSO),动态规划算法(Dynamic Programming,DP)等。不同的划分算法会对划分方案的好坏产生较大的影响。
由于不同处理单元之间存在并行性,并且处理单元会受到数量及类型的限制,因此当通过某一软硬件划分方案给任务分配好处理单元之后,不同的任务需要却定其在处理单元上执行的先后顺序。任务的执行顺序不同,完成所有任务所需总耗时便会有差别,即整个任务集的实际执行时间会有所不同。确定任务的在处理器上的执行顺序即为任务调度。
传统的软硬件划分技术通常把软硬件划分过程与任务调度分开考虑,这样就会影响划分方案的实用性与准确性。
发明内容
本发明所要解决的技术问题是,提供一种在软硬件划分的过程中引入任务调度,能够有效增加划分方案实用性与精确性的结合任务调度的软硬件划分方法。
本发明所采用的技术方案是:一种结合任务调度的软硬件划分方法,包括如下步骤:
1)选择群体智能优化算法中的一种算法用于软硬件划分,设置软硬件划分算法的参数,包括算法的最大迭代次数、算法终止条件、算法约束条件以及每一代解的规模,并将任务调度后的执行时间作为寻优目标;
2)算法随机生成一组符合约束条件的解作为初始解,其中,每个解对应一种软硬件划分方案;
3)用任务调度算法对每个解进行任务调度,计算调度后每个解所对应的任务实际执行时间,通过这一时间的多少来评估解的质量;
4)根据每个解所对应的任务实际执行时间,按照所选择的用于软硬件划分算法中的更新规则对每个解进行迭代更新,获得一组新的解;
5)对获得的一组新的解中的每个解进行任务调度,计算调度后每个解所对应的任务实际执行时间,如果新的解符合约束条件并且优于对应的原始解,则用新的解代替对应的原始解,否则保留对应的原始解或随机生成符合约束条件的解;
6)找出最优解,并记录最优解以及所述最优解对应的任务实际执行时间;
7)一次更新迭代完成,判断是否达到算法的最大迭代次数或者算法终止条件,若是,则进行步骤8),若否,则返回步骤4);
8)输出当前记录的最优解。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津大学,未经天津大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710115285.7/2.html,转载请声明来源钻瓜专利网。