CN108829516B - 一种图形处理器资源虚拟化调度方法 - Google Patents
一种图形处理器资源虚拟化调度方法 Download PDFInfo
- Publication number
- CN108829516B CN108829516B CN201810547876.6A CN201810547876A CN108829516B CN 108829516 B CN108829516 B CN 108829516B CN 201810547876 A CN201810547876 A CN 201810547876A CN 108829516 B CN108829516 B CN 108829516B
- Authority
- CN
- China
- Prior art keywords
- algorithm
- service
- computing node
- service software
- software
- 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/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/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种图形处理器资源虚拟化调度方法,包括以下步骤:将基于图形处理器的算法服务软件编译成满足虚拟化标准的算法模板;将算法模板传入到集群的管理节点即服务调度器,并保存在服务调度器的算法库中;在集群的服务调度器上安装调度服务软件,在集群的计算节点上安装代理服务软件;客户端向服务调度器发起算法服务创建指令,调度服务软件接收到算法服务创建指令后,选择一台计算节点作为算法服务软件的运行节点;服务调度器中的调度服务软件发送远程指令给选择的计算节点,在该计算节点上下载算法模板,并启动算法模板中的算法服务软件。本发明的调度方法能够均衡集群中各计算节点的负载,使得集群中各计算节点的资源合理使用。
Description
技术领域
本发明属于集群资源调度技术领域,具体地讲涉及一种图形处理器资源虚拟化调度方法。
背景技术
GPU(图形处理器单元)之前主要用于3D游戏的渲染,但是现在GPU已经广泛用于加速计算性负载,比如深度学习、VR等。GPU是由几百个核组成,因此可以并发处理数千个线程。尽管GPU的内核数目远远超过CPU,但是它的每个核的处理能力远小于CPU的核,而且不具有现代操作系统的所需要的一些特性,GPU并不适用于处理普通的计算,它们更多地用于计算消耗性操作。
图形处理器单元主要进行浮点运算和并行运算,其浮点运算和并行运算速度可以比CPU强上百倍之多,使用图形处理器虚拟化技术之后,可以让运行在数据中心服务器上的虚拟机实例共享使用同一块或多块图形处理器处理器进行图形运算。
调度系统解决的是硬件资源虚拟化以后,如何在集群范围里解决资源的合理使用的问题。目前对于图形处理器资源的虚拟化常用于单机,且在集群调度方面,常见的调度方法难以满足资源虚拟化的调度,因此提出一种图形处理器资源虚拟化调度方法是目前亟待解决的问题。
发明内容
根据现有技术中存在的问题,本发明提供了一种图形处理器资源虚拟化调度方法,该调度方法能够均衡集群中各计算节点的负载,使得集群中各计算节点的资源合理使用。
为实现上述发明目的,本发明提供了一种图形处理器资源虚拟化调度方法,包括如下步骤:
S1,将基于图形处理器的算法服务软件编译成满足虚拟化标准的算法模板;所述虚拟化标准为Open Container Initiative(OCI);
S2,将算法模板传入到集群的管理节点即服务调度器,将算法模板保存在服务调度器的算法库中;
S3,在集群的服务调度器上安装调度服务软件,在集群的计算节点上安装代理服务软件;
S4,客户端向服务调度器发起算法服务创建指令,所述调度服务软件接收到算法服务创建指令后,根据设定的调度策略选择一台计算节点作为算法服务软件的运行节点;
S5,服务调度器中的调度服务软件发送远程指令给步骤S4中选择的计算节点,在该计算节点上下载算法模板,并启动算法模板中的算法服务软件。
优选的,所述服务调度器实时监测各个计算节点的算法服务软件的运行情况,当算法服务软件发生故障暂停或异常退出时,调度服务软件重新启动算法模板中的算法服务软件。
优选的,所述服务调度器实时监测各个计算节点的算法服务软件的运行情况,当某个计算节点发生故障,且与服务调度器失去连接超过设定时间后,调度服务软件根据设定的调度策略选择其他运行正常的计算节点作为算法服务软件的运行节点。
优选的,步骤S1中的算法模板包括算法服务软件本身、算法服务软件运行所依赖的软硬件资源、图形处理器的驱动版本号、图形处理器的硬件依赖条件。
优选的,步骤S2中的算法库用于存放算法模板,且算法库开放有http的监听端口,供各计算节点经过鉴权后下载算法模板。
优选的,步骤S4中,客户端通过REST接口、http协议的方式向服务调度器发起算法服务创建指令,调度服务软件根据各计算节点的代理服务软件采集到的各计算节点相应的软硬件环境、资源占用情况,并选择资源占用率最低的计算节点作为算法服务软件的运行节点。
进一步优选的,所述软硬件环境包括图形处理器的品牌、图形处理器的型号、图形处理器的驱动版本、计算节点的可用运行内存大小、计算节点的可用存储内存大小、计算节点的可用CPU核数。
本发明的有益效果在于:
1)本发明的调度方法将算法服务软件虚拟化,通过各计算节点的代理服务软件采集到的各计算节点相应的软硬件环境、资源占用情况,并选择资源占用率最低的计算节点作为算法服务软件的运行节点。该调度方法能够均衡集群中各节点的负载,使得集群中各节点的资源合理使用。
附图说明
图1为本发明的调度方法对应的系统组成示意图。
图2为本发明的调度方法的流程图。
图3为本发明实施例中的计算节点node1、node2、node3、node4的软硬件环境、资源占用情况示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1、图2所示,本发明提供了一种图形处理器资源虚拟化调度方法,包括如下步骤:
1、将基于图形处理器的算法服务软件编译成满足虚拟化标准的算法模板;
具体的,算法模板包括算法服务软件本身、算法服务软件运行所依赖的软硬件资源、图形处理器的驱动版本号、图形处理器的硬件依赖条件。
2、将算法模板传入到集群的管理节点即服务调度器,将算法模板保存在服务调度器的算法库中;
具体的,所述算法库用于存放算法模板,且算法库开放有http的监听端口,供各计算节点经过鉴权后下载算法模板。
3、在集群的服务调度器上安装调度服务软件,在集群的计算节点上安装代理服务软件;
4、客户端向服务调度器发起算法服务创建指令,调度服务软件接收到算法服务创建指令后,根据设定的调度策略选择一台计算节点作为算法服务软件的运行节点;
具体的,客户端通过REST接口、http协议的方式向服务调度器发起算法服务创建指令,调度服务软件根据各计算节点的代理服务软件采集到的各计算节点相应的软硬件环境、资源占用情况,并选择资源占用率最低的计算节点作为算法服务软件的运行节点;
所述软硬件环境包括图形处理器的品牌、图形处理器的型号、图形处理器的驱动版本、计算节点的可用运行内存大小、计算节点的可用存储内存大小、计算节点的可用CPU核数。
5、服务调度器中的调度服务软件发送远程指令给步骤S4中选择的计算节点,在该计算节点上下载算法模板,并启动算法模板中的算法服务软件;
所述服务调度器实时监测各个计算节点的算法服务软件的运行情况,当算法服务软件发生故障暂停或异常退出时,调度服务软件重新启动算法模板中的算法服务软件;
所述服务调度器实时监测各个计算节点的算法服务软件的运行情况,当某个计算节点发生故障,且与服务调度器失去连接超过设定时间后,调度服务软件根据设定的调度策略选择其他运行正常的计算节点作为算法服务软件的运行节点。
下面结合实施例和附图对本发明的调度方法进行详细说明。
实施例:
1、将基于图形处理器的车牌识别算法编译成满足虚拟化标准的算法模板,其中将图形处理器的驱动版本号和其硬件依赖条件作为标签gpu375.66打入该算法模板,则该算法模板的全名为LicensePlateRecognition:gpu375.66;所述算法模板包括算法服务软件本身、算法服务软件运行所依赖的软硬件资源。
2、将上述算法模板传入集群的服务调度器的算法库中,供服务调度器的调度服务软件调度服务时使用:算法库用于存放算法模板,并且开放一个http的监听端口:http://192.168.1.10:5000,供各计算节点经过鉴权后请求下载算法模板。
3、客户端通过REST接口、http协议的方式向服务调度器发起算法服务创建指令。REST接口方式如表1所示。
表1:REST接口方式表格
4、调度服务软件接收到算法服务创建指令后,根据设定的调度策略选择一台计算节点作为算法服务软件的运行节点。
具体的,调度服务软件接收到算法服务创建指令后,调度服务软件根据各计算节点的代理服务软件采集到的各计算节点相应的软硬件环境、资源占用情况,并选择资源占用率最低的计算节点作为算法服务软件的运行节点。
如图3所示,图3中的4个计算节点node1、node2、node3、node4均为集群的计算节点,各计算节点的软硬件环境、资源占用情况见图3所示。
调度服务软件收集各计算节点的软硬件环境、资源占用情况,因为车牌识别服务需要图形处理器硬件,因此排除计算节点node4,在剩余计算节点中,由于车牌识别算法对显存、内存和CPU资源的敏感度递减,因此,根据实现规定的调度策略,计算节点node1和计算节点node2可用显存一致,排除可用显存较小的计算节点node3,而在其他资源情况类似的情况下,计算节点node1有更多的CPU资源,所以最终选择将车牌识别算法调度在计算节点node1上。
5、服务调度器中的调度服务软件发送远程指令给计算节点node1,在计算节点node1上下载算法模板,并启动算法模板中的车牌识别算法。
所述服务调度器实时监测各个计算节点的车牌识别算法的运行情况,当车牌识别算法发生故障暂停或异常退出时,调度服务软件重新启动算法模板中的车牌识别算法。
所述服务调度器实时监测各个计算节点的车牌识别算法的运行情况,当某个计算节点发生故障,且与服务调度器失去连接超过设定时间120秒后,服务调度器将会调度原先运行在计算节点node1的车牌识别算法到其他正常且符合调度策略的计算节点,在此例中应当调度至node2。
综上所述,本发明的调度方法能够均衡集群中各计算节点的负载,使得集群中各计算节点的资源合理使用。
Claims (6)
1.一种图形处理器资源虚拟化调度方法,其特征在于,包括如下步骤:
S1,将基于图形处理器的算法服务软件编译成满足虚拟化标准的算法模板;
所述虚拟化标准为Open Container Initiative;
S2,将算法模板传入到集群的管理节点即服务调度器,将算法模板保存在服务调度器的算法库中;
S3,在集群的服务调度器上安装调度服务软件,在集群的计算节点上安装代理服务软件;
S4,客户端向服务调度器发起算法服务创建指令,所述调度服务软件接收到算法服务创建指令后,根据设定的调度策略选择一台计算节点作为所述算法服务软件的运行节点;
S5,服务调度器中的调度服务软件发送远程指令给步骤S4中选择的计算节点,在该计算节点上下载算法模板,并启动算法模板中的算法服务软件;
步骤S4中,客户端通过REST接口、http协议的方式向服务调度器发起算法服务创建指令,调度服务软件根据各计算节点的代理服务软件采集到的各计算节点相应的软硬件环境、资源占用情况,选择资源占用率最低的计算节点作为算法服务软件的运行节点。
2.根据权利要求1所述的一种图形处理器资源虚拟化调度方法,其特征在于:所述服务调度器实时监测各个计算节点的算法服务软件的运行情况,当算法服务软件发生故障暂停或异常退出时,调度服务软件重新启动算法模板中的算法服务软件。
3.根据权利要求1所述的一种图形处理器资源虚拟化调度方法,其特征在于:所述服务调度器实时监测各个计算节点的算法服务软件的运行情况,当某个计算节点发生故障,且与服务调度器失去连接超过设定时间后,调度服务软件根据设定的调度策略选择其他运行正常的计算节点作为算法服务软件的运行节点。
4.根据权利要求1所述的一种图形处理器资源虚拟化调度方法,其特征在于:步骤S1中的算法模板包括算法服务软件本身、算法服务软件运行所依赖的软硬件资源、图形处理器的驱动版本号、图形处理器的硬件依赖条件。
5.根据权利要求1所述的一种图形处理器资源虚拟化调度方法,其特征在于:步骤S2中的算法库用于存放算法模板,且算法库开放有http的监听端口,供各计算节点经过鉴权后下载算法模板。
6.根据权利要求1所述的一种图形处理器资源虚拟化调度方法,其特征在于:所述软硬件环境包括图形处理器的品牌、图形处理器的型号、图形处理器的驱动版本、计算节点的可用运行内存大小、计算节点的可用存储内存大小、计算节点的可用CPU核数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810547876.6A CN108829516B (zh) | 2018-05-31 | 2018-05-31 | 一种图形处理器资源虚拟化调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810547876.6A CN108829516B (zh) | 2018-05-31 | 2018-05-31 | 一种图形处理器资源虚拟化调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108829516A CN108829516A (zh) | 2018-11-16 |
CN108829516B true CN108829516B (zh) | 2021-08-10 |
Family
ID=64145261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810547876.6A Active CN108829516B (zh) | 2018-05-31 | 2018-05-31 | 一种图形处理器资源虚拟化调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108829516B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109995590A (zh) * | 2019-04-08 | 2019-07-09 | 陈鹏 | 一种用户自定义设备数据处理服务托管方法 |
CN113721944B (zh) * | 2021-09-06 | 2024-09-17 | 浙江大华技术股份有限公司 | 算法软件的启动方法及装置、存储介质、电子装置 |
CN115994022B (zh) * | 2023-03-17 | 2023-08-01 | 北京百度网讯科技有限公司 | 算法服务的调用方法、装置、电子设备和存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521012A (zh) * | 2011-11-24 | 2012-06-27 | 华中科技大学 | 基于虚拟机的gpu集群管理系统 |
CN103309748A (zh) * | 2013-06-19 | 2013-09-18 | 上海交通大学 | 云游戏中的gpu虚拟资源自适应调度宿主机系统和调度方法 |
CN104216783A (zh) * | 2014-08-20 | 2014-12-17 | 上海交通大学 | 云游戏中虚拟gpu资源自主管理与控制方法 |
CN106155804A (zh) * | 2015-04-12 | 2016-11-23 | 北京典赞科技有限公司 | 对gpu云计算资源统一管理服务的方法和系统 |
CN106383706A (zh) * | 2016-09-05 | 2017-02-08 | 广州云晫信息科技有限公司 | 基于虚拟桌面和虚拟操作系统的自适应云桌面服务系统 |
CN106406977A (zh) * | 2016-08-26 | 2017-02-15 | 山东乾云启创信息科技股份有限公司 | 一种gpu虚拟化实现系统及方法 |
CN106663021A (zh) * | 2014-06-26 | 2017-05-10 | 英特尔公司 | 虚拟化环境中的智能gpu调度 |
CN106959891A (zh) * | 2017-03-30 | 2017-07-18 | 山东超越数控电子有限公司 | 一种实现gpu调度的集群管理方法和系统 |
FR3057083A1 (fr) * | 2016-09-30 | 2018-04-06 | Blade | Procede de gestion de cartes graphiques dans un systeme informatique |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10109099B2 (en) * | 2016-09-29 | 2018-10-23 | Intel Corporation | Method and apparatus for efficient use of graphics processing resources in a virtualized execution enviornment |
-
2018
- 2018-05-31 CN CN201810547876.6A patent/CN108829516B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521012A (zh) * | 2011-11-24 | 2012-06-27 | 华中科技大学 | 基于虚拟机的gpu集群管理系统 |
CN103309748A (zh) * | 2013-06-19 | 2013-09-18 | 上海交通大学 | 云游戏中的gpu虚拟资源自适应调度宿主机系统和调度方法 |
CN106663021A (zh) * | 2014-06-26 | 2017-05-10 | 英特尔公司 | 虚拟化环境中的智能gpu调度 |
CN104216783A (zh) * | 2014-08-20 | 2014-12-17 | 上海交通大学 | 云游戏中虚拟gpu资源自主管理与控制方法 |
CN106155804A (zh) * | 2015-04-12 | 2016-11-23 | 北京典赞科技有限公司 | 对gpu云计算资源统一管理服务的方法和系统 |
CN106406977A (zh) * | 2016-08-26 | 2017-02-15 | 山东乾云启创信息科技股份有限公司 | 一种gpu虚拟化实现系统及方法 |
CN106383706A (zh) * | 2016-09-05 | 2017-02-08 | 广州云晫信息科技有限公司 | 基于虚拟桌面和虚拟操作系统的自适应云桌面服务系统 |
FR3057083A1 (fr) * | 2016-09-30 | 2018-04-06 | Blade | Procede de gestion de cartes graphiques dans un systeme informatique |
CN106959891A (zh) * | 2017-03-30 | 2017-07-18 | 山东超越数控电子有限公司 | 一种实现gpu调度的集群管理方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108829516A (zh) | 2018-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110888743B (zh) | 一种gpu资源使用方法、装置及存储介质 | |
US20190377604A1 (en) | Scalable function as a service platform | |
CN112035238B (zh) | 任务调度处理方法、装置、集群系统及可读存储介质 | |
CN106933669B (zh) | 用于数据处理的装置和方法 | |
CN108829516B (zh) | 一种图形处理器资源虚拟化调度方法 | |
CN111126895A (zh) | 一种复杂场景下调度智能分析算法的管理仓库及调度方法 | |
CN112380020A (zh) | 一种算力资源分配方法、装置、设备及存储介质 | |
CN113196238B (zh) | 服务感知的无服务器云计算系统 | |
CN116541134B (zh) | 多架构集群中容器的部署方法及装置 | |
CN115686805A (zh) | Gpu资源共享的方法和装置、调度gpu资源共享的方法和装置 | |
CN112988346B (zh) | 任务处理方法、装置、设备及存储介质 | |
CN114896068A (zh) | 资源分配方法、资源分配装置、电子设备及存储介质 | |
CN114968567A (zh) | 用于分配计算节点的计算资源的方法、装置和介质 | |
CN103677983A (zh) | 应用的调度方法及装置 | |
CN112698838A (zh) | 多云容器部署系统及其容器部署方法 | |
CN113419842B (zh) | 一种基于JavaScript构建边缘计算微服务的方法、装置 | |
Wu et al. | ABP scheduler: Speeding up service spread in docker swarm | |
US10300386B1 (en) | Content item instance scaling based on wait time | |
US11843548B1 (en) | Resource scaling of microservice containers | |
CN111522664A (zh) | 基于分布式服务的服务资源管控方法及装置 | |
CN117632461A (zh) | 任务调度方法、装置、存储介质及计算机设备 | |
CN113254143B (zh) | 虚拟化网络功能网元编排调度方法、装置和系统 | |
KR102413924B1 (ko) | 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스 시스템에서의 프로세스 그룹 관리 방법 및 그 시스템 | |
CN114640681A (zh) | 一种数据处理方法和系统 | |
CN110874256A (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 |