可重构计算平台上的静态软硬件任务划分与调度方法技术

技术编号:6260058 阅读:269 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种可重构计算平台上的静态软硬件任务划分与调度方法。该机制以任务平台信息和任务集合为输入,计算任务的静态优先级并初始化就绪任务队列,然后针对每个计算任务选择最优的计算单元,最终获得任务的调度队列。此方案在参考任务间的依赖关系和计算资源间的并发关系的前提下给出解决方案,有效解决了传统方法中任务静态划分与任务的静态调度不能有效相结合的问题。当任务图的规模增大时,本发明专利技术中提出的算法获得的加速比随之增长,同时算法的时间复杂度也比较低。

【技术实现步骤摘要】

本专利技术涉及一种任务划分与调度方法,特别涉及一种基于。
技术介绍
可重构计算是权衡传统的通用处理器与专用集成电路的有效计算手段。对于很多任务,较之在通用处理器上使用软件实现,使用可重构逻辑器件的硬件实现可以获得很高 的加速比。与专用集成电路的硬件实现方式相比,随着动态可重构技术的普及,使用可重构 逻辑器件的实现具有更高的灵活性。在对于给定的任务集合,为了能够使其在可重构计算平台上高效的完成,发挥可 重构计算平台中各个器件的能力,首先需要对任务进行合理的划分,划分出在GPP上运行 的软件任务和布局在可重构逻辑单元上的硬件任务;同时还要决定任务与GPP和可重构逻 辑单元的动态映射关系。软硬件任务划分和任务调度是保证任务集合在可重构计算平台上 高效运行的重要技术。目前应用于可重构计算平台上的软硬件任务划分和调度方法单独考虑软硬件任 务划分的方法,难以综合考虑任务间的依赖关系以及计算资源间的并发关系,使得获得很 高加速的硬件任务可能会受限于低速任务的执行,难以保证整个任务集合的执行效率。单 独考虑软硬件任务划分难以顾及到任务间的依赖关系,也难以顾全计算资源间的并发关 系,获得很高加速的硬件任务可能会受限于低速任务的执行,使得任务集的执行速度难以 有效的提高,影响任务划分的效果。
技术实现思路
为克服现有技术中的不足,本专利技术的目的在于提供一种可重构计算平台上的静态 软硬件任务划分与调度方法,本专利技术将软硬件任务划分与任务调度相结合,同时给出软硬 件任务的划分方案和调度方案,可以有效的加速任务集的执行。为解决上述技术问题,实现上述技术目的,本专利技术通过以下技术方案来实现—种,其包括以下步骤步骤①,输入任务平台信息参数;所述平台信息参数包括1)目标平台信息P= (N,M)式中P表示目标平台信息,N为系统中通用处理器核心的数量,M为可重构计算单 元的数量;2)使用任务图建模的任务集合G = (V, E,Tw, Tc)式中G表示任务图建模的任务集合,V为顶点的集合,E为边集合。其中的每个顶 点t表示一个任务,代表一段不可抢占的指令执行序列,也就是过程的实例。每个任务t e V 都含有计算开销Tw。任务间的依赖关系,即前序约束,由有向弧表示。每条有向弧(tl,t2)的权值为Tc。3)任务图中每个任务实现为硬件任务时的任务加速比Accl。步骤②,计算任务静态优先级并初始化就绪任务队列;取任务的底端距离Tb为任务优先级,如果Tb越大,则其优先级越高。优选的,静态优先级确定后,在运行中不会改变。计算任务的静态优先级需要遍历整个任务图。在计算完静态优先级后,将所有的入口任务加入到就绪队列中。步骤③,选择就绪任务t ;在每个调度步中,从就绪任务队列中选取当前最高优先级的任务。步骤④,选择最优计算单元P,在每个调度步中,从计算单元集合中选取与当前被 选中任务最匹配的计算单元;选取的原则为使当前被选中的任务最早启动。步骤⑤,将就绪任务t和最优计算单元P记入任务调度序列;步骤⑥,判断最优计算单元P是否为可重构逻辑单元,如果是,将就绪任务t加入 硬件任务集合,如果不是,将就绪任务t加入软件任务集合;步骤⑦,处理后续任务,在每个调度步中调度完一项任务后,遍历所述任务的后继 节点,若其后继节点成为新的入口节点,则将其加入就绪任务队列;步骤⑧,判断就绪队列是否为空,如果不为空则重复自步骤③以后的步骤,步骤⑨,如果就绪队列为空,输出处理后的信息,其包括,任务调度序列、硬件任务 集合和软件任务集合。进一步的,所述步骤④中任务选取原则为当任务t e V就绪时,其全部前序任务都已经被调度,获得了一个部分调度。在部分调度中,处理器ρ的就绪时间定义为该计算单元上最近一个任务的完成时 间。Tr (p) = max (Tf (t, Pt(t)))t e V(1)给定一个部分调度,定义最早空闲计算单元pr为具有最小Tr(P)时间的计算单兀。Tr (pr) = min (Tr (p))pep(2)如果有多个具有相同Tr时间的计算单元,pr则从中随机选取。一个就绪任务t的最近消息到达时间定义为Tm(t) = max(Tf(t,)+Tc(t,,t))(t,,t)eE(3)一个就绪任务t的启动计算单元用pe(t)表示,指最后到达消息的来源计算单元。 当有多个Tm相同时,pe(t)随机选取。消息是由计算单元发送给自身时通信开销定义为0, 定义有效消息到达时间如下Te(t,p) = max(Tf(t,)+Tc(t,,t))(t,,t) e E,Pt (t)乒 ρ (4)就绪任务t调度到一个计算单元ρ上执行必须同时满足三个条件1)计算单元P 空闲;2)所有前序任务的消息已经到达;3)如果ρ为可重构计算单元,则该计算单元必须 完成局部重构。记最早空闲的通用处理器核心为prs,最早空闲的可重构计算单元为prh。记通用处理器核心的就绪时间为Trs(P),记可重构计算单元的就绪时间为Trh(P)。记重构开销为 Tro0则通用处理器核心ρ上的任务最早启动时间为Tss (t,p) = max (Te (t,ρ),Trs(p))(5)可重构计算单元ρ上任务最早启动时间为Tsh (t, p) = max (Te (t, ρ) +Tro, Trh (ρ) +Tro)(6)所以任务的启动时间为Ts (t, p) =min(Ts s (t, ρ), Tsh (t, ρ))(7)对(5),为使得Tss (t,ρ)取得最小值,则必须使Te (t,ρ)最小或者Trs (ρ)最小。 当且仅当P = pe(t)且P是通用处理器核心时Te(t,P)取得最小值;当且仅当P = prs时 Trs(P)取得最小值所以,最优的通用处理器核心必定为prs或pe(t)(如果存在)。对(6),为使得Tsh(t,ρ)取得最小值,则必须使Te (t,ρ)最小或者Trh(p)最小。 当且仅当ρ = pe (t)且ρ是可重构计算单元时Te (t,ρ)取得最小值;当且仅当ρ = prh时 Trh(p)取得最小值。所以,最优的可重构计算单元必定为prh或pe(t)(如果存在)。由(7),为使Ts (t,ρ)取得最小值,最优的计算单元必定为prS,prh,pe(t)之一。 由此可以定义任务的完成时间。本专利技术技术方案的优点主要体现在综合了软硬件任务静态划分与任务的静态调 度,同时在给出解决方案时参考了任务间的依赖关系和计算资源间的并发关系,当任务图 的规模增大时,本专利技术中提出的算法获得的加速比随之增长,同时算法的时间复杂度也比 较低。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段, 并可依照说明书的内容予以实施,以下以本专利技术的较佳实施例并配合附图详细说明如后。 本专利技术的具体实施方式由以下实施例及其附图详细给出。附图说明图1是本专利技术的任务划分和调度方法流程的示意图。 具体实施例方式参见图1所示一种可重构计算台上的静态软硬件任务划分与调度方法,包括以下 步骤步骤①,输入任务平台信息参数1 ;步骤②,计算任务静态优先级并初始化就绪任务队列2 ;步骤③,选择就绪任务t3 ;步骤④,选择最优计算单元P,在每个调度步中,从计算单元集合中选取与当前被 选中任务最匹配的计算单元4 ;步骤⑤,将就绪任务t和最优计算单元P记入任务本文档来自技高网...

【技术保护点】
可重构计算平台上的静态软硬件任务划分与调度方法,其特征在于,包括如下步骤:步骤①,输入任务平台信息参数;步骤②,计算任务静态优先级并初始化就绪任务队列;步骤③,选择就绪任务t,在每个调度步中,从所述就绪任务队列中选取当前最高优先级的任务;步骤④,选择最优计算单元P,在每个调度步中,从计算单元集合中选取与当前被选中任务最匹配的计算单元,选取的原则为使当前被选中的任务最早启动;步骤⑤,将就绪任务t和最优计算单元P记入任务调度序列;步骤⑥,判断最优计算单元P是否为可重构逻辑单元,如果是,将就绪任务t加入硬件任务集合,如果不是,将就绪任务t加入软件任务集合;步骤⑦,处理后续任务,在每个调度步中调度完一项任务后,遍历所述任务的后继节点,若其后继节点成为新的入口节点,则将其加入就绪任务队列;步骤⑧,判断就绪队列是否为空,如果不为空则重复自步骤③以后的步骤,步骤⑨,如果就绪队列为空,输出处理后的信息,其包括,任务调度序列、硬件任务集合和软件任务集合。

【技术特征摘要】

【专利技术属性】
技术研发人员:周学海李曦马宏星王超张惠臻高妍妍
申请(专利权)人:中国科学技术大学苏州研究院
类型:发明
国别省市:32[中国|江苏]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1