[发明专利]基于多FPGA的动态可重配置的多任务调度和放置方法有效
申请号: | 201910526553.3 | 申请日: | 2019-06-18 |
公开(公告)号: | CN110231986B | 公开(公告)日: | 2021-03-02 |
发明(设计)人: | 张海涛;孙滋唱;张泽晗;马华东 | 申请(专利权)人: | 北京邮电大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06F15/78 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 丁芸;马敬 |
地址: | 100876 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 fpga 动态 配置 任务 调度 放置 方法 | ||
1.一种基于多FPGA的动态可重配置的多任务调度和放置方法,其特征在于,包括:
获取待处理任务和各FPGA的子任务集的信息,所述待处理任务包含多个子任务,所述FPGA的子任务集包括FPGA等待队列中的子任务、FPGA就绪队列中的子任务和FPGA已完成配置的子任务;
分析所述待处理任务的特征与各所述FPGA的子任务集的信息,分别得到所述待处理任务和各所述FPGA子任务集的任务类型相似度,分别得到所述待处理任务和各所述FPGA子任务集的资源需求相似度;
根据所述任务类型相似度和所述资源需求相似度,确定为所述待处理任务分配的目标FPGA;
根据所述待处理任务的子任务间的依赖关系,将所述待处理任务的子任务调度到与所述目标FPGA相对应的等待对列和就绪队列中;
根据所述就绪队列中子任务的特征和所述目标FPGA已完成配置的子任务的信息,计算得到所述就绪队列中子任务的调度顺序和在所述目标FPGA可重配置区域的放置位置;
根据所述调度顺序将所述就绪队列中子任务调度到所述目标FPGA的执行队列;
从预设位流库加载所述就绪队列中子任务对应的位流文件并将所述位流文件配置到所述放置位置;
所述分析所述待处理任务的特征与各所述FPGA的子任务集的信息,分别得到所述待处理任务和各所述FPGA子任务集的任务类型相似度,分别得到所述待处理任务和各所述FPGA子任务集的资源需求相似度,包括:
根据如下公式,计算所述任务类型相似度;
式中Vi为第i个待处理任务工作流程图的顶点集,M(i)为第i个待处理任务到FPGA的映射,SK(M(i))为所述任务类型相似度,Sk为第k个FPGA的子任务集;
根据如下公式,计算所述资源需求相似度:
其中
式中R(M(i))为所述资源需求相似度,p为所述第i个待处理任务工作流程图的顶点集Vi中与所述第k个FPGA的子任务集Sk不同类型子任务的个数,q为所述第k个FPGA的子任务集Sk中与所述第i个待处理任务工作流程图的顶点集Vi不同类型子任务的个数,Cos(θ)uv为所述Vi中第u个子任务和所述Sk中第v个子任务的资源需求相似度,R·u为所述Vi中第u个子任务的资源需求向量,R·v为所述Sk中第v个子任务的资源需求向量;
所述根据所述任务类型相似度和所述资源需求相似度,确定为所述待处理任务分配的目标FPGA包括:
确定目标FPGA的目标函数为:
式中为目标函数值,λ为所述任务类型相似度权重,μ为所述资源需求相似度权重,且遵循λ+μ=1;
当最大时,所述M(i)所对应的FPGA即为所述目标FPGA;
所述根据所述就绪队列中子任务的特征和所述目标FPGA已完成配置的子任务的信息,计算得到所述就绪队列中子任务的调度顺序和在所述目标FPGA可重配置区域的放置位置,包括:
基于遗传算法计算得到所述就绪队列中子任务调度顺序的信息素分布,所述信息素分布为双向收敛蚁群优化算法的初始信息素分布;
基于所述双向收敛蚁群优化算法计算得到所述就绪队列中子任务的调度顺序;
基于最大空闲矩形3D放置法计算得到的所述就绪队列中子任务的放置位置和计算时间;
根据所述计算时间评估遗传算法和双向收敛蚁群优化算法适应度,通过所述遗传算法和所述双向收敛蚁群优化算法迭代更新,计算得到最优的所述调度顺序和最优的所述放置位置。
2.根据权利要求1所述的方法,其特征在于,所述子任务的特征包括:子任务类型、子任务所需硬件资源的数量、子任务需要配置的FPGA可重配置区域的参数、子任务执行时间、子任务对应位流文件的大小。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910526553.3/1.html,转载请声明来源钻瓜专利网。