CN103488531B - 一种基于多核处理器和fpga的软硬件混合实时任务调度方法 - Google Patents

一种基于多核处理器和fpga的软硬件混合实时任务调度方法 Download PDF

Info

Publication number
CN103488531B
CN103488531B CN201310460364.3A CN201310460364A CN103488531B CN 103488531 B CN103488531 B CN 103488531B CN 201310460364 A CN201310460364 A CN 201310460364A CN 103488531 B CN103488531 B CN 103488531B
Authority
CN
China
Prior art keywords
task
real
time
hardware
core
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310460364.3A
Other languages
English (en)
Other versions
CN103488531A (zh
Inventor
殷进勇
袁丽
曾玮妮
宋汉广
吴亮
徐振朋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
716th Research Institute of CSIC
Original Assignee
716th Research Institute of CSIC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 716th Research Institute of CSIC filed Critical 716th Research Institute of CSIC
Priority to CN201310460364.3A priority Critical patent/CN103488531B/zh
Publication of CN103488531A publication Critical patent/CN103488531A/zh
Application granted granted Critical
Publication of CN103488531B publication Critical patent/CN103488531B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种基于多核处理器和FPGA异构平台的软/硬件混合实时任务调度方法,该方法把实时任务的软件部分和硬件部分划分为强实时任务和弱实时任务,软件部分必须在截止期限内完成,给出尚可接受的计算结果,而硬件部分对软件部分的计算结果进一步优化,给出更加令人满意的计算结果。该调度方法包含如下步骤:(1)根据处理器核心数m,把实时任务分成m组;(2)判定每组实时任务的可调度性;(3)动态设置实时任务软件部分的优先级;(4)调度实时任务软件部分;(5)调度实时任务硬件部分。本发明将实时任务分为强实时和弱实时两部分,该方法不仅能使实时任务满足时间限制条件,而且还能提供更加满意的计算结果。

Description

一种基于多核处理器和FPGA的软硬件混合实时任务调度方法
技术领域
本发明涉及一种实时任务调度方法,特别是一种基于多核处理器和FPGA的周期性软/硬件混合实时周期任务调度方法。
技术背景
由于FPGA具有可多次重新配置逻辑单元的功能和互连的特性,使系统兼具灵活性、高性能、高可靠、低能耗、低成本、易于升级等多种优良特性,因此基于通用处理器和FPGA的可重构计算填补了软硬件之间的鸿沟,它不仅保持了硬件的高性能,同时还具有接近于软件的灵活性。如何在基于多核处理器和FPGA的异构平台上调度软/硬件混合实时任务已成为一个研究热点,也是一个噬待解决的问题。
文献《Online scheduling and placement of real-time tasks to partially reconfigurabledevices》提出了一种硬件实时任务的调度和放置方法,但是它是针对硬件任务单一任务类型提出的,文献《采用预配置策略的可重构混合任务调度算法》提出了软/硬件混合任务调度算法,算法采用预配置策略,降低了配置时间对任务执行的影响,但没有考虑任务的实时性。
殷进勇在其博士论文《可重构系统中实时任务调度算法研究》和《一种面向部分可重构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可调度:
m a x 1 ≤ l ≤ n m i n 0 ≤ t ≤ D k { 1 t [ C m a x k + Σ j = 1 k [ t P j ] ( C j H + C j S ) ] } ≤ 1
其中l表示分组中的实时任务个数,表示相对截止期限大于等于任务Tk的实时任务的硬件任务最长执行时间,分别表示实时任务Tj的硬件部分执行时间和软件部分执行时间,t表示时间。
步骤3、根据实时任务相对截止期限以及执行时所在的处理器核心是否是分配的处理器核心,动态地设置任务的优先级;
动态地设置任务的优先级具体为:任务的优先级与任务的截止期限、处理器核心编号相关,用符号CoreID表示处理器核心编号,用Corei表示任务Ti分配的处理器核心编号,用Corej表示任务Tj分配的处理器核心编号,设置方法如下:
如果Corei=CoreID并且Corej≠CoreID,则任务Ti的优先级高于任务Tj的优先级高级;
如果Corei≠CoreID并且Corej=CoreID,则任务Ti的优先级低于任务Tj的优先级高级;
如果Corei=CoreID并且Corej=CoreID或Corei≠CoreID并且Corej≠CoreID,则比较任务Ti的与任务Tj的相对截止期限,如果任务Ti的相对截止期限小于/等于/大于任务Tj的相对截止期限;则任务Ti的优先级高于/等于/低于任务Tj的优先级高级。
步骤4、按照动态设置的任务优先级调度实时任务软件部分;按照动态设置的任务优先级调度实时任务软件部分具体为:将每个实时任务按照任务优先级同时插入到m个就绪队列中,在每个就绪队列上按照DM算法调度实时任务的软件部分。
步骤5、按照非抢占式DM算法调度实时任务硬件部分;
步骤6、按照硬件任务预配置序列预配置硬件任务。按照硬件任务预配置序列预配置硬件任务具体为:在一个公共周期内静态地确定每组硬件任务的执行顺序,按照硬件任务的执行顺序配置下一个将要执行的硬件任务,当两个相邻的任务是同一个硬件任务时则缓存该任务的配置。
与现有技术相比,本发明的显著优点为:(1)把软/硬件混合实时任务的软件部分和硬件部分划分为强实时任务和弱实时任务,提高了系统的灵活性和计算效率;(2)能够调度软/硬件混合实时任务,保证软件部分满足任务的截止期限,同时减少了硬件部分的响应时间;(3)采用硬件任务预配置策略,降低了硬件任务配置时间对系统性能的影响,提高了系统的计算性能。
附图说明
图1为软/硬件混合实时任务调s度流程图。
图2为软/硬件混合实时任务结构图。
图3为可重构硬件平台示意图。
图4为实时任务就绪队列示意图。
图5为硬件任务配置序列示意图(两个周期任务,周期分别为20和30)。
具体实施方式
为便于说明,本文用T={T1,T2,…,Tn}表示一组软/硬件混合实时周期任务集合,每个任务Ti∈T可用一个5元组来表示,Di,Pi和Corei分别表示任务Ti的硬件任务执行时间,软件任务执行时间,相对截止期限,任务周期和分配的处理器核心编号并且Di≤Pi。软/硬件实时任务的结构如图2所示。
本发明提供一种软/硬件混合调任务的调度方法,调度流程如图1所示,目的是解决软/硬件混合实时任务的调度问题,保证实时任务的强实时部分满足任务的截止期限,同时减少任务的弱实时部分的响应时间。
本发明所采取的具体方案为:将一片多核处理器和一(多)片FPGA通过高速总线(PCIe)互连,在FPGAs内划分为多个用户逻辑区(slot),硬件任务可通过总线接口动态地配置到用户逻辑区执行,系统架构如图3所示。根据多核处理器的核心数m,将实时任务分成m组,每组的软件任务共享一个处理器核心,每组的硬件任务分配到一个FPGA上的用户逻辑区。该调度方法首先离线完成实时任务分组和实时任务的可调度性判定,其次在线完成软件任务调度、硬件任务调度以及硬件任务的配置,具体步骤描述如下:
1.实时任务分组
根据处理器核心数m,把实时任务集T={T1,T2,…,Tn}的分成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},
1.4:如果实时任务集T≠φ,则转1.3,否则任务分组结束。
2.判定实时任务的可调度性
每组实时任务按照截止期限从小到大的顺序排列,如果每组都满足以下不等式,则实时任务集T可调度:
m a x 1 ≤ l ≤ n m i n 0 ≤ t ≤ D k { 1 t [ C m a x k + Σ j = 1 k [ t P j ] ( C j H + C j S ) ] } ≤ 1
其中l表示分组中的实时任务个数,表示相对截止期限大于等于任务Tk的实时任务的硬件任务最长执行时间,分别表示实时任务Tj的硬件部分执行时间和软件部分执行时间,t表示时间,Pj表示任务Tj的周期。
3.设置实时任务软件部分优先级
实时任务的优先级与任务的相对截止期限、执行时所在的处理器核心相关,在实时任务执行过程中动态地变化。CoreID和Corei,Corej分别表示处理器核心编号、任务Ti与分配的处理器核心编号和任务Tj与分配的处理器核心编号,任务Ti与任务Tj的优先级高级判断方法如下:
如果Corei=CoreID并且Corej≠CoreID,则任务Ti的优先级高于任务Tj的优先级高级;
如果Corei≠CoreID并且Corej=CoreID,则任务Ti的优先级低于任务Tj的优先级高级;
如果Corei=CoreID并且Corej=CoreID或Corei≠CoreID并且Corej≠CoreID,则比较任务Ti的与任务Tj的相对截止期限,如果任务Ti的相对截止期限小于/等于/大于任务Tj的相对截止期限;则任务Ti的优先级高于/等于/低于任务Tj的优先级高级;
4.调度实时任务软件部分
设置m个任务就绪队列与处理器核心一一对应,每队的就绪任务按照任务优先级从高到低的顺序排列,对头任务的优先级最高,队尾任务的优先级最低,任务就绪队列如图4所示。每个就绪的实时任务按照优先级的顺序插入到m个任务就绪队列中,调度算法总是调度执行对头的实时任务,当有高优先级任务就绪时,高优先级任务可抢占优先级任务执行。
5.调度实时任务硬件部分
每组硬件任务按照DM算法设置任务的优先级,即实时任务的相对截止期限越大,优先级越低,按照任务优先级调度硬件任务。
硬件任务的执行方式与软件任务不同,高优先级任务不能抢占低优先级任务执行,必须等到硬件任务执行完毕才能执行其他任务。由于每组硬件任务的宽度不一样,每组硬件任务只能在分配的用户区域内执行,不能在其他区域内执行。
6.预配置硬件任务
采用硬件任务预配置策略,即尽可能早地配置硬件任务,当该硬件任务被调度执行时,它已在FPGA上配置完毕,以减少硬件任务配置时间对系统性能的影响。
对于每组硬件任务,采用模拟的方法在一个公共周期内(本分组内实时任务周期的最小公倍数)确定实时任务的配置顺序,硬件任务配置序列如图5所示,按照此顺序配置本组内的硬件任务。
下面结合附图对本发明作进一步详细描述。本发明一种基于多核处理器和FPGA的软硬件混合实时任务调度方法分为静态和动态两部分:静态部分完成实时任务分组、实时任务可调度性判定以及可重构资源分配,静态部分在系统运行前离线实施,实施结果系统运行时不再改变;动态部分完成实时任务的软件部分和硬件部分的调度以及硬件任务的配置/预配置。具体实施包括如下步骤:
1.实时任务分组
根据处理器核心数m,把实时任务集T={T1,T2,…,Tn}的分成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.判定实时任务的可调度性
2.1 对步骤1产生的任务分组Gi(1≤i≤m)中的任务按照截止期限从小到大的顺序排列;
2.2 对任意Tk∈Gi作如下操作:
分别用表示任务T1,…,Tk-1在时间段[0,Dk]到达时间;
令A={a1,a2,…,ap}=A1∪,…,∪Ak-1,并按照任务到达时间从小到大顺序排列;
如果存在ai∈A,满足不等式则任务分组Gi可调度,否则不可调度;其中表示相对截止期限大于等于任务Tk的实时任务的硬件任务最长执行时间,分别表示实时任务Tj的硬件部分执行时间和软件部分执行时间。
2.3 如果每个实时任务分组Gi(1≤i≤m)均可调度,则实时任务集T可调度,否则实时任务集T不可调度。
3.设置实时任务软件部分优先级
设置m个软件任务就绪队列,用数组SRdyQueue[m]表示m个就绪队列的队头,就绪队列中的任务按照任务优先级从高到低的顺序排列;当实时任务Ti到达时,依次从对头比较任务的优先级,按照任务优先级的顺序插入到m个就绪队列中,用符号CoreID表示处理器核心编号,任务Ti与任务Tj的优先级高级比较方法如下:
如果Corei=CoreID并且Corej≠CoreID,则任务Ti的优先级高于任务Tj的优先级高级;
如果Corei≠CoreID并且Corej=CoreID,则任务Ti的优先级低于任务Tj的优先级高级;
如果Corei=CoreID并且Corej=CoreID或Corei≠CoreID并且Corej≠CoreID,则比较任务Ti的与任务Tj的相对截止期限,如果任务Ti的相对截止期限小于/等于/大于任务Tj的相对截止期限;则任务Ti的优先级高于/等于/低于任务Tj的优先级高级;
4.调度实时任务软件部分
用数组SRunTask[m]表示正在运行的任务,当实时任务就绪或实时任务执行完毕时或其他需要调度时,启动一次调度过程,调度过程如下:
4.1对于1≤i≤m,如果SRunTask[i]不为空值,则按照上述的任务优先级比较方法比较SRdyQueue[i]与SRunTask[i]的任务优先级,如果SRdyQueue[i]的优先级高于SRunTask[i]的优先级,则把SRunTask[i]按任务优先级顺序插入到队列SRdyQueue[i]中,SRunTask[i]=SRdyQueue[i],删除SRdyQueue[i];
4.2对于1≤i≤m,如果SRunTask[i]为空值,则SRunTask[i]=SRdyQueue[j],删除SRdyQueue[j];
5.调度实时任务硬件部分
设置m个硬件任务就绪队列,用数组HRdyQueue[m]表示m个就绪队列的队头,就绪队列中的任务按照任务优先级从高到低的顺序排列;用数组HCfgTask[m]表示已配置的硬件任务;用数组HRunTask[m]表示正在运行的任务。
当实时任务就绪或启动硬件任务时,启动一次调度过程,以任务分组Gi为例,调度过程如下:
5.1 Gi中实时任务Tk就绪时的调度过程如下:
将Tk按照任务优先级顺序插入到HRdyQueue[i]队列中;
如果没有预配置的硬件任务即HCfgTask[i]=NULL,则配置硬件任务HRdyQueue[i],HCfgTask[i]=HRdyQueue[i],删除HRdyQueue[i];
如果已预配置硬件任务但尚未执行即HCfgTask[i]≠NULL,HRunTask[i]=NULL,则比较任务HRdyQueue[i]与HCfgTask[i]的任务优先级,如果HRdyQueue[i]的任务优先级高于HCfgTask[i]的任务优先级,则配置硬件任务HRdyQueue[i],把HCfgTask[i]按照任务优先级顺序插入到HRdyQueue[i]队列中,HCfgTask[i]=HRdyQueue[i],删除HRdyQueue[i];
5.2 Gi中的实时任务Tk启动时的调度过程如下:
如果没有预配置的硬件任务即HCfgTask[i]=NULL,则配置硬件任务Tk,启动硬件任务Tk,从就绪队列HRdyQueue[i]中删除任务Tk,修改变量HRunTask[i]=Tk,HCfgTask[i]=Tk
如果已预配置硬件任务即HCfgTask[i]≠NULL,且预配置的硬件任务就是任务则Tk,则启动硬件任务Tk,修改变量HRunTask[i]=Tk
如果已预配置硬件任务即HCfgTask[i]≠NULL,但预配置的硬件任务不是任务则Tk,则判定预配置的任务是否开始执行,如果未执行则将任务HCfgTask[i]按照任务优先级顺序插入到HRdyQueue[i]队列中,配置硬件任务Tk,启动硬件任务Tk,从就绪队列HRdyQueue[i]中删除任务Tk,修改变量HRunTask[i]=Tk,HCfgTask[i]=Tk
6.预配置硬件任务
设置m个硬件任务队列用于存储每组硬件任务在一个公共周期内的任务实例,并按照任务的就绪时间从小到大的顺序排列,形成m个循环队列;用数组HQueue[m]指向m个即将配置的硬件任务。
在第i组的硬件任务J执行结束时,配置同一个队列中的下一个任务,硬件任务预配置过程如下:
如果任务J的下一个任务与J属于同一个任务,则HRunTask[i]=NULL,否则配置任务J的下一个任务,HRunTask[i]=NULL。
由上可知,本发明的方法能够调度软/硬件混合实时任务,保证软件部分满足任务的截止期限,同时减少了硬件部分的响应时间;本发明的方法采用硬件任务预配置策略,降低了硬件任务配置时间对系统性能的影响,提高了系统的计算性能。

