本发明属于云计算资源管理领域,具体涉及一种对GPU云计算资源统一管理服务的方法和系统。
背景技术:
现有的云计算基础架构服务平台只能提供对CPU计算资源的统一管理服务,用户以CPU内核为单位为单个计算节点申请计算资源。随着GPU计算能力的提高以及GPU在并行计算和大数据处理领域中体现出高能效比的优势, GPU使用越来越广泛和普及,因此急需对GPU计算资源进行统一管理服务来提高硬件的利用率并降低能耗。
技术实现要素:
为了克服现有技术存在的缺陷,本发明提供一种对GPU云计算资源统一管理服务的方法,可以有效提高硬件的利用率并降低能耗。
为达到上述目的,本发明的技术方案是:一种对GPU云计算资源统一管理服务的方法,包括以下步骤:
(1)计算中心内所有服务器的GPU组成一个软件定义的GPU计算集群;
(2)对计算节点的申请将在申请完CPU资源后被发送到GPU集群管理器以申请可用的GPU计算节点列表;
(3)申请成功后,通过GPU负载管理器和GPU代理的二级架构,对GPU内存数据和对GPU计算任务的调用进行水平切分以进行分布式GPU计算。
优选的,当用户申请单个计算节点时,可以指定CPU内核数量和GPU计算能力。
优选的,所述GPU代理运行在服务器宿主操作系统之上,负责维护GPU计算任务队列,接收来自负载管理器的GPU计算任务,并把结果返回给集群管理器。
优选的,所述GPU计算集群通过编排新建一个虚拟GPU子集群,对集群进行自动扩展或者收缩,回收虚拟GPU子集群。
本发明还公开了一种对GPU云计算资源统一管理服务的系统,包括计算中心内所有服务器的GPU组成一个软件定义的GPU计算集群,申请可用的GPU计算节点列表的GPU集群管理器,对GPU内存数据和对GPU计算任务的调用进行水平切分以进行分布式GPU计算的GPU负载管理器和GPU代理的二级架构;所述GPU代理运行在服务器宿主操作系统之上,负责维护GPU计算任务队列,接收来自负载管理器的GPU计算任务,并把结果返回给集群管理器。
优选的,所述GPU计算集群通过编排新建一个虚拟GPU子集群,对集群进行自动扩展或者收缩,回收虚拟GPU子集群。
本发明的有益效果是:
对GPU计算资源进行统一管理服务能够使一个云计算基础架构服务平台同时针对CPU和GPU提供更灵活的计算资源的组合,从而提高硬件的利用率并降低能耗。针对不同的用户需求,发挥CPU和GPU的计算能力,从而达到云计算平台绿色节能的目的。
附图说明
图1为本发明对GPU云计算资源统一管理服务的系统的架构图;
图2为本发明对GPU云计算资源统一管理服务的系统的软件定义GPU集群架构图;
图3为本发明对GPU云计算资源统一管理服务的方法的分布式GPU计算时序图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
如图1-3所示,计算中心内所有服务器的GPU组成一个软件定义的GPU计算集群(Software Defined GPU Cluster, SDGC),当用户申请单个计算节点时,除了可以指定CPU内核数量,还可以指定GPU计算能力(GPU计算能力=计算节点数*GPU内核数/节点),增加了一个新的GPU集群管理器,对计算节点的申请将在申请完CPU资源后被发送到GPU集群管理器(Cluster Manager)以申请可用的GPU计算节点列表,申请成功后,通过GPU负载管理器(WorkLoad Manager)和GPU代理(Agent)的二级架构,对GPU内存数据和对GPU计算任务的调用进行水平切分以进行分布式GPU计算,GPU代理运行在服务器宿主操作系统之上,负责维护GPU计算任务队列,接收来自负载管理器的GPU计算任务,并把结果返回给集群管理器。
GPU集群的自动化编排,对GPU集群中的GPU资源的统一自动化管理。有了编排,可以将新建一个虚拟GPU子集群,对集群进行自动扩展或者收缩,回收虚拟GPU子集群等一系列任务串联起来。
GPU基础架构服务API接口设计(以申请主机为例)
RunInstance:申请指定配置和数量的计算主机。
请求参数列表如下表:
响应元素列表如下表所示:
请求示例如下:
https://api.armgpucloud.com/iaas/?action=RunInstances
&instance_type=custom
&image_id=ubuntu14.04x64
&cpu=2
&gpu=10
&memory=2048
响应示例如下:
{
"action":"RunInstancesResponse",
"instances":[ "inst-gyy513" ],
"gpuClusterId":"gc-kt722",
"retCode":0
}
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。