[发明专利]基于多核处理器和FPGA的软硬件混合实时任务调度方法有效
申请号: | 201310460364.3 | 申请日: | 2013-09-26 |
公开(公告)号: | CN103488531A | 公开(公告)日: | 2014-01-01 |
发明(设计)人: | 殷进勇;袁丽;曾玮妮;宋汉广;吴亮;徐振朋 | 申请(专利权)人: | 中国船舶重工集团公司第七一六研究所 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/50 |
代理公司: | 南京理工大学专利中心 32203 | 代理人: | 马鲁晋 |
地址: | 222006 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 多核 处理器 fpga 软硬件 混合 实时 任务 调度 方法 | ||
技术领域
本发明涉及一种实时任务调度方法,特别是一种基于多核处理器和FPGA的周期性软/硬件混合实时周期任务调度方法。
技术背景
由于FPGA具有可多次重新配置逻辑单元的功能和互连的特性,使系统兼具灵活性、高性能、高可靠、低能耗、低成本、易于升级等多种优良特性,因此基于通用处理器和FPGA的可重构计算填补了软硬件之间的鸿沟,它不仅保持了硬件的高性能,同时还具有接近于软件的灵活性。如何在基于多核处理器和FPGA的异构平台上调度软/硬件混合实时任务已成为一个研究热点,也是一个噬待解决的问题。
文献《Online scheduling and placement of real-time tasks to partially reconfigurable devices》提出了一种硬件实时任务的调度和放置方法,但是它是针对硬件任务单一任务类型提出的,文献《采用预配置策略的可重构混合任务调度算法》提出了软/硬件混合任务调度算法,算法采用预配置策略,降低了配置时间对任务执行的影响,但没有考虑任务的实时性。
殷进勇在其博士论文《可重构系统中实时任务调度算法研究》和《一种面向部分可重构FPGA的混合实时任务调度算法》中对软/硬件混合实时的调度进行了探讨,文中用一个有向无环图表示软件任务和硬件任务之间的约束关系,软件任务和硬件任务均为强实时任务,没有考虑硬件任务的配置时间对实时任务的影响,仅在理论上给出了软/硬件混合实时任务可调度性判定方法和任务调度算法。
发明内容
本发明的目的在于提供一种基于多核处理器和FPGA的软硬件混合实时任务调度方法。
实现本发明目的的技术方案为:一种基于多核处理器和FPGA的软硬件混合实时任务调度方法,包括以下步骤:
步骤1、根据处理器核心数m,把实时任务集T={T1,T2,…,Tn}分成m组,使得每组的任务负载趋于平衡,其中和Pi分别表示任务Ti的软件任务执行时间,硬件任务执行时间和相对截止期限;把实时任务集T={T1,T2,…,Tn}分成m组,m为处理器核心数,具体包括以下步骤:
步骤1-1、把任务集T={T1,T2,…,Tn}的实时任务按照硬件任务的最大宽度从大到小的顺序排列;
步骤1-2、用G1,G2,…,Gm表示m个任务分组,初始值G1=G2=…=Gm=φ,用U1,U2,…,Um表示任务分组G1,G2,…,Gm已分配的任务负载,初始值U1=U2=…=Um=0;
步骤1-3、从任务集T中取出硬件任务宽度最大的实时任务Ti分配给负载Ui最小的任务分组Gi,修改变量T=T-{Ti},Gi=Gi+{Ti},其中和和Pi分别表示实时任务Tj的硬件部分执行时间、软件部分执行时间和周期;
步骤1-4、判断实时任务是否分配完毕,如果实时任务集分配没有分配完毕,即T≠φ,则转返回步骤1-3,否则任务分组结束。
步骤2、判定步骤1中划分的每组实时任务的可调度性,如果每组实时任务均可调度,则任务集T可调度,否则不可调度;
判定每组实时任务的可调度性,具体方法为:将每组实时任务按照截止期限从小到大的顺序排列,如果每组都满足以下不等式,则实时任务集T可调度:
其中l表示分组中的实时任务个数,表示相对截止期限大于等于任务Tk的实时任务的硬件任务最长执行时间,和分别表示实时任务Tj的硬件部分执行时间和软件部分执行时间,t表示时间。
步骤3、根据实时任务相对截止期限以及执行时所在的处理器核心是否是分配的处理器核心,动态地设置任务的优先级;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国船舶重工集团公司第七一六研究所,未经中国船舶重工集团公司第七一六研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310460364.3/2.html,转载请声明来源钻瓜专利网。