Claims (6)

1.一种基于多核处理器和FPGA的软硬件混合实时任务调度方法,其特征在于,包括以下步骤:
步骤1、根据处理器核心数m,把实时任务集T={T1,T2,…,Tn}分成m组,使得每组的任务负载趋于平衡,其中和Pi分别表示任务Ti的硬件任务执行时间、软件任务执行时间和相对截止期限;
步骤2、判定步骤1中划分的每组实时任务的可调度性,如果每组实时任务均可调度,则任务集T可调度,否则不可调度;
步骤3、根据实时任务相对截止期限以及执行时所在的处理器核心是否是分配的处理器核心,动态地设置任务的优先级;
步骤4、按照动态设置的任务优先级调度实时任务软件部分;
步骤5、按照非抢占式DM算法调度实时任务硬件部分;
步骤6、按照硬件任务预配置序列预配置硬件任务。
2.根据权利要求1所述的基于多核处理器和FPGA的软硬件混合实时任务调度方法,其特征在于,步骤1把实时任务集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,否则任务分组结束。
3.根据权利要求1所述的基于多核处理器和FPGA的软硬件混合实时任务调度方法,其特征在于,步骤2判定每组实时任务的可调度性,具体方法为:将每组实时任务按照截止期限从小到大的顺序排列,如果每组都满足以下不等式,则实时任务集T可调度:
m a x 1 ≤ l ≤ n m i n 0 ≤ t ≤ D k { 1 t [ C m a x k + Σ j = 1 k [ t P j ] ( C j H + C j S ) ] } ≤ 1
其中l表示分组中的实时任务个数,表示相对截止期限大于等于任务Tk的实时任务的硬件任务最长执行时间,分别表示实时任务Tj的硬件部分执行时间和软件部分执行时间,t表示时间。
4.根据权利要求1所述的基于多核处理器和FPGA的软硬件混合实时任务调度方法,其特征在于,步骤3动态地设置任务的优先级具体为:任务的优先级与任务的截止期限、处理器核心编号相关,用符号CoreID表示处理器核心编号,用Corei表示任务Ti分配的处理器核心编号,用Corej表示任务Tj分配的处理器核心编号,设置方法如下:
如果Corei=CoreID并且Corej≠CoreID,则任务Ti的优先级高于任务Tj的优先级高级;
如果Corei≠CoreID并且Corej=CoreID,则任务Ti的优先级低于任务Tj的优先级高级;
如果Corei=CoreID并且Corej=CoreID或Corei≠CoreID并且Corej≠CoreID,则比较任务Ti的与任务Tj的相对截止期限,如果任务Ti的相对截止期限小于/等于/大于任务Tj的相对截止期限;则任务Ti的优先级高于/等于/低于任务Tj的优先级高级。
5.根据权利要求1所述的基于多核处理器和FPGA的软硬件混合实时任务调度方法,其特征在于,步骤4按照动态设置的任务优先级调度实时任务软件部分具体为:将每个实时任务按照任务优先级同时插入到m个就绪队列中,在每个就绪队列上按照DM算法调度实时任务的软件部分。
6.根据权利要求1所述的基于多核处理器和FPGA的软硬件混合实时任务调度方法,其特征在于,步骤6按照硬件任务预配置序列预配置硬件任务具体为:在一个公共周期内静态地确定每组硬件任务的执行顺序,按照硬件任务的执行顺序配置下一个将要执行的硬件任务,当两个相邻的任务是同一个硬件任务时则缓存该任务的配置。
CN201310460364.3A 2013-09-26 2013-09-26 一种基于多核处理器和fpga的软硬件混合实时任务调度方法 Active CN103488531B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310460364.3A CN103488531B (zh) 2013-09-26 2013-09-26 一种基于多核处理器和fpga的软硬件混合实时任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310460364.3A CN103488531B (zh) 2013-09-26 2013-09-26 一种基于多核处理器和fpga的软硬件混合实时任务调度方法

