System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种面向数据流众核处理器的任务运行时调度方法及装置制造方法及图纸_技高网

一种面向数据流众核处理器的任务运行时调度方法及装置制造方法及图纸

技术编号:43559387 阅读:3 留言:0更新日期:2024-12-06 17:32
本发明专利技术提供了一种面向数据流众核处理器的任务运行时调度方法及装置,该方法包括在运行时环境中执行以下操作:根据PE阵列的剩余资源、片上存储空间剩余资源和各任务的属性信息,从任务发射队列中标记资源适配的任务以构建任务组;对任务组中的任务进行预处理,得到经预处理的任务组,将经预处理的任务组映射到PE阵列上执行,其中,所述预处理包括:识别任务组中具有数据依赖的两个任务构成的关联对,修改关联对中前驱任务和后继任务所对应的微指令代码,以使处理该前驱任务的PE核将结果数据直接传输至处理该后继任务的PE核。

【技术实现步骤摘要】

本专利技术涉及计算机体系结构领域,具体来说涉及数据流众核处理器领域,更具体地说,涉及一种面向数据流众核处理器的任务运行时调度方法及装置


技术介绍

1、数据流众核处理器是具有许多计算核心(process element,即处理单元,简称pe或者pe核)的高性能计算系统。各个pe核支持并发地处理任务,以充分挖掘任务之间的并行性,适用于大数据处理、人工智能、5g通信等领域。

2、传统的数据流众核处理器主要包括:多个处理单元构成的pe阵列、片上存储、直接内存访问(direct memory access,简称dma)、片上网络、片外存储。其中,pe阵列为执行任务的计算部件;片上存储负责存储任务执行需要的源数据和执行结束后的结果数据;dma负责将数据从片外存储搬运到片上存储;片上网络负责pe阵列上不同pe核之间以及pe核与片上存储之间的数据交互;片外存储中存储需要执行的应用程序。

3、在数据流众核处理器中,应用程序会被编译器编译成体现任务之间依赖关系的任务流图,而任务流图中的各个任务又会被描述成有向无环的数据流图,并映射到pe阵列上执行。例如,图1给出了一个示例来展示应用程序、任务流图和数据流图之间关系;假设有3个应用程序,分别是应用程序1~3,其中,应用程序1所对应的任务流图内含有6个任务:任务1~6,而任务4所对应的数据流图中含有8个节点:节点1~8;其中,任务流图中任务的依赖关系和数据流图中节点之间依赖关系用边(箭头)表示。以数据流图为例,其中各个节点表示微指令代码,也就是数据所需要进行的具体计算或者处理,而数据流图中的边表示数据的流动方向和节点间的依赖关系。数据按数据流图从根节点沿着边不断流动,直至任务执行到叶子节点。以数据为中心的数据流众核处理器,不仅能够挖掘任务中的并行性,还能减少pe核对存储的访问,减少pe核等待的时间,提高了任务执行的效率。

4、通常,任务流图中的任务会按照任务之间的依赖关系确定任务执行的顺序,再由pe阵列按照固定的顺序依次执行任务流图中的各个任务。在不同的数据规模下,任务所需要占据的pe核数量是不固定的,当数据规模较小时,任务可能只需要占用2个甚至1个pe核,而在任务执行的过程中,其他任务无法被映射到pe阵列上执行,这对于pe阵列的利用率显然是不利的,同时任务之间的数据交互也仅能通过片上存储实现,传输时延较大,降低了任务总体处理的效率。

5、可见,现有技术存在对pe阵列的利用率不高以及任务总体处理的效率有待提高的问题。

6、需要说明的是:本
技术介绍
仅用于介绍本专利技术的相关信息,以便于帮助理解本专利技术的技术方案,但并不意味着相关信息必然是现有技术。相关信息与本专利技术方案一同提交和公开,在没有证据表明相关信息已在本专利技术的申请日以前公开的情况下,相关信息不应被视为现有技术。


技术实现思路

1、因此,本专利技术的目的在于克服上述现有技术的缺陷,提供一种面向数据流众核处理器的任务运行时调度方法及装置。

2、本专利技术的目的是通过以下技术方案实现的:

3、根据本专利技术的第一方面,提供一种面向数据流众核处理器的任务运行时调度方法,包括在运行时环境中执行以下操作:获取应用程序,生成描述应用程序内任务之间依赖关系的任务流图,任务流图中的节点代表一个任务,节点间的边代表数据依赖关系,边的起点代表前驱任务,边的终点代表后继任务,每个节点记录任务的属性信息;当任务发射队列存在空闲空间的情况下,从任务流图中按数据依赖关系选定任务,并将所选定的任务的属性信息传入任务发射队列;根据pe阵列的剩余资源、片上存储空间剩余资源和各任务的属性信息,从任务发射队列中标记资源适配的任务以构建任务组;对任务组中的任务进行预处理,得到经预处理的任务组,将经预处理的任务组映射到pe阵列上执行,其中,所述预处理包括:识别任务组中具有数据依赖的两个任务构成的关联对,修改关联对中前驱任务和后继任务所对应的微指令代码,以使处理该前驱任务的pe核将结果数据直接传输至处理该后继任务的pe核。

4、可选的,修改关联对中前驱任务和后继任务所对应的微指令代码包括:将前驱任务对应的微指令代码内存储指令替换为数据传输指令,其中,所述存储指令用于指示将该前驱任务的结果数据存储至片上存储,所述数据传输指令用于指示处理该前驱任务的pe核将结果数据通过片上网络直接传输至处理后继任务的pe核;移除后继任务对应微指令代码内的加载指令,所述加载指令用于指示从片上存储加载关联对中前驱任务的结果数据的加载指令。

5、可选的,任务的属性信息包括任务序号、后继任务序号和任务状态,其中,所述任务状态包括待激活、唤醒,所有任务初始的任务状态均为待激活;从任务流图中按数据依赖关系选定任务的方式包括:当所有非根节点均没有已传入任务发射队列的前驱任务时,从当前任务流图的集合中选定一个任务流图的根节点,将根节点对应任务的任务属性传入任务发射队列;否则,按照数据依赖关系将待激活的后继任务的任务属性逐个传入任务发射队列,其中,初始传入任务发射队列的任务属性中的任务状态修改为唤醒。通过该方式,可以让一个任务流图的任务完全传入任务发射队列后,才选择另一个任务流图的任务传入任务发射队列,避免某些应用程序的等待过程过长。如果有多个没有任务被传入任务发射队列的候选任务流图,则从多个任务流图中按照优先级和/或等待时长来选择一个任务流图,按以上方式从选择按数据依赖关系选定任务。

6、可选的,任务的属性信息还包括:前驱任务序号、源数据规模、结果数据规模和使用pe核数量,所述任务状态还包括执行中和结束,其中,根据前驱任务序号和任务状态按照预设构建规则构建任务组,所述规则包括:基于前驱任务序号和任务状态,识别前驱任务的任务状态为结束的备选任务,从备选任务中按进入任务发射队列的时间由早到晚的顺序选择任务,其中,根节点对应的任务视为备选任务;每选择一个任务后,根据任务的源数据规模、结果数据规模和使用pe核,判断所选择的任务与已标记的任务进行整合后所需的资源是否符合要求,若是,则将所选择的任务设置为标记的任务,并继续选择该标记的任务的后继任务,若否,则选择其他备选任务,直至任务发射队列中找不到任务符合要求的备选任务,其中,所述要求是整合后所需的资源没有超出pe阵列的剩余资源和片上存储空间剩余资源。该预设构建规则能够在提升任务处理并行度的同时,优先处理先进入队列的任务,让各个应用程序的任务有序推进;同时,在队列内进入有其他任务根节点时,也可利用最后的机会,通过空闲资源启动其他应用程序的任务,提升整体处理的效率。

7、可选的,任务的属性信息还包括:映射pe核序号,其中,在经预处理的任务组映射到pe阵列上执行后,将处理每个任务的pe核对应的映射pe核序号填入任务发射队列,并将任务状态修改为执行中。

8、可选的,任务的属性信息还包括:总循环次数和循环粒度,其中,所述总循环次数是指在任务迭代执行的总次数,所述循环粒度是指每一次获得能传给后继任务的结果数据所需要任务迭代执行的次数;所述方法还包括:对于有依本文档来自技高网...

【技术保护点】

1.一种面向数据流众核处理器的任务运行时调度方法,其特征在于,包括在运行时环境中执行以下操作:

2.根据权利要求1所述的方法,其特征在于,所述修改关联对中前驱任务和后继任务所对应的微指令代码包括:

3.根据权利要求2所述的方法,其特征在于,所述任务的属性信息包括任务序号、后继任务序号和任务状态,其中,所述任务状态包括待激活、唤醒,所有任务初始的任务状态均为待激活;

4.根据权利要求3所述的方法,其特征在于,所述任务的属性信息还包括:前驱任务序号、源数据规模、结果数据规模和使用PE核数量,所述任务状态还包括执行中和结束,其中,根据前驱任务序号和任务状态按照预设构建规则构建任务组,所述规则包括:

5.根据权利要求4所述的方法,其特征在于,所述任务的属性信息还包括:映射PE核序号,其中,在经预处理的任务组映射到PE阵列上执行后,将处理每个任务的PE核对应的映射PE核序号填入任务发射队列,并将任务状态修改为执行中。

6.根据权利要求5所述的方法,其特征在于,所述任务的属性信息还包括:总循环次数和循环粒度,其中,所述总循环次数是指在任务迭代执行的总次数,所述循环粒度是指每一次获得能传给后继任务的结果数据所需要任务迭代执行的次数;

7.根据权利要求6所述的方法,其特征在于,所述任务的属性信息还包括:源数据地址和结果数据地址,所述方法还包括:

8.一种面向数据流众核处理器的任务运行时调度装置,用于实现如权利要求1-7之一所述的方法,包括:

9.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序可被处理器执行以实现权利要求1至7之一所述方法的步骤。

10.一种电子设备,其特征在于,包括:

...

【技术特征摘要】

1.一种面向数据流众核处理器的任务运行时调度方法,其特征在于,包括在运行时环境中执行以下操作:

2.根据权利要求1所述的方法,其特征在于,所述修改关联对中前驱任务和后继任务所对应的微指令代码包括:

3.根据权利要求2所述的方法,其特征在于,所述任务的属性信息包括任务序号、后继任务序号和任务状态,其中,所述任务状态包括待激活、唤醒,所有任务初始的任务状态均为待激活;

4.根据权利要求3所述的方法,其特征在于,所述任务的属性信息还包括:前驱任务序号、源数据规模、结果数据规模和使用pe核数量,所述任务状态还包括执行中和结束,其中,根据前驱任务序号和任务状态按照预设构建规则构建任务组,所述规则包括:

5.根据权利要求4所述的方法,其特征在于,所述任务的属性信息还包括:映射pe核序号,其中,在经预处理的任务组映射到...

【专利技术属性】
技术研发人员:宋子康李文明范志华吴海彬安学军叶笑春范东睿
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:

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

1