[发明专利]一种面向GPU集群环境的避免GPU资源争用的方法有效
申请号: | 201711326972.X | 申请日: | 2017-12-13 |
公开(公告)号: | CN107943592B | 公开(公告)日: | 2020-06-12 |
发明(设计)人: | 东方;师晓敏;罗军舟;查付政;王睿;孙斌 | 申请(专利权)人: | 中通服咨询设计研究院有限公司;东南大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 江苏圣典律师事务所 32237 | 代理人: | 胡建华;于瀚文 |
地址: | 210019 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 gpu 集群 环境 避免 资源 方法 | ||
本发明公开了一种面向GPU集群环境的避免GPU资源争用的方法,包括支持多应用程序细粒度并发执行的插件,应用程序行为特征抽取和应用程序任务调度。针对同一个NVIDIA GPU节点上运行的多个应用程序可能会引起的GPU资源争用问题,构建一个支持多应用程序细粒度并发执行的平台,使得多个应用程序在同一个GPU节点上可以尽可能的并发执行。其次,抽取每个应用程序的GPU行为特征,包括GPU使用模式和GPU资源需求信息。根据应用程序的GPU行为特征,以及当前GPU集群中各个GPU节点的资源使用状态,调度应用程序到适合的GPU节点上,从而最小化多个独立应用程序在同一个GPU节点上的资源争用。
技术领域
本发明涉及GPU高性能计算领域,尤其涉及一种面向GPU集群环境的避免GPU资源争用的方法。
背景技术
GPU加速计算是指同时利用图形处理器(GPU)和CPU,加快科学、分析、工程、消费和企业应用程序的运行速度。GPU加速计算可以提供非凡的应用程序性能,能将应用程序计算密集部分的工作负载转移到GPU,同时仍由CPU运行其余程序代码。从用户的角度来看,应用程序的运行速度明显加快。利用GPU加速应用程序的执行,目前已经越来越流行。如在科学计算领域,科研人员使用GPU加速蒙特卡洛仿真实验;使用GPU加速数值计算;在图像处理领域,人们利用GPU处理大规模医学影像数据;在数据挖掘领域,利用GPU加速数据挖掘算法的执行;在人工智能领域,利用GPU加速算法的训练等。目前,国内外许多大规模云服务提供商均已支持GPU服务,如亚马逊EC2、微软Azure、百度云等。
随着技术的发展,新一代的GPU中容纳了更多的多流处理器(StreamingMultiprocessors,SM、SMX)和流处理器(Streaming processors,SP),也支持了更多有用的特性,如Hyper-Q、动态并行(Dynamic Parallelism)等。但是,GPU利用率低下问题日趋凸显。其主要原因在于:
1)受限于当前GPU计算模型。目前GPU编程通常经过以下步骤:首先,使用CPU将位于硬盘上的待处理数据拷贝到主机内存;第二,在GPU设备上开辟空间,并将主机内存上的数据拷贝到GPU设备的内存空间中;第三,GPU设备执行相应的内核函数进行并行计算,并将结果写回GPU设备内存;最后,GPU设备内存的数据需要拷贝回主机内存。另外,若存在网络通信,则还需要依靠CPU来辅助完成。在编程过程中,有些代码无法或者不适合在GPU上完成,如一些无法并行执行的代码;数据迁移的代价大于并行计算带来的好处的代码;I/O操作等。因此程序员需要事先指定CPU和GPU上执行代码的比例,这导致GPU出现空闲,从而使得GPU利用率低下。
2)GPU指派方式不合理。很多GPU应用程序会显式的指定所要使用的GPU设备。当大量应用程序都指定使用同一个GPU设备时,会导致该GPU节点过度负载。当应用程序到达某GPU节点的频率过低时,会导致该GPU节点欠负载。
因此,为了提高GPU利用率,其中一种方法是根据GPU集群中各个节点的资源状态,以及到达的应用程序的GPU行为特征,将其调度到合适的GPU节点上。为达到该目标,需要解决的主要问题有:1)在应用程序到达的时候,快速、透明、准确的获取应用程序的GPU行为特征;2)提出合理、高效的调度策略;3)提高多个独立应用程序在同一个GPU上执行时并发度,减少资源争用。
根据现有对应用程序GPU行为特征提取的研究可知,现有的方法主要有NVIDIACUPTI、PAPI、Tau、Vampir等。NVIDIA CUPTI主要通过注册相应回调函数方法,在应用程序执行期间,实时获取应用程序调用GPU运行时库函数的信息。当应用程序执行完毕后,才能获得所有GPU函数调用信息。PAPI、Tau、Vampir是通过在源代码中插桩的方法,使应用程序在执行过程中能够触发所插入代码的执行,从而获取应用程序对GPU函数调用的信息。上述已有方法均要在应用程序执行完毕后,才能获取其GPU行为特征。但在本应用场景中,应用程序一到达就需要获取其GPU行为特征,为后续调度做出决策依据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中通服咨询设计研究院有限公司;东南大学,未经中通服咨询设计研究院有限公司;东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711326972.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于linux的多主机进程管理的方法
- 下一篇:数据获取方法和装置