CN102521012B - 基于虚拟机的gpu集群管理系统 - Google Patents
基于虚拟机的gpu集群管理系统 Download PDFInfo
- Publication number
- CN102521012B CN102521012B CN201110378981.XA CN201110378981A CN102521012B CN 102521012 B CN102521012 B CN 102521012B CN 201110378981 A CN201110378981 A CN 201110378981A CN 102521012 B CN102521012 B CN 102521012B
- Authority
- CN
- China
- Prior art keywords
- gpu
- virtual machine
- module
- cluster management
- information
- 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.)
- Expired - Fee Related
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种基于虚拟机的GPU集群管理系统,包括集群管理节点和多个GPU集群节点,GPU集群节点又包括一个管理域和多个虚拟机。各虚拟机接收用户的CUDA作业,将其转发给集群管理节点,集群管理节点根据CUDA作业要求、GPS的参数信息以及虚拟机的当前作业队列信息指定合适的虚拟机运行作业;被指定的虚拟机运行作业过程中,拦截作业务中的特权指令,将其传送给管理域,管理域通过GPU驱动操作GPU运行特权指令,返回运行结果给对应的虚拟机以协助虚拟机的GUDA作业运行。本发明提供了先进的集群架构,支持虚拟桌面用户通过客户端提交GPU任务。该就能架构符合一系列的功能要求,包括网络透明性,易操作性和可扩展性。
Description
技术领域
本发明涉及集群管理的技术领域,更具体地涉及在虚拟桌面平台下提供支持GPU计算任务运行和多个GPU服务器组成的GPU集群计算资源的调度和管理的系统。
背景技术
当前远程桌面技术受到人们的追捧,当某台计算机开启了远程桌面连接功能后我们就可以在网络的另一端控制这台计算机了,通过远程桌面功能我们可以实时的操作这台计算机,在上面运行各种应用程序,所有的一切都好像是直接在该计算机上操作一样。
集群是使用多个计算机,如典型的个人计算机或服务器,通过网络互联,来组成一个对用户来说单一的高可用性的系统。集群计算能够被用来实现负载均衡,当自己的计算机不满足某计算作业的要求时,集群系统可以把作业提交到支持该作业的计算节点上,而对计算机的使用者透明。从而,对外界来说,集群就像是一个唯一的系统。当前高校和研究院都广泛建立集群系统进行科学研究。但是目前没有基于虚拟机的GPU集群系统,不仅使集群支持GPU计算,还满足虚拟机用户进行GPU计算的支持。同时传统的集群调度算法使GPU效率低下,不利于GPU充分发挥强劲的计算能力。
发明内容
本发明的目的在于提供一种基于虚拟机的GPU集群管理系统,该系统具有网络透明性和可扩展性。
如图1和2所示,本发明系统包括一个集群管理节点和多个与其相接的GPU集群节点。
GPU集群节点包括一个管理域和多个虚拟机。虚拟机提供用户操作接口以接收用户的CUDA作业,拦截任务中的特权指令,将其传送给管理域。管理域通过GPU驱动操作GPU执行特权指令,返回执行结果给对应的虚拟机。
虚拟机包括GPU信息收集模块1.1、集群管理模块2.1和vCUDA库拦截模块3.1。GPU信息收集模块1.1,通过CUDA库提供的API函数,获取本集群节点的GPU参数信息,包括GPU型号、GPU核数、共享内存大小、CUDA驱动版本以及GPU支持的计算能力信息,而后发送给集群管理模块2.1;集群管理模块2.1,提供接口给用户提交CUDA作业信息,将其与GPU参数信息、作业完成信息一起传送给集群管理节点,并接收集群管理节点发送的CUDA作业调度指令,执行该指令指定的CUDA作业,将执行结果传送给提交该作业的虚拟机;vCUDA库拦截模块3.1,在集群管理模块2.1执行作业过程中,实时拦截GPU作业中的特权指令,将其传送给管理域,并接收管理域返回的特权指令执行结果以协助集群管理模块2.1的CUDA作业运行。
管理域包括vCUDA库接收模块4.1。vCUDA库接收模块4.1从vCUDA库拦截模块3.1接收特权指令,调用CUDA应用程序API,通过GPU驱动操作实际硬件GPU执行特权指令,并将执行结果返回给对应的虚拟机的vCUDA库拦截模块3.1。CUDA库是NVIDIA推出的库函数,用户可以直接使用较为简单的CUDA API实现对GPU的操作,取代了以前复杂的图形操作。
集群管理节点包括集群管理中心模块5、GPU节点数据结构模块6和GPU集群调度模块7。集群管理中心模块5接收各GPU集群节点的虚拟机的集群管理模块2.1发送过来的GPU参数信息、CUDA作业信息和虚拟机的作业完成信息,将GPU参数信息和完成作业信息传送给GPU节点数据结构模块6,将CUDA作业信息传送给GPU集群调度模块7,并依据来自GPU集群调度模块7的作业调度结果把作业分配给合适的集群计算节点运行;GPU节点数据结构模块6,接收集群管理中心模块5发送过来的节点GPU信息和虚拟机的作业完成信息,将作业完成信息对应的虚拟机的作业次数减一,还从GPU集群调度模块接收当前分配作业的虚拟机信息,将该虚拟机的作业计数加一。作业计数初始化为0,表示当前GPU空闲,当作业计数大于0时,表示该GPU处于忙碌状态;GPU集群调度模块7,根据集群管理中心模块5提供的作业信息和GPU节点数据结构模块6的GPU参数信息以及虚拟机作业计数,根据调度算法为当前作业分配合适的计算虚拟机,将调度结果传送给集群管理中心模块,同时将当前被分配作业的虚拟机信息传送给GPU节点数据结构模块6。
所述调度算法具体为:查询GPU参数信息,寻找满足当前作业要求的虚拟机,从满足要求的虚拟机中寻找作业计数最小者作为当前作业的执行虚拟机。
本发明的技术效果体现在:
本发明的基于虚拟机的GPU集群系统提供了先进的集群架构,支持虚拟桌面用户通过客户端提交GPU任务。该集群架构符合一系列的功能要求,包括网络透明性,易操作性和可扩展性。它利用torque分布式集群管理软件,把安装有GPU的服务器上的虚拟机组件成虚拟机集群,支持虚拟桌面用户提交CPU以外的GPU作业,同时,本发明提供了有效的GPU调度算法,有效提高GPU效率。
附图说明
图1为基于虚拟机的GPU集群管理系统整体结构图;
图2为集群节点详细结构图。
具体实施方式
下面举例说明本系统实施过程中的配置情况。
表1软硬件相应配置清单
操作系统 | 处理器/虚拟处理器 | 硬盘 | 内存 | GPU | 网络带宽 | |
Dom0 | Ubuntu8.1064bit | Pentium Dual-Core2.60GHz*2 | 500GB | 2GB | GTX260 | 100Mbps |
DomU1 | Ubuntu8.1064bit | Pentium Dual-Core2.60GHz*1 | 8GB | 512MB | ||
DomU2 | Ubuntu8.1064bit | Pentium Dual-Core2.60GHz*1 | 8GB | 512MB |
在多台物理机器上部署虚拟机管理器和多个虚拟机,并使用本地机器来连接该虚拟机,系统配置如表1所示。
在每台集群节点物理平台上安装了虚拟机管理器—Xen,部署了1个管理域Domain-0和2个半虚拟化虚拟机,64位内核Ubuntu8.10版本。GPU集群管理节点为64位内核Ubuntu8.10。每个虚拟机都安装vCUDA和集群管理系统,管理域安装相应的CUDA和GPU驱动。GPU集群管理节点安装集群管理系统,所有虚拟机和GPU集群管理节点使用100Mbps的局域网互连,构成基于虚拟机的GPU集群管理系统。
经多次测试,整个系统能够稳定地工作。用户可以使用本地客户端直接操作虚拟机,通过本发明提供的简单GPU集群管理系统图形界面提交CUDA作业,集群系统把该作业分配到合适的集群计算节点上运行,同时,用户可以查看集群节点和作业情况,等作业运行完毕,可查看作业运行结果。
本发明不仅局限于上述具体实施方式,本领域一般技术人员根据本发明公开的内容,可以采用其它多种具体实施方式实施本发明,因此,凡是采用本发明的设计结构和思路,做一些简单的变化或更改的设计,都落入本发明保护的范围。
Claims (1)
1.一种基于虚拟机的GPU集群管理系统,包括一个集群管理节点和多个与其相接的GPU集群节点;
所述GPU集群节点包括一个管理域和多个虚拟机;
所述虚拟机包括GPU信息收集模块(1.1)、集群管理模块(2.1)和vCUDA库拦截模块(3.1);GPU信息收集模块(1.1),收集本集群节点的GPU参数信息,传送给集群管理模块(2.1);集群管理模块(2.1),提供接口给用户提交CUDA作业信息,将其与GPU参数信息、作业完成信息一起传送给集群管理节点,接收来自集群管理节点传送的CUDA作业调度指令,运行该指令指定的CUDA作业,将该作业运行完成结果传送给提交该作业的虚拟机;vCUDA库拦截模块(3.1),在集群管理模块(2.1)执行作业过程中,实时拦截GPU作业中的特权指令,将其传送给管理域,并接收管理域返回的特权指令运行结果以协助集群管理模块(2.1)的CUDA作业运行;
所述管理域包括vCUDA库接收模块(4.1);vCUDA库接收模块(4.1),从vCUDA库拦截模块(3.1)接收特权指令,调用CUDA应用程序API通过GPU驱动操作实际硬件GPU运行特权指令,并将特权指令运行结果返回给其对应的虚拟机的vCUDA库拦截模块(3.1);
所述集群管理节点包括集群管理中心模块(5)、GPU节点数据结构模块(6)和GPU集群调度模块(7);集群管理中心模块(5),接收来自虚拟机的集群管理模块(2.1)的GPU参数信息、CUDA作业信息和作业完成信息,将GPU参数信息和作业完成信息传送给GPU节点数据结构模块(6),将CUDA作业信息传送给GPU集群调度模块(7),依据来自GPU集群调度模块(7)的作业调度结果产生CUDA作业调度指令;GPU节点数据结构模块(6),接收来自集群管理中心模块(5)的GPU参数信息和作业完成信息,将作业完成信息所来源的虚拟机的作业计数减一,接收来自GPU集群调度模块(7)的执行虚拟机信息,将该执行虚拟机的作业计数加一;GPU集群调度模块(7),查询GPU节点数据结构模块(6)中的GPU参数信息,寻找满足CUDA作业要求的虚拟机,从满足要求的虚拟机中寻找作业计数最小者作为该作业的执行虚拟机,进而产生包含CUDA作业和该作业的执行虚拟机信息的作业调度结果,将作业调度结果传送给集群管理中心模块(5),同时将执行虚拟机信息传送给GPU节点数据结构模块(6)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110378981.XA CN102521012B (zh) | 2011-11-24 | 2011-11-24 | 基于虚拟机的gpu集群管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110378981.XA CN102521012B (zh) | 2011-11-24 | 2011-11-24 | 基于虚拟机的gpu集群管理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102521012A CN102521012A (zh) | 2012-06-27 |
CN102521012B true CN102521012B (zh) | 2014-08-27 |
Family
ID=46291951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110378981.XA Expired - Fee Related CN102521012B (zh) | 2011-11-24 | 2011-11-24 | 基于虚拟机的gpu集群管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102521012B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103347059B (zh) * | 2013-06-20 | 2016-06-22 | 北京奇虎科技有限公司 | 实现用户配置参数传递的方法、客户端和系统 |
CN103365726B (zh) * | 2013-07-08 | 2016-05-25 | 华中科技大学 | 一种面向gpu集群的资源管理方法和系统 |
CN103414712B (zh) * | 2013-08-05 | 2016-01-27 | 深圳市杰云科技有限公司 | 一种分布式虚拟桌面管理系统和方法 |
CN105122210B (zh) | 2013-12-31 | 2020-02-21 | 华为技术有限公司 | Gpu虚拟化的实现方法及相关装置和系统 |
US10853118B2 (en) * | 2015-12-21 | 2020-12-01 | Intel Corporation | Apparatus and method for pattern-driven page table shadowing for graphics virtualization |
CN106201720B (zh) * | 2016-07-11 | 2019-10-29 | 广州高能计算机科技有限公司 | 虚拟对称多处理虚拟机创建方法、数据处理方法及系统 |
US11321111B2 (en) | 2016-09-05 | 2022-05-03 | Huawei Technologies Co., Ltd. | Allocation of graphics processing units for virtual machines |
CN108241532A (zh) * | 2016-12-23 | 2018-07-03 | 北京奇虎科技有限公司 | Gpu资源的管理分配方法和管理分配装置 |
CN106959891A (zh) * | 2017-03-30 | 2017-07-18 | 山东超越数控电子有限公司 | 一种实现gpu调度的集群管理方法和系统 |
CN109213565B (zh) * | 2017-06-29 | 2023-08-11 | 中兴通讯股份有限公司 | 异构虚拟计算资源的管理方法、相关设备及存储介质 |
CN108363623A (zh) * | 2018-02-27 | 2018-08-03 | 郑州云海信息技术有限公司 | Gpu资源调度方法、装置、设备及计算机可读存储介质 |
CN108829516B (zh) * | 2018-05-31 | 2021-08-10 | 安徽四创电子股份有限公司 | 一种图形处理器资源虚拟化调度方法 |
CN108984187A (zh) * | 2018-07-19 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种服务器cuda环境配置方法、装置、设备及存储介质 |
CN110471766B (zh) * | 2019-08-06 | 2022-12-30 | 北京华恒盛世科技有限公司 | 一种基于cuda的gpu资源调度系统和方法 |
CN110750282B (zh) * | 2019-10-14 | 2021-04-02 | 支付宝(杭州)信息技术有限公司 | 用于运行应用程序的方法、装置及gpu节点 |
CN111309440B (zh) * | 2020-02-16 | 2022-07-08 | 苏州浪潮智能科技有限公司 | 一种多类型gpu的管理调度的方法和设备 |
CN111625340B (zh) * | 2020-05-29 | 2024-01-23 | 北京朋创天地科技有限公司 | 一种虚拟桌面环境作业调度方法及系统 |
KR102563374B1 (ko) * | 2021-04-13 | 2023-08-04 | 한국과학기술원 | 공유 gpu 클러스터의 분산 딥 러닝 작업 스케줄링 방법 및 시스템 |
CN114661465A (zh) * | 2022-03-17 | 2022-06-24 | 维塔科技(北京)有限公司 | 资源管理的方法、装置、存储介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7203944B1 (en) * | 2003-07-09 | 2007-04-10 | Veritas Operating Corporation | Migrating virtual machines among computer systems to balance load caused by virtual machines |
CN101504620A (zh) * | 2009-03-03 | 2009-08-12 | 华为技术有限公司 | 一种虚拟化集群系统负载平衡方法、装置及系统 |
CN101765225A (zh) * | 2008-12-24 | 2010-06-30 | 华为技术有限公司 | 一种虚拟化的集群管理方法和集群节点 |
-
2011
- 2011-11-24 CN CN201110378981.XA patent/CN102521012B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7203944B1 (en) * | 2003-07-09 | 2007-04-10 | Veritas Operating Corporation | Migrating virtual machines among computer systems to balance load caused by virtual machines |
CN101765225A (zh) * | 2008-12-24 | 2010-06-30 | 华为技术有限公司 | 一种虚拟化的集群管理方法和集群节点 |
CN101504620A (zh) * | 2009-03-03 | 2009-08-12 | 华为技术有限公司 | 一种虚拟化集群系统负载平衡方法、装置及系统 |
Non-Patent Citations (4)
Title |
---|
GPU clusters for high-performance computing;Kindratenko等;《Cluster Computing and Workshops, 2009. CLUSTER "09. IEEE International Conference》;20091004;第1-8页 * |
Kindratenko等.GPU clusters for high-performance computing.《Cluster Computing and Workshops, 2009. CLUSTER "09. IEEE International Conference》.2009, |
多虚拟机快速部署机制的研究;袁金艳;《中国优秀硕士论文电子期刊网》;20100515(第5期);第8-34页 * |
袁金艳.多虚拟机快速部署机制的研究.《中国优秀硕士论文电子期刊网》.2010,(第5期), |
Also Published As
Publication number | Publication date |
---|---|
CN102521012A (zh) | 2012-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102521012B (zh) | 基于虚拟机的gpu集群管理系统 | |
Raghava et al. | Comparative study on load balancing techniques in cloud computing | |
Wang et al. | A three-phases scheduling in a hierarchical cloud computing network | |
AU2018100381A4 (en) | A physical resource scheduling method in cloud cluster | |
CN103164287B (zh) | 基于Web动态参与的分布式并行计算平台系统 | |
CN102812439A (zh) | 多处理器计算机系统中的功率管理 | |
Pop et al. | ARMCO: Advanced topics in resource management for ubiquitous cloud computing: An adaptive approach | |
Papazachos et al. | Gang scheduling in multi-core clusters implementing migrations | |
CN102333120B (zh) | 一种负载均衡处理的流存储系统 | |
CN104375882A (zh) | 匹配于高性能计算机结构的多级嵌套数据驱动计算方法 | |
Xiao et al. | A novel power-conscious scheduling algorithm for data-intensive precedence-constrained applications in cloud environments | |
Han et al. | Energy efficient VM scheduling for big data processing in cloud computing environments | |
Guo et al. | A PSO-based energy-efficient fault-tolerant static scheduling algorithm for real-time tasks in clouds | |
Biswas et al. | A novel resource aware scheduling with multi-criteria for heterogeneous computing systems | |
CN102147887A (zh) | 企业电子商务信息流程管理系统 | |
Lin et al. | CSP-based resource allocation model and algorithms for energy-efficient cloud computing | |
Sarddar et al. | Central controller framework for mobile cloud computing | |
Cai et al. | An energy-efficiency-aware resource allocation strategy in multi-granularity provision for green computing | |
CN104717269A (zh) | 用于位置服务的云公共平台计算机资源监控和调度方法 | |
CN110647399A (zh) | 一种基于人工智能网络的高性能计算系统及方法 | |
Rosemarry et al. | A study of various job & resource scheduling algorithms in grid computing | |
CN103179167A (zh) | 一种云计算的方法、系统及负载均衡服务器 | |
Khan et al. | Static Approach for Efficient Task Allocation in Distributed Environment | |
CN103020197B (zh) | 网格仿真平台及网格仿真方法 | |
TW201020804A (en) | Virtualization in a multi-core processor (MCP) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140827 Termination date: 20201124 |
|
CF01 | Termination of patent right due to non-payment of annual fee |