CN110471766A - 一种基于cuda的gpu资源调度系统和方法 - Google Patents

一种基于cuda的gpu资源调度系统和方法 Download PDF

Info

Publication number
CN110471766A
CN110471766A CN201910724239.6A CN201910724239A CN110471766A CN 110471766 A CN110471766 A CN 110471766A CN 201910724239 A CN201910724239 A CN 201910724239A CN 110471766 A CN110471766 A CN 110471766A
Authority
CN
China
Prior art keywords
gpu
mode
cuda
calculate node
node
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.)
Granted
Application number
CN201910724239.6A
Other languages
English (en)
Other versions
CN110471766B (zh
Inventor
苏斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Huaheng Shengshi Technology Co Ltd
Original Assignee
Beijing Huaheng Shengshi Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Huaheng Shengshi Technology Co Ltd filed Critical Beijing Huaheng Shengshi Technology Co Ltd
Priority to CN201910724239.6A priority Critical patent/CN110471766B/zh
Publication of CN110471766A publication Critical patent/CN110471766A/zh
Application granted granted Critical
Publication of CN110471766B publication Critical patent/CN110471766B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

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资源调度系统,同时,本发明还涉及一种基于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 (6)

1.一种基于CUDA的GPU资源调度系统,包括管理节点和系统用户,其特征在于:所述系统用户通过提交作业模块连接到管理节点,所述管理节点通过派发作业模块连接有IBMPower计算节点和NVDIA DGX计算节点。
2.根据权利要求1所述的一种基于CUDA的GPU资源调度系统,其特征在于:所述管理节点负责接收作业GPU请求,根据作业GPU请求为作业分配合适的GPU计算节点。
3.根据权利要求1所述的一种基于CUDA的GPU资源调度系统,其特征在于:所述IBMPower计算节点负责按照作业GPU请求启动GPU作业,修改GPU模式,以及收集作业GPU使用信息。
4.根据权利要求1所述的一种基于CUDA的GPU资源调度系统,其特征在于:所述NVDIADGX计算节点负责使用CUDA API(NVIDIA GPU应用开发接口来收集计算节点GPU信息并上报给管理节点,所收集的GPU信息包括GPU个数、GPU内存、GPU类型和GPU NVLINK拓扑结构。
5.根据权利要求4所述的一种基于CUDA的GPU资源调度系统,其特征在于:所述GPU类型包括GeForce系列、Tesla系列和Quadro系列。
6.一种根据权利要求1所述的基于CUDA的GPU资源调度方法,其特征在于:包括以下步骤:
S1:在计算节点上调用CUDA API来收集GPU信息并上报给管理节点;
S2:系统用户把应用作为GPU作业提交至管理节点,管理节点调度系统根据作业的GPU内存,GPU类型,GPU NVLINK的GPU相关请求为作业分配最合适的GPU计算节点,如作业需要GPU内存为10G,则调度系统会将作业调度到GPU可用内存大于10G的机器上运行;作业需要GPU类型为Tesla K80,则调度系统会将作业调度到含有GPU类型为Tesla K80 GPU的机器上运行;作业需要GPU之间具有NVLINK连接,则调度系统会将作业调度到GPU之间具有NVLINK的机器上,并确保分配的都个GPU之间都具有NVLINK连接;
S3:计算机点启动作业之前,系统根据作业请求的GPU模式动态切换为作业所分配的GPU的模式,如作业请求以独占的方式使用GPU,则系统可将GPU模式从共享模式切换为独占模式并分配给作业使用,其它作业不能再使用该切换为独占模式的GPU;作业请求以共享的方式使用GPU,则系统也可将GPU模式从独占模式切换为共享模式,其它作业可以共享方式与此作业共同使用该切换为共享模式的GPU;
S4:计算节点为同一用户相同GPU请求作业启动GPU MPS,使同一用户的不同作业以独占的方式共享使用分配的GPU;
S5:计算节点收集作业GPU使用信息并展示给系统用户。
CN201910724239.6A 2019-08-06 2019-08-06 一种基于cuda的gpu资源调度系统和方法 Active CN110471766B (zh)

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 true CN110471766A (zh) 2019-11-19
CN110471766B 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)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111400035A (zh) * 2020-03-04 2020-07-10 杭州海康威视系统技术有限公司 一种显存分配方法、装置、电子设备及存储介质
CN111930498A (zh) * 2020-06-29 2020-11-13 苏州浪潮智能科技有限公司 一种高效的gpu资源分配优化方法和系统
CN112506666A (zh) * 2020-12-22 2021-03-16 鹏城实验室 基于驱动封装的gpu分时共享方法及系统
WO2021104083A1 (zh) * 2019-11-28 2021-06-03 中兴通讯股份有限公司 Gpu运行方法、装置、设备及存储介质
WO2021104033A1 (zh) * 2019-11-28 2021-06-03 中兴通讯股份有限公司 一种资源调度方法、装置和系统
CN114741207A (zh) * 2022-06-10 2022-07-12 之江实验室 一种基于多维度组合并行的gpu资源调度方法和系统
CN115794387A (zh) * 2022-11-14 2023-03-14 苏州国科综合数据中心有限公司 基于LSF的单主机多GPU分布式pytorch并行计算方法
CN116828198A (zh) * 2023-08-29 2023-09-29 麒麟软件有限公司 在nvidia gpu上支持va-api硬件视频加速接口的方法

Citations (5)

* Cited by examiner, † Cited by third party
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
US20190121566A1 (en) * 2017-10-19 2019-04-25 Pure Storage, Inc. Data transformation offloading in an artificial intelligence infrastructure

Patent Citations (5)

* Cited by examiner, † Cited by third party
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
US20190121566A1 (en) * 2017-10-19 2019-04-25 Pure Storage, Inc. Data transformation offloading in an artificial intelligence infrastructure

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021104083A1 (zh) * 2019-11-28 2021-06-03 中兴通讯股份有限公司 Gpu运行方法、装置、设备及存储介质
WO2021104033A1 (zh) * 2019-11-28 2021-06-03 中兴通讯股份有限公司 一种资源调度方法、装置和系统
CN111400035A (zh) * 2020-03-04 2020-07-10 杭州海康威视系统技术有限公司 一种显存分配方法、装置、电子设备及存储介质
CN111930498A (zh) * 2020-06-29 2020-11-13 苏州浪潮智能科技有限公司 一种高效的gpu资源分配优化方法和系统
CN111930498B (zh) * 2020-06-29 2022-11-29 苏州浪潮智能科技有限公司 一种高效的gpu资源分配优化方法和系统
CN112506666A (zh) * 2020-12-22 2021-03-16 鹏城实验室 基于驱动封装的gpu分时共享方法及系统
CN114741207A (zh) * 2022-06-10 2022-07-12 之江实验室 一种基于多维度组合并行的gpu资源调度方法和系统
CN115794387A (zh) * 2022-11-14 2023-03-14 苏州国科综合数据中心有限公司 基于LSF的单主机多GPU分布式pytorch并行计算方法
CN116828198A (zh) * 2023-08-29 2023-09-29 麒麟软件有限公司 在nvidia gpu上支持va-api硬件视频加速接口的方法
CN116828198B (zh) * 2023-08-29 2023-11-28 麒麟软件有限公司 在nvidia gpu上支持va-api硬件视频加速接口的方法

Also Published As

Publication number Publication date
CN110471766B (zh) 2022-12-30

Similar Documents

Publication Publication Date Title
CN110471766A (zh) 一种基于cuda的gpu资源调度系统和方法
CN109873868A (zh) 一种计算能力共享方法、系统及相关设备
CN111078436B (zh) 数据处理的方法、装置、设备及存储介质
CN102693162A (zh) 基于共享内存和核间中断的多核平台上多个虚拟机之间进程通信方法
CN106959891A (zh) 一种实现gpu调度的集群管理方法和系统
CN102906726A (zh) 协处理加速方法、装置及系统
WO2018233299A1 (zh) 调度处理器的方法、装置、设备及介质
CN105975340A (zh) 一种虚拟机应用分配部署算法
CN106897299B (zh) 一种数据库访问方法及装置
CN102999385A (zh) 计算设备中多处理器协同处理方法
CN105955827A (zh) 处理器计算资源的分配方法及装置
CN113849312A (zh) 数据处理任务的分配方法、装置、电子设备及存储介质
CN103778591A (zh) 处理图形运算负载平衡的方法及系统
CN110457066A (zh) 使国产操作系统兼容Windows系统应用软件的架构
CN114564435A (zh) 异构多核芯片的核间通信方法、装置及介质
CN107436798A (zh) 一种基于numa节点的进程访问方法及装置
CA3139693A1 (en) Dynamic allocation of computing resources
CN101216780B (zh) 在对称多处理体系下实现多实例线程通信的方法及装置
CN105677481B (zh) 一种数据处理方法、系统及电子设备
CN104809026B (zh) 一种使用远程节点借用cpu计算资源的方法
CN114124968A (zh) 基于行情数据的负载均衡方法、装置、设备及介质
CN105957131B (zh) 图形处理系统及其方法
CN109729113A (zh) 管理专用处理资源的方法、服务器系统和计算机程序产品
CN107402807A (zh) 在计算机系统中有效提升多任务执行效率的方法、系统和处理器
CN110401939A (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