CN108829516A - 一种图形处理器资源虚拟化调度方法 - Google Patents
一种图形处理器资源虚拟化调度方法 Download PDFInfo
- Publication number
- CN108829516A CN108829516A CN201810547876.6A CN201810547876A CN108829516A CN 108829516 A CN108829516 A CN 108829516A CN 201810547876 A CN201810547876 A CN 201810547876A CN 108829516 A CN108829516 A CN 108829516A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- service software
- calculate node
- graphics processor
- 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
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/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)
- Information Transfer Between Computers (AREA)
- Stored Programmes (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 (7)
1.一种图形处理器资源虚拟化调度方法,其特征在于,包括如下步骤:
S1,将基于图形处理器的算法服务软件编译成满足虚拟化标准的算法模板;
S2,将算法模板传入到集群的管理节点即服务调度器,将算法模板保存在服务调度器的算法库中;
S3,在集群的服务调度器上安装调度服务软件,在集群的计算节点上安装代理服务软件;
S4,客户端向服务调度器发起算法服务创建指令,所述调度服务软件接收到算法服务创建指令后,根据设定的调度策略选择一台计算节点作为所述算法服务软件的运行节点;
S5,服务调度器中的调度服务软件发送远程指令给步骤S4中选择的计算节点,在该计算节点上下载算法模板,并启动算法模板中的算法服务软件。
2.根据权利要求1所述的一种图形处理器资源虚拟化调度方法,其特征在于:所述服务调度器实时监测各个计算节点的算法服务软件的运行情况,当算法服务软件发生故障暂停或异常退出时,调度服务软件重新启动算法模板中的算法服务软件。
3.根据权利要求1所述的一种图形处理器资源虚拟化调度方法,其特征在于:所述服务调度器实时监测各个计算节点的算法服务软件的运行情况,当某个计算节点发生故障,且与服务调度器失去连接超过设定时间后,调度服务软件根据设定的调度策略选择其他运行正常的计算节点作为算法服务软件的运行节点。
4.根据权利要求1所述的一种图形处理器资源虚拟化调度方法,其特征在于:步骤S1中的算法模板包括算法服务软件本身、算法服务软件运行所依赖的软硬件资源、图形处理器的驱动版本号、图形处理器的硬件依赖条件。
5.根据权利要求1所述的一种图形处理器资源虚拟化调度方法,其特征在于:步骤S2中的算法库用于存放算法模板,且算法库开放有http的监听端口,供各计算节点经过鉴权后下载算法模板。
6.根据权利要求1所述的一种图形处理器资源虚拟化调度方法,其特征在于:步骤S4中,客户端通过REST接口、http协议的方式向服务调度器发起算法服务创建指令,调度服务软件根据各计算节点的代理服务软件采集到的各计算节点相应的软硬件环境、资源占用情况,选择资源占用率最低的计算节点作为算法服务软件的运行节点。
7.根据权利要求6所述的一种图形处理器资源虚拟化调度方法,其特征在于:所述软硬件环境包括图形处理器的品牌、图形处理器的型号、图形处理器的驱动版本、计算节点的可用运行内存大小、计算节点的可用存储内存大小、计算节点的可用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 true CN108829516A (zh) | 2018-11-16 |
CN108829516B 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109995590A (zh) * | 2019-04-08 | 2019-07-09 | 陈鹏 | 一种用户自定义设备数据处理服务托管方法 |
CN115994022A (zh) * | 2023-03-17 | 2023-04-21 | 北京百度网讯科技有限公司 | 算法服务的调用方法、装置、电子设备和存储介质 |
Citations (10)
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调度的集群管理方法和系统 |
US20180089881A1 (en) * | 2016-09-29 | 2018-03-29 | Stephen P. Johnson | Method and apparatus for efficient use of graphics processing resources in a virtualized execution environment |
FR3057083A1 (fr) * | 2016-09-30 | 2018-04-06 | Blade | Procede de gestion de cartes graphiques dans un systeme informatique |
-
2018
- 2018-05-31 CN CN201810547876.6A patent/CN108829516B/zh active Active
Patent Citations (10)
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 | 广州云晫信息科技有限公司 | 基于虚拟桌面和虚拟操作系统的自适应云桌面服务系统 |
US20180089881A1 (en) * | 2016-09-29 | 2018-03-29 | Stephen P. Johnson | Method and apparatus for efficient use of graphics processing resources in a virtualized execution environment |
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调度的集群管理方法和系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109995590A (zh) * | 2019-04-08 | 2019-07-09 | 陈鹏 | 一种用户自定义设备数据处理服务托管方法 |
CN115994022A (zh) * | 2023-03-17 | 2023-04-21 | 北京百度网讯科技有限公司 | 算法服务的调用方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108829516B (zh) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10289973B2 (en) | System and method for analytics-driven SLA management and insight generation in clouds | |
CN110134495B (zh) | 一种容器跨主机在线迁移方法、存储介质及终端设备 | |
CN110808922B (zh) | 一种消息处理方法、装置、存储介质及电子设备 | |
CN109117265A (zh) | 在集群中调度作业的方法、装置、设备及存储介质 | |
CN110661842B (zh) | 一种资源的调度管理方法、电子设备和存储介质 | |
CN104428752A (zh) | 将虚拟机流卸载至物理队列 | |
WO2017010922A1 (en) | Allocation of cloud computing resources | |
KR101471749B1 (ko) | 클라우드 서비스의 가상자원 할당을 위한 퍼지 로직 기반의 자원평가 장치 및 방법 | |
US11252149B1 (en) | Resource management techniques for dialog-driven applications | |
CN115033340A (zh) | 一种宿主机的选择方法及相关装置 | |
CN109766172A (zh) | 一种异步任务调度方法以及装置 | |
EP3021521A1 (en) | A method and system for scaling, telecommunications network and computer program product | |
CN110832458A (zh) | 个性化机器学习模型的隐身模式 | |
CN109960579B (zh) | 一种调整业务容器的方法及装置 | |
CN108829516A (zh) | 一种图形处理器资源虚拟化调度方法 | |
CN115633039A (zh) | 通信建立方法、负载均衡装置、设备及存储介质 | |
CN109729113A (zh) | 管理专用处理资源的方法、服务器系统和计算机程序产品 | |
CN113608751A (zh) | 推理服务平台的运行方法、装置、设备及存储介质 | |
CN117573291A (zh) | 跨数据中心的多集群管理方法、装置、设备及存储介质 | |
CN110727511B (zh) | 应用程序的控制方法、网络侧设备和计算机可读存储介质 | |
CN112905338A (zh) | 计算资源自动分配方法及装置 | |
CN115357401B (zh) | 一种基于多数据中心的任务调度与可视化方法和系统 | |
CN115361382B (zh) | 基于数据群组的数据处理方法、装置、设备和存储介质 | |
US9537742B2 (en) | Automatic adjustment of application launch endpoints | |
US11720414B2 (en) | Parallel execution controller for partitioned segments of a data model |
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 |