一种面向异构计算平台的任务调度系统的制作方法

文档序号:37223172发布日期:2024-03-05 15:22阅读:15来源:国知局
一种面向异构计算平台的任务调度系统的制作方法

本发明涉及异构计算平台,具体涉及一种面向异构计算平台的任务调度系统。


背景技术:

1、异构计算架构是指通过使用不同体系架构的硬件设备,例如中央处理器(cpu,cental processing unit)、图形处理器(gpu,graphics processing unit)、现场可编程门阵列(fpga,field programmable gate array)和专用集成电路(asic,applicationspecific integrated circuit),组合成一个完整的平台,用以实现计算。平台中各类硬件设备通过高速总线进行互联,并根据其性能特点被分配执行不同的任务。不同体系架构的硬件设备具备不同的优势,通过组合后可以实现优势互补,充分发挥协处理器(如asic、fpga、gpu)的超高运算能力以及cpu的逻辑控制能力,从而提高整个系统的计算性能和资源利用率。目前的异构平台包括cpu+fpga、cpu+gpu以及cpu+fpga+gpu等多种灵活的形式。

2、任务并行机制的理念是将应用划分成大量细粒度任务并行执行。在异构计算系统中,不同的处理器往往有着不同的性能优化模型,例如多核cpu中线程数的选择一般与核数相匹配,以减少资源冲突或线程切换开销;而gpu中的线程由硬件维护,切换开销很低,并且gpu正是通过运行大量线程,依靠线程切换来隐藏部分存储访问延迟,从而获得高性能的。因此,在异构平台上,cpu与gpu之间会出现大批量的小数据量通信。而二者之间传输数据的速度会非常慢,但每次传输小数据和大数据的时间是一样的。所以,任务调度时可以考虑先将大批量细粒度任务聚合成一个大任务,再交给gpu执行,以减少通信次数,从而提高性能。因此,针对异构平台,任务并行编程模型需要考虑提供数据分布和通信的编程接口以及相关优化的支持。

3、覆盖cpu、gpu等多种计算平台的统一编程标准opencl将异构计算设备做了进一步的抽象,屏蔽了一些硬件细节,提高了异构系统的可编程性,但仍然存在许多问题。一方面创建线程和控制线程之间的同步是并行程序设计者面临的主要问题,需要编程模型为程序员提供更好的封装,使之远离进程与线程,描述应用程序所需执行的任务以及任务之间的互联关系,降低程序设计的复杂度。另一方面,很难找到一种通用的策略来高效的利用各种计算设备,往往需要程序员了解复杂的硬件细节才能有效开发计算设备的计算潜力,而这些编程框架都缺乏一个能准确了解底层的计算资源,并充分利用这些资源以及应用特征来高效分派线程执行的运行时系统。

4、综合而言,基于线程的编程模型不是多核时代的最佳选择,线程的维护开销核同步的不安全性会影响系统的性能核稳定。传统的顺序编程的思维模式与并行编程模型的不一致性给软件开发人员带来了很大的困惑,调试多线程应用程序的非确定缺陷也是最痛苦的工作。目前软件利用异构多核硬件的优点的方法非常复杂,并且不是那么成功,面向异构多核硬件架构的编程与计算以及任务的调度很难达到高效、灵活、可靠的目的。解决问题的关键不只是研究各种异构的硬件架构、并行编程等技术,还需要在操作系统级别去考虑任务的调度、资源访问、甚至构成操作系统模式的基本理念,这对发挥异构多核硬件架构的算力也是同样的重要。


技术实现思路

1、本发明要解决的技术问题是:传统的异构计算是在异构计算应用编程时指定计算任务在哪些异构计算芯片中执行,而不能实时的根据硬件环境进行调整,缺少任务调度的灵活性,不能保证异构计算系统的算力充分发挥。

2、为了解决上述技术问题,本发明的技术方案是提供了一种面向异构计算平台的任务调度系统,其特征在于,包括计算资源收集器、任务收集器、任务划分器以及任务调度器,所述任务调度系统包括以下步骤:

3、任务收集器收集来自应用层的原始应用任务及相对应的需求信息;

4、任务划分器将原始应用任务及相对应的需求信息按细粒度划分为n个子任务,并构建子任务队列;

5、计算资源收集器获取存储于计算资源收集器中的计算资源相对应的动态状态和静态信息,将动态状态和静态信息作为配置文件;

6、任务调度器将n个子任务与配置文件进行匹配,根据匹配结果分配计算资源;

7、计算资源执行子任务并得到执行结果,将执行结果进行统计并将统计结果返回至应用层。

8、优选地,所述需求信息包括:处理优先级,实时性需求、存储需求、io需求以及通信需求。

9、优选地,所述信息包括计算资源的类型、算力大小信息、储存大小信息以及通信速度。

10、优选地,所述一种面向异构计算平台的任务调度系统还包括:所述计算资源收集器注册计算资源并收集计算资源相对应的信息。

11、优选地,所述一种面向异构计算平台的任务调度系统,还包括以下步骤:所述计算资源收集器定期获取计算资源的实时状态;根据实时状态动态加入或退出计算资源。

12、本发明的技术方案提出一种面向异构计算平台的任务调度系统,综合考虑计算任务对实时性、高性能和各类资源访问控制的需求,对计算任务进行合理的调度,从而最大的开发异构计算硬件的算力。



技术特征:

1.一种面向异构计算平台的任务调度系统,其特征在于,包括计算资源收集器、任务收集器、任务划分器以及任务调度器,所述任务调度系统包括以下步骤:

2.如权利要求1所述的一种面向异构计算平台的任务调度系统,其特征在于,所述需求信息包括:处理优先级,实时性需求、存储需求、io需求以及通信需求。

3.如权利要求1所述的一种面向异构计算平台的任务调度系统,其特征在于,所述信息包括计算资源的类型、算力大小信息、储存大小信息以及通信速度。

4.如权利要求1所述的一种面向异构计算平台的任务调度系统,其特征在于,还包括:所述计算资源收集器注册计算资源并收集计算资源相对应的信息。

5.如权利要求1所述的一种面向异构计算平台的任务调度系统,其特征在于,还包括以下步骤:


技术总结
本发明提出一种面向异构计算平台的任务调度系统。综合考虑计算任务对实时性、高性能和各类资源访问控制的需求,对计算任务进行合理的调度,从而最大的开发异构计算硬件的算力。

技术研发人员:杨柳,邓畅,许光泞
受保护的技术使用者:华东计算技术研究所(中国电子科技集团公司第三十二研究所)
技术研发日:
技术公布日:2024/3/4
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1