Publications (2)

Publication Number Publication Date
CN103488531A CN103488531A (zh) 2014-01-01
CN103488531B true CN103488531B (zh) 2016-08-17

Family

ID=49828787

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310460364.3A Active CN103488531B (zh) 2013-09-26 2013-09-26 一种基于多核处理器和fpga的软硬件混合实时任务调度方法

Country Status (1)

Country Link
CN (1) CN103488531B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103885826B (zh) * 2014-03-11 2017-04-12 武汉科技大学 一种多核嵌入式系统实时任务调度实现方法
CN105900064B (zh) 2014-11-19 2019-05-03 华为技术有限公司 调度数据流任务的方法和装置
CN107729136B (zh) * 2016-08-12 2021-03-26 腾讯科技(深圳)有限公司 一种基于fpga的处理优先级配置方法及装置
CN109412897B (zh) * 2018-11-15 2021-12-21 清能华控科技有限公司 基于多核处理器及fpga的共享mac实现系统及方法
CN109582465A (zh) * 2018-12-04 2019-04-05 中国航空工业集团公司西安航空计算技术研究所 一种多核操作系统核心配置方法
CN111752700B (zh) * 2019-03-27 2023-08-25 杭州海康威视数字技术股份有限公司 一种处理器上的硬件选择方法和装置
CN111880933B (zh) * 2020-07-27 2023-09-22 北京神舟航天软件技术有限公司 一种基于异构计算平台的可重构硬件任务动态分配方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6242944B1 (en) * 1998-04-01 2001-06-05 California Institute Of Technology Real-time reconfigurable vision computing system
CN101727423A (zh) * 2008-10-17 2010-06-09 东北大学 可重配置fpga上可抢占硬件多任务系统及其实现方法
CN102067091A (zh) * 2008-06-17 2011-05-18 Nxp股份有限公司 具有混合软硬件控制的高速缓存管理的多处理器系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7908259B2 (en) * 2006-08-25 2011-03-15 Teradata Us, Inc. Hardware accelerated reconfigurable processor for accelerating database operations and queries

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6242944B1 (en) * 1998-04-01 2001-06-05 California Institute Of Technology Real-time reconfigurable vision computing system
CN102067091A (zh) * 2008-06-17 2011-05-18 Nxp股份有限公司 具有混合软硬件控制的高速缓存管理的多处理器系统
CN101727423A (zh) * 2008-10-17 2010-06-09 东北大学 可重配置fpga上可抢占硬件多任务系统及其实现方法

Also Published As

Publication number Publication date
CN103488531A (zh) 2014-01-01

Similar Documents

Publication Publication Date Title
CN103488531B (zh) 一种基于多核处理器和fpga的软硬件混合实时任务调度方法
CN101237469B (zh) 运用蚁群算法优化多QoS网格工作流的方法
CN100576177C (zh) 基于QoS约束的双向分级网格资源调度方法
Xie et al. Mixed real-time scheduling of multiple dags-based applications on heterogeneous multi-core processors
CN111026519B (zh) 基于分布式的任务优先级调度方法和系统及存储介质
Tantalaki et al. Pipeline-based linear scheduling of big data streams in the cloud
Bansal et al. Dynamic task-scheduling in grid computing using prioritized round robin algorithm
CN104391918A (zh) 基于对等部署的分布式数据库查询优先级管理的实现方法
CN110231986A (zh) 基于多fpga的动态可重配置的多任务调度和放置方法
CN103034758B (zh) 集成电路逻辑优化并行处理方法
CN104035819B (zh) 科学工作流调度处理方法及装置
Shojafar et al. An efficient scheduling method for grid systems based on a hierarchical stochastic Petri net
CN106445659A (zh) 一种空间飞行器周期性混成随机任务调度方法
CN104965762A (zh) 一种面向混合任务的调度系统
Bui et al. Real-time scheduling of concurrent transactions in multidomain ring buses
Behera Design and performance evaluation of multi cyclic round robin (MCRR) algorithm using dynamic time quantum
Lee et al. Improving resource utilization for compositional scheduling using dprm interfaces
CN106055862A (zh) 一种新型高效的启发式两阶段并行分支定界方法
Mu et al. A list scheduling heuristic with new node priorities and critical child technique for task scheduling with communication contention
CN111522637B (zh) 一种基于成本效益的storm任务调度方法
CN107943566A (zh) 一种基于最早时间线的多功能一体化雷达任务调度算法
Al-Fareed et al. Simulator for Scheduling Real-Time Systems with Reduced Power Consumption.
Fan et al. A survey on task scheduling method in heterogeneous computing system
CN104750556A (zh) 一种hpc集群作业调度方法及装置
Zheng et al. Performance analysis of work-conserving schedulers for minimizing total flow-time with phase precedence

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Sinpo District of Jiangsu city of Lianyungang province Lian Hai road 222006 No. 42

Patentee after: The 716th Research Institute of China Shipbuilding Corp.

Address before: Sinpo District of Jiangsu city of Lianyungang province Lian Hai road 222006 No. 42

Patentee before: 716TH RESEARCH INSTITUTE OF CHINA SHIPBUILDING INDUSTRY Corp.