CN110471766B - 一种基于cuda的gpu资源调度***和方法 - Google Patents
一种基于cuda的gpu资源调度***和方法 Download PDFInfo
- Publication number
- CN110471766B CN110471766B CN201910724239.6A CN201910724239A CN110471766B CN 110471766 B CN110471766 B CN 110471766B CN 201910724239 A CN201910724239 A CN 201910724239A CN 110471766 B CN110471766 B CN 110471766B
- Authority
- CN
- China
- Prior art keywords
- gpu
- management node
- mode
- node
- resource scheduling
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Sources (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种基于CUDA的GPU资源调度***,管理节点和***用户,所述***用户通过提交作业模块连接到管理节点,所述管理节点通过派发作业模块连接有IBM Power计算节点和NVDIA DGX计算节点。本发明针对不同类型的应用采用不同的GPU特性,提高整个***中GPU的利用率,加速应用在GPU中的运行效率。***可以针对应用需求,动态切换GPU模式,根据应用需要选择最适合应用的GPU类型及其需要的GPU Factor,同一用户多个应用可通过GPU MPS以独占的方式共享使用GPU,提高GPU利用率,支持IBM Power和NVIDIA DGX两种GPU NVLINK拓扑,将应用分配到带有NVLINK互联的GPU上,通过把当前GPU的主要特性应用于资源调度***中,提高了这个***的GPU资源利用率以及应用的运行效率。
Description
技术领域
本发明涉及CUDA GPU及资源调度***技术领域,具体为一种基于CUDA的GPU资源调度***,同时,本发明还涉及一种基于CUDA的GPU资源调度方法。
背景技术
GPU又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器
随着GPU(Graphic Processing Unit,图形处理器)通用技术的发展,GPU不仅能够处理图像负载,也能够处理特定类型的通用程序。目前,当有多个不同的kernel程序需要访问GPU时,一般是以序列化的方式使请求访问GPU的kernel程序按照发送请求的时间顺序逐个访问GPU。
GPU目前在机器学习,深度学习,科学计算,游戏制作等领域有着广泛的应用。随着GPU的普及,原来越多的集群配置了GPU。其中CUDA GPU的应用最为广泛,其支持的特性包括GPU内存,GPU类型(如TeslaK80,Tesla P100),GPU Factor,GPU MPS(Multiple ProcessService多进程服务),GPU模式,GPU NVLINK(一种基于总线的高速通讯协议)等,不同类型的应用使用不同的GPU特性可以提高应用的运行效率,进而提升整个资源调度***的GPU利用率。目前主流资源调度***PBS,Slurm,LSF等对GPU资源的调度主要集中在GPU个数及GPU内存的使用限制,没有一种资源调度***可以把各种GPU特性整合在***中,为此我们提出一种基于CUDA的GPU资源调度***和方法。
发明内容
本发明的目的在于提供一种基于CUDA的GPU资源调度***和方法,针对不同类型的应用采用不同的GPU特性,提高整个***中GPU的利用率,加速应用在GPU中的运行效率。***可以针对应用需求,动态切换GPU模式,根据应用需要选择最适合应用的GPU类型及其需要的GPU Factor,同一用户多个应用可通过GPU MPS以独占的方式共享使用GPU,提高GPU利用率。支持IBM Power和NVIDIA DGX两种GPU NVLINK拓扑,将应用分配到带有NVLINK互联的GPU上,通过把当前GPU的主要特性应用于资源调度***中,提高了这个***的GPU资源利用率以及应用的运行效率,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种基于CUDA的GPU资源调度***,管理节点和***用户,所述***用户通过提交作业模块连接到管理节点,所述管理节点通过派发作业模块连接有IBMPower计算节点和NVDIA DGX计算节点。
优选的,所述管理节点负责接收作业GPU请求,根据作业GPU请求为作业分配合适的GPU计算节点。
优选的,所述IBM Power计算节点负责按照作业GPU请求启动GPU作业,修改GPU模式,以及收集作业GPU使用信息。
优选的,所述NVDIA DGX计算节点负责使用CUDA API(NVIDIA GPU应用开发接口来收集计算节点GPU信息并上报给管理节点,所收集的GPU信息包括GPU个数、GPU内存、GPU类型和GPU NVLINK拓扑结构。
优选的,所述GPU类型包括GeForce系列、Tesla系列和Quadro系列。
本发明还提供一种基于CUDA的GPU资源调度方法,包括以下步骤:
S1:在计算节点上调用CUDA API来收集GPU信息并上报给管理节点;
S2:***用户把应用作为GPU作业提交至管理节点,管理节点调度***根据作业的GPU内存,GPU类型,GPU NVLINK的GPU相关请求为作业分配最合适的GPU计算节点,如作业需要GPU内存为10G,则调度***会将作业调度到GPU可用内存大于10G的机器上运行;作业需要GPU类型为Tesla K80,则调度***会将作业调度到含有GPU类型为Tesla K80GPU的机器上运行;作业需要GPU之间具有NVLINK连接,则调度***会将作业调度到GPU之间具有NVLINK的机器上,并确保分配的都个GPU之间都具有NVLINK连接;
S3:计算机点启动作业之前,***根据作业请求的GPU模式动态切换为作业所分配的GPU的模式,如作业请求以独占的方式使用GPU,则***可将GPU模式从共享模式切换为独占模式并分配给作业使用,其它作业不能再使用该切换为独占模式的GPU;作业请求以共享的方式使用GPU,则***也可将GPU模式从独占模式切换为共享模式,其它作业可以共享方式与此作业共同使用该切换为共享模式的GPU;
S4:计算节点为同一用户相同GPU请求作业启动GPU MPS,使同一用户的不同作业以独占的方式共享使用分配的GPU;
S5:计算节点收集作业GPU使用信息并展示给***用户。
与现有技术相比,本发明的有益效果是:
1、本发明针对不同类型的应用采用不同的GPU特性,提高整个***中GPU的利用率,加速应用在GPU中的运行效率。***可以针对应用需求,动态切换GPU模式,根据应用需要选择最适合应用的GPU类型及其需要的GPU Factor,同一用户多个应用可通过GPU MPS以独占的方式共享使用GPU,提高GPU利用率。支持IBM Power和NVIDIA DGX两种GPU NVLINK拓扑,将应用分配到带有NVLINK互联的GPU上,通过把当前GPU的主要特性应用于资源调度***中,提高了这个***的GPU资源利用率以及应用的运行效率。
附图说明
图1为本发明IBM Power NVLINK图;
图2为本发明NVDIA DGX-1NVLINK图;
图3为本发明一种基于CUDA的GPU资源调度***的整体架构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-3,本发明提供一种技术方案:一种基于CUDA的GPU资源调度***,管理节点和***用户,所述***用户通过提交作业模块连接到管理节点,所述管理节点通过派发作业模块连接有IBMPower计算节点和NVDIA DGX计算节点。
具体的,所述管理节点负责接收作业GPU请求,根据作业GPU请求为作业分配合适的GPU计算节点。
具体的,所述IBM Power计算节点负责按照作业GPU请求启动GPU作业,修改GPU模式,以及收集作业GPU使用信息。
具体的,所述NVDIA DGX计算节点负责使用CUDA API(NVIDIA GPU应用开发接口来收集计算节点GPU信息并上报给管理节点,所收集的GPU信息包括GPU个数、GPU内存、GPU类型和GPU NVLINK拓扑结构。
具体的,所述GPU类型包括GeForce系列、Tesla系列和Quadro系列。
本发明还提供一种基于CUDA的GPU资源调度方法,包括以下步骤:
S1:在计算节点上调用CUDA API来收集GPU信息并上报给管理节点;
S2:***用户把应用作为GPU作业提交至管理节点,管理节点调度***根据作业的GPU内存,GPU类型,GPU NVLINK的GPU相关请求为作业分配最合适的GPU计算节点,如作业需要GPU内存为10G,则调度***会将作业调度到GPU可用内存大于10G的机器上运行;作业需要GPU类型为Tesla K80,则调度***会将作业调度到含有GPU类型为Tesla K80GPU的机器上运行;作业需要GPU之间具有NVLINK连接,则调度***会将作业调度到GPU之间具有NVLINK的机器上,并确保分配的都个GPU之间都具有NVLINK连接;
S3:计算机点启动作业之前,***根据作业请求的GPU模式动态切换为作业所分配的GPU的模式,如作业请求以独占的方式使用GPU,则***可将GPU模式从共享模式切换为独占模式并分配给作业使用,其它作业不能再使用该切换为独占模式的GPU;作业请求以共享的方式使用GPU,则***也可将GPU模式从独占模式切换为共享模式,其它作业可以共享方式与此作业共同使用该切换为共享模式的GPU;
S4:计算节点为同一用户相同GPU请求作业启动GPU MPS,使同一用户的不同作业以独占的方式共享使用分配的GPU;
S5:计算节点收集作业GPU使用信息并展示给***用。
综上所述:本发明针对不同类型的应用采用不同的GPU特性,提高整个***中GPU的利用率,加速应用在GPU中的运行效率。***可以针对应用需求,动态切换GPU模式,根据应用需要选择最适合应用的GPU类型及其需要的GPU Factor,同一用户多个应用可通过GPUMPS以独占的方式共享使用GPU,提高GPU利用率。支持IBM Power和NVIDIA DGX两种GPUNVLINK拓扑,将应用分配到带有NVLINK互联的GPU上,通过把当前GPU的主要特性应用于资源调度***中,提高了这个***的GPU资源利用率以及应用的运行效率。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (1)
1.一种利用了基于CUDA的GPU资源调度***的资源调度方法,其特征在于:
所述资源调度***包括:管理节点和***用户,所述***用户通过提交作业模块连接到所述管理节点,所述管理节点通过派发作业模块连接到GPU计算节点,所述GPU计算节点包括IBM Power计算节点和NVDIA DGX计算节点;
所述资源调度方法包括以下步骤:
S1:在所述GPU计算节点上调用CUDA API来收集GPU信息,并上报给所述管理节点;
S2:***用户把应用作为GPU作业提交至所述管理节点,所述管理节点根据作业的GPU内存、GPU类型和GPU NVLINK的GPU请求,为作业分配最合适的GPU计算节点,具体包括:
若作业需要GPU内存为10G,则所述管理节点将作业调度到GPU可用内存大于10G的机器上运行;
若作业需要GPU类型为Tesla K80,则所述管理节点将作业调度到含有Tesla K80 GPU的机器上运行;
若作业需要GPU之间具有NVLINK连接,则所述管理节点将作业调度到GPU之间具有NVLINK连接的机器上,并确保分配的每个GPU之间都具有NVLINK连接;
S3:在GPU计算节点启动作业之前,管理节点根据作业请求的GPU模式动态切换为作业所分配的GPU的模式,具体包括:
若作业请求以独占的方式使用GPU,则管理节点将GPU模式从共享模式切换为独占模式并分配给该作业使用,其它作业不能再使用该独占模式的GPU;
若作业请求以共享的方式使用GPU,则管理节点将GPU模式从独占模式切换为共享模式,其它作业以共享方式与该作业共同使用该共享模式的GPU;
S4:GPU计算节点为同一***用户针对同一GPU的不同GPU作业启动GPU MPS,从而使同一***用户的不同GPU作业以独占的方式共享使用分配的GPU;
S5:GPU计算节点收集作业GPU的使用信息,并展示给***用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910724239.6A CN110471766B (zh) | 2019-08-06 | 2019-08-06 | 一种基于cuda的gpu资源调度***和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910724239.6A CN110471766B (zh) | 2019-08-06 | 2019-08-06 | 一种基于cuda的gpu资源调度***和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110471766A CN110471766A (zh) | 2019-11-19 |
CN110471766B true CN110471766B (zh) | 2022-12-30 |
Family
ID=68510397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910724239.6A Active CN110471766B (zh) | 2019-08-06 | 2019-08-06 | 一种基于cuda的gpu资源调度***和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110471766B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112862658A (zh) * | 2019-11-28 | 2021-05-28 | 中兴通讯股份有限公司 | Gpu运行方法、装置、设备及存储介质 |
CN112866321B (zh) * | 2019-11-28 | 2024-06-18 | 中兴通讯股份有限公司 | 一种资源调度方法、装置和*** |
CN111400035A (zh) * | 2020-03-04 | 2020-07-10 | 杭州海康威视***技术有限公司 | 一种显存分配方法、装置、电子设备及存储介质 |
CN111930498B (zh) * | 2020-06-29 | 2022-11-29 | 苏州浪潮智能科技有限公司 | 一种高效的gpu资源分配优化方法和*** |
CN112506666A (zh) * | 2020-12-22 | 2021-03-16 | 鹏城实验室 | 基于驱动封装的gpu分时共享方法及*** |
CN114741207B (zh) * | 2022-06-10 | 2022-09-30 | 之江实验室 | 一种基于多维度组合并行的gpu资源调度方法和*** |
CN115794387A (zh) * | 2022-11-14 | 2023-03-14 | 苏州国科综合数据中心有限公司 | 基于LSF的单主机多GPU分布式pytorch并行计算方法 |
CN116828198B (zh) * | 2023-08-29 | 2023-11-28 | 麒麟软件有限公司 | 在nvidia gpu上支持va-api硬件视频加速接口的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521012A (zh) * | 2011-11-24 | 2012-06-27 | 华中科技大学 | 基于虚拟机的gpu集群管理*** |
CN106919442A (zh) * | 2015-12-24 | 2017-07-04 | 中国电信股份有限公司 | 多gpu调度装置和分布式计算***以及多gpu调度方法 |
CN106959891A (zh) * | 2017-03-30 | 2017-07-18 | 山东超越数控电子有限公司 | 一种实现gpu调度的集群管理方法和*** |
US10262390B1 (en) * | 2017-04-14 | 2019-04-16 | EMC IP Holding Company LLC | Managing access to a resource pool of graphics processing units under fine grain control |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10671435B1 (en) * | 2017-10-19 | 2020-06-02 | Pure Storage, Inc. | Data transformation caching in an artificial intelligence infrastructure |
-
2019
- 2019-08-06 CN CN201910724239.6A patent/CN110471766B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521012A (zh) * | 2011-11-24 | 2012-06-27 | 华中科技大学 | 基于虚拟机的gpu集群管理*** |
CN106919442A (zh) * | 2015-12-24 | 2017-07-04 | 中国电信股份有限公司 | 多gpu调度装置和分布式计算***以及多gpu调度方法 |
CN106959891A (zh) * | 2017-03-30 | 2017-07-18 | 山东超越数控电子有限公司 | 一种实现gpu调度的集群管理方法和*** |
US10262390B1 (en) * | 2017-04-14 | 2019-04-16 | EMC IP Holding Company LLC | Managing access to a resource pool of graphics processing units under fine grain control |
Also Published As
Publication number | Publication date |
---|---|
CN110471766A (zh) | 2019-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110471766B (zh) | 一种基于cuda的gpu资源调度***和方法 | |
EP3876161A1 (en) | Method and apparatus for training deep learning model | |
CN101968750B (zh) | 计算机***及其工作方法 | |
CN103067468B (zh) | 云调度方法及其*** | |
CN113849312B (zh) | 数据处理任务的分配方法、装置、电子设备及存储介质 | |
CN112825042A (zh) | 资源管理方法和装置、电子设备及存储介质 | |
CN102906726A (zh) | 协处理加速方法、装置及*** | |
CN106959891A (zh) | 一种实现gpu调度的集群管理方法和*** | |
WO2018233299A1 (zh) | 调度处理器的方法、装置、设备及介质 | |
CN111078436A (zh) | 数据处理的方法、装置、设备及存储介质 | |
CN105955827A (zh) | 处理器计算资源的分配方法及装置 | |
CN103677970A (zh) | 实现终端本地桌面和远端虚拟桌面合并显示的***和方法 | |
CN111104219A (zh) | 虚拟核心与物理核心的绑定方法、装置、设备及存储介质 | |
CN114564435A (zh) | 异构多核芯片的核间通信方法、装置及介质 | |
CN105320565B (zh) | 一种针对多种应用软件的计算机资源调度方法 | |
US11521042B2 (en) | System and method to dynamically and automatically sharing resources of coprocessor AI accelerators | |
KR20170109185A (ko) | 매니코어 시스템에서 쓰레드를 스케줄링 하는 방법 및 그 장치 | |
CN105677481B (zh) | 一种数据处理方法、***及电子设备 | |
CN111813541B (zh) | 一种任务调度方法、装置、介质和设备 | |
CN111858035A (zh) | 一种fpga设备分配方法、装置、设备及存储介质 | |
JP2018190355A (ja) | リソース管理方法 | |
CN115775199A (zh) | 数据处理方法和装置、电子设备和计算机可读存储介质 | |
CN111190910A (zh) | 额度资源的处理方法、装置、电子设备及可读存储介质 | |
CN111489279A (zh) | Gpu加速优化方法、装置及计算机存储介质 | |
CN114489978A (zh) | 资源调度方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |