CN105528249B - 一种多用户共享gpu资源的调度方法 - Google Patents
一种多用户共享gpu资源的调度方法 Download PDFInfo
- Publication number
- CN105528249B CN105528249B CN201510884813.6A CN201510884813A CN105528249B CN 105528249 B CN105528249 B CN 105528249B CN 201510884813 A CN201510884813 A CN 201510884813A CN 105528249 B CN105528249 B CN 105528249B
- Authority
- CN
- China
- Prior art keywords
- gpu
- request
- user
- management module
- resource
- 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
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/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种多用户共享GPU资源的调度方法,属于云计算和虚拟机技术领域,包括用户向管理模块提出请求的步骤;修改、撤销请求流程的步骤;开始GPU流程的步骤以及结束GPU流程的步骤;本发明能够在仅配置一个GPU虚拟化设备卡的情况下,更多的满足用户的需求,并且提高了GPU设备的利用率,有效的节约了资源。
Description
技术领域
本发明属于云计算和虚拟机技术领域,特别是涉及一种多用户共享GPU资源的调度方法。
背景技术
由于部分用户和应用的图像处理负载,使得部分的CPU能力用于处理图像数据,导致VM的CPU负载过高,进而影响VM的性能和Hypervisor的整体资源使用率。
因此,图形处理器单元(GPU)虚拟化技术应运而生。从GPU设备提供商和虚拟化厂商两方面都有相应的产品面世。目前NVIDIA已经生产出GRID系列产品,一个GPU设备卡,可同时提供多个用户使用。虚拟化厂商中,如VMware等也已经支持虚拟GPU的配置,管理以及直通VM技术。
虽然目前有支持虚拟化功能的GPU设备,并且可以给VM顺利配置虚拟CPU设备。但是由于虚拟化GPU成本过高,为每个VM配置虚拟GPU卡,将导致过高的VM成本,而会让用户选择使用物理设备。但是在使用VM的用户中,仅有部分用户对GPU有使用的需要,并且大部分都只是在部分时间段内进行使用,使用结束之后,便可以将GPU资源分配给其他VM使用。这样就需要一种多用户共享GPU资源的调度方法来对GPU资源进行管理,以便既满足用户的GPU使用需要,又最大化共享GPU资源。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种既满足用户的GPU使用需要,又最大化共享GPU资源的多用户共享GPU资源的调度方法。
为实现上述目的,本发明提供了一种多用户共享GPU资源的调度方法,包括用户向管理模块提出请求的步骤;修改、撤销请求流程的步骤;开始GPU流程的步骤以及结束GPU流程的步骤;
所述用户向管理模块提出请求按以下步骤进行:
步骤一、判断用户VM情况,并向管理模块提出请求:
当用户已有VM且有使用GPU资源的需要时,查询GPU资源;系统提供用户VM可用GPU资源预约表;用户从预约表中选择预约时段及能力,并向管理模块提出请求,然后执行步骤二;
如果是新使用,创建带GPU功能的VM或在已有的VM中增加GPU功能,并向管理模块提出请求,然后执行步骤二;
如果在预约的时间已满的时候,需要继续使用GPU功能,则为续约:向管理模块提出请求时需要指明需要GPU核数,如果是已有的VM,同时需要携带VM的标识信息;
步骤二:管理模块接收到请求后,对请求进行处理
A1:判断用户是续约请求、新建VM+GPU请求还是已有VM+GPU请求;
A2:检查用户的请求是否有效,包括用户的GPU使用额度,即同时能够申请使用的GPU核数限制;
A3:对用户的请求进行记录;如果用户需要续约,则直接进行续约,流程结束,否则开始GPU流程;
所述开始GPU流程按以下步骤进行:
管理模块定时检查系统中的GPU进行维护:
检查是否有将要开始的请求;如果有即将开始的请求,则检查系统中的资源是否满足;如果满足,则向Hypervisor发送请求;如果不满足,则将用户的GPU使用时间延后,并通知用户;
管理模块向Hypervisor发送请求;Hypervisor根据请求来进行操作:创建带GPU功能的VM或为已有的VM添加GPU设备;然后为VM配置GPU虚拟设备;
所述结束GPU流程按以下步骤进行:
管理模块定时检查系统中的GPU进行维护:
检查是否有将要到期的请求;如果有将要到期的请求,检查系统中是否有足够的资源允许用户续约;如果系统中有足够的资源允许用户继续使用,则先对资源进行预占,并提示用户,资源即将到期,是否进行续约;如果用户在到期前未进行续约,则将预占资源释放;如果系统中无足够的资源允许用户继续使用,则提示用户GPU应用将要到期,请及时存档;
管理模块向Hypervisor发送请求;Hypervisor根据请求来进行操作:
删除带GPU功能的VM;为已有的VM卸载GPU设备。
较佳的,如果用户的请求与系统资源发生冲突时,为用户提供推荐方案:
A1:当用户选择资源优先时,系统会优先推荐GPU资源满足用户的时段;当用户选择时间优先时,系统会优先推荐时间贴近用户请求的资源;
C2:当冲突发生,并且用户选择进行推荐时,系统根据用户的优先原则,对相应的资源进行预占,并发送邮件,通知用户初次请求冲突,是否选择推荐资源,并且提示该资源在规定时间内有效;
如果用户在规定时间内确认接受该推荐方案,则系统将该资源的预占状态更正为使用状态;
如果用户未在规定时间内确认该推荐方案,则系统将资源的预占释放。
较佳的,所述修改、撤销请求流程按以下步骤进行:当用户的GPU应用尚未开始或续约尚未开始时,用户向管理模块提出修改或撤销GPU请求;
管理模块接收到用户的请求后,将记录中用户的请求或续约记录请求进行修改或撤销。
本发明的有益效果是:本发明能够在仅配置一个GPU虚拟化设备卡的情况下,更多的满足用户的需求,并且提高了GPU设备的利用率,有效的节约了资源。
附图说明
图1是本发明调度结构图。
图2是本发明应用流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明:
如图1和图2所示,一种多用户共享GPU资源的调度方法,包括用户向管理模块提出请求的步骤;修改、撤销请求流程的步骤;开始GPU流程的步骤以及结束GPU流程的步骤。
一种多用户共享GPU资源的调度方法,包括:用户向管理模块提出请求的步骤;修改、撤销请求流程的步骤;开始GPU流程的步骤以及结束GPU流程的步骤;
所述用户向管理模块提出请求按以下步骤进行:
步骤一、判断用户VM情况,并向管理模块提出请求:
当用户已有VM且有使用GPU资源的需要时,查询VM的GPU预约资源表;系统提供用户VM可用GPU资源预约表;用户从预约表中选择预约时段及能力,并向管理模块提出请求,然后执行步骤二;如表1所示,用户根据GPU资源表,申请GPU资源。
VM标识 | VM名称 | GPU能力/核数 | 可用时段1 | 可用时段2 | …… | 可用时段n |
表1.GPU资源表
如果是新使用,创建带GPU功能的VM或在已有的VM中增加GPU功能,并向管理模块提出请求,然后执行步骤二;
如果在预约的时间已满的时候,需要继续使用GPU功能,则为续约:向管理模块提出请求时需要指明需要GPU核数,如果是已有的VM,同时需要携带VM的标识信息;
步骤二:管理模块接收到请求后,对请求进行处理
A1:判断用户是续约请求、新建VM+GPU请求还是已有VM+GPU请求;
A2:检查用户的请求是否有效,包括用户的GPU使用额度,即同时能够申请使用的GPU核数限制;
A3:对用户的请求进行记录;如果用户需要续约,则直接进行续约,流程结束,否则开始GPU流程;
所述开始GPU流程按以下步骤进行:
管理模块定时检查系统中的GPU进行维护:
检查是否有将要开始的请求;如果有即将开始的请求,则检查系统中的资源是否满足;如果满足,则向Hypervisor发送请求;如果不满足,则将用户的GPU使用时间延后,并通知用户;
管理模块向Hypervisor发送请求;Hypervisor根据请求来进行操作:创建带GPU功能的VM或为已有的VM添加GPU设备;然后为VM配置GPU虚拟设备;
所述结束GPU流程按以下步骤进行:
管理模块定时检查系统中的GPU进行维护:
检查是否有将要到期的请求;如果有将要到期的请求,检查系统中是否有足够的资源允许用户续约;如果系统中有足够的资源允许用户继续使用,则先对资源进行预占,并提示用户,资源即将到期,是否进行续约;如果用户在到期前未进行续约,则将预占资源释放;如果系统中无足够的资源允许用户继续使用,则提示用户GPU应用将要到期,请及时存档;
管理模块向Hypervisor发送请求;Hypervisor根据请求来进行操作:
删除带GPU功能的VM;为已有的VM卸载GPU设备。
如果用户的请求与系统资源发生冲突时,为用户提供推荐方案:
A1:当用户选择资源优先时,系统会优先推荐GPU资源满足用户的时段;当用户选择时间优先时,系统会优先推荐时间贴近用户请求的资源;
C2:当冲突发生,并且用户选择进行推荐时,系统根据用户的优先原则,对相应的资源进行预占,并发送邮件,通知用户初次请求冲突,是否选择推荐资源,并且提示该资源在规定时间内有效;
如果用户在规定时间内确认接受该推荐方案,则系统将该资源的预占状态更正为使用状态;
如果用户未在规定时间内确认该推荐方案,则系统将资源的预占释放。当用户再次使用时,则需要再重新申请。
所述修改、撤销请求流程按以下步骤进行:当用户的GPU应用尚未开始或续约尚未开始时,用户向管理模块提出修改或撤销GPU请求;
管理模块接收到用户的请求后,将记录中用户的请求或续约记录请求进行修改或撤销。
当用户接收到系统的提示,管理模块定时检查系统中的GPU进行维护。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (2)
1.一种多用户共享GPU资源的调度方法,其特征在于包括:用户向管理模块提出请求的步骤;修改、撤销请求流程的步骤;开始GPU流程的步骤以及结束GPU流程的步骤;
所述用户向管理模块提出请求按以下步骤进行:
步骤一、判断用户VM情况,并向管理模块提出请求:
当用户已有VM且有使用GPU资源的需要时,查询GPU资源;系统提供用户VM可用GPU资源预约表;用户从预约表中选择预约时段及能力,并向管理模块提出请求,然后执行步骤二;
如果是新使用,创建带GPU功能的VM或在已有的VM中增加GPU功能,并向管理模块提出请求,然后执行步骤二;
如果在预约的时间已满的时候,需要继续使用GPU功能,则为续约:向管理模块提出请求时需要指明需要GPU核数,如果是已有的VM,同时需要携带VM的标识信息;
步骤二:管理模块接收到请求后,对请求进行处理:
A1:判断用户是续约请求、新建VM+GPU请求还是已有VM+GPU请求;
A2:检查用户的请求是否有效,包括用户的GPU使用额度,即同时能够申请使用的GPU核数限制;
A3:对用户的请求进行记录;如果用户需要续约,则直接进行续约,流程结束,否则开始GPU流程;
所述开始GPU流程按以下步骤进行:
管理模块定时检查系统中的GPU进行维护:
检查是否有将要开始的请求;如果有即将开始的请求,则检查系统中的资源是否满足;如果满足,则向Hypervisor发送请求;如果不满足,则将用户的GPU使用时间延后,并通知用户;
管理模块向Hypervisor发送请求;Hypervisor根据请求来进行操作:创建带GPU功能的VM或为已有的VM添加GPU设备;然后为VM配置GPU虚拟设备;
所述结束GPU流程按以下步骤进行:
管理模块定时检查系统中的GPU进行维护:
检查是否有将要到期的请求;如果有将要到期的请求,检查系统中是否有足够的资源允许用户续约;如果系统中有足够的资源允许用户继续使用,则先对资源进行预占,并提示用户,资源即将到期,是否进行续约;如果用户在到期前未进行续约,则将预占资源释放;如果系统中无足够的资源允许用户继续使用,则提示用户GPU应用将要到期,请及时存档;
管理模块向Hypervisor发送请求;Hypervisor根据请求来进行操作:
删除带GPU功能的VM;为已有的VM卸载GPU设备。
2.如权利要求1所述的一种多用户共享GPU资源的调度方法,其特征是:
所述修改、撤销请求流程按以下步骤进行:当用户的GPU应用尚未开始或续约尚未开始时,用户向管理模块提出修改或撤销GPU请求;
管理模块接收到用户的请求后,将记录中用户的请求或续约记录请求进行修改或撤销。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510884813.6A CN105528249B (zh) | 2015-12-06 | 2015-12-06 | 一种多用户共享gpu资源的调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510884813.6A CN105528249B (zh) | 2015-12-06 | 2015-12-06 | 一种多用户共享gpu资源的调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105528249A CN105528249A (zh) | 2016-04-27 |
CN105528249B true CN105528249B (zh) | 2019-04-05 |
Family
ID=55770494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510884813.6A Active CN105528249B (zh) | 2015-12-06 | 2015-12-06 | 一种多用户共享gpu资源的调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105528249B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804199B (zh) * | 2017-05-05 | 2021-03-05 | 龙芯中科技术股份有限公司 | 图形处理器虚拟化方法及装置 |
CN111736992B (zh) * | 2020-06-12 | 2024-02-23 | 中国银行股份有限公司 | 机器学习平台的gpu资源的管理方法及装置 |
CN115145730B (zh) * | 2022-07-05 | 2023-03-24 | 小米汽车科技有限公司 | 运行监测方法、装置、电子设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096600A (zh) * | 2009-12-14 | 2011-06-15 | 株式会社日立制作所 | 信息处理装置、资源调度方法、资源调度程序 |
CN102650950A (zh) * | 2012-04-10 | 2012-08-29 | 南京航空航天大学 | 一种支持多gpu虚拟化的平台架构及其工作方法 |
CN104252375A (zh) * | 2013-06-25 | 2014-12-31 | 国际商业机器公司 | 用于位于不同主机的多个虚拟机共享USB Key的方法和系统 |
CN104660711A (zh) * | 2015-03-13 | 2015-05-27 | 华存数据信息技术有限公司 | 一种基于图形处理器虚拟化的远程可视化应用方法 |
CN104737129A (zh) * | 2012-08-23 | 2015-06-24 | 思杰系统有限公司 | 用于对来宾虚拟机的硬件资源进行虚拟化的专用虚拟机 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9098323B2 (en) * | 2013-09-05 | 2015-08-04 | Nvidia Corporation | Simultaneous utilization of a first graphics processing unit (GPU) and a second GPU of a computing platform through a virtual machine (VM) in a shared mode and a dedicated mode respectively |
-
2015
- 2015-12-06 CN CN201510884813.6A patent/CN105528249B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096600A (zh) * | 2009-12-14 | 2011-06-15 | 株式会社日立制作所 | 信息处理装置、资源调度方法、资源调度程序 |
CN102650950A (zh) * | 2012-04-10 | 2012-08-29 | 南京航空航天大学 | 一种支持多gpu虚拟化的平台架构及其工作方法 |
CN104737129A (zh) * | 2012-08-23 | 2015-06-24 | 思杰系统有限公司 | 用于对来宾虚拟机的硬件资源进行虚拟化的专用虚拟机 |
CN104252375A (zh) * | 2013-06-25 | 2014-12-31 | 国际商业机器公司 | 用于位于不同主机的多个虚拟机共享USB Key的方法和系统 |
CN104660711A (zh) * | 2015-03-13 | 2015-05-27 | 华存数据信息技术有限公司 | 一种基于图形处理器虚拟化的远程可视化应用方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105528249A (zh) | 2016-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103970609B (zh) | 一种基于改进蚁群算法的云数据中心任务调度方法 | |
CN105528249B (zh) | 一种多用户共享gpu资源的调度方法 | |
JP6599439B2 (ja) | ワークフロー実行におけるシステムリソースの平等シェアリング | |
CN105487919A (zh) | 多核心处理器系统及任务分配方法 | |
US20180074864A1 (en) | Time-bound conditional resource deallocation | |
CN108334409A (zh) | 一种细粒度的高性能云资源管理调度方法 | |
WO2015131542A1 (zh) | 数据处理方法、装置和系统 | |
CN101354663A (zh) | 应用于虚拟机系统的真实cpu资源的调度方法及调度装置 | |
US20200174821A1 (en) | System, method and computer program for virtual machine resource allocation | |
CN104917839A (zh) | 一种用于云计算环境下的负载均衡方法 | |
CN105450684A (zh) | 云计算资源调度方法和系统 | |
CN111176833A (zh) | 一种多处理节点的任务分配方法及系统 | |
CN101908004A (zh) | 促进请求执行的装置和方法 | |
CN106383747A (zh) | 一种计算资源调度方法及装置 | |
US9400689B2 (en) | Resource allocation/de-allocation and activation/deactivation | |
CN105426255A (zh) | Hadoop大数据平台中基于网络I/O代价评估的ReduceTask数据本地性调度方法 | |
CN105607955A (zh) | 一种计算任务分配的方法及装置 | |
CN106530059A (zh) | 订单处理方法及系统 | |
CN105653347A (zh) | 一种服务器、资源管理方法及虚拟机管理器 | |
CN111308995A (zh) | 搬运机器人的调度方法、装置、介质及电子设备 | |
US9158582B2 (en) | Method for managing the threads of execution in a computer unit, and computer unit configured to implement said method | |
CN111352710B (zh) | 进程管理方法及装置、计算设备、存储介质 | |
CN104657204B (zh) | 短任务处理方法、装置及操作系统 | |
CN106484689B (zh) | 数据处理方法和装置 | |
KR102318863B1 (ko) | 클라우드 서비스를 제공하는 서버의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |