GPU池化的方法、装置、设备及计算机可读存储介质与流程

文档序号:21262561发布日期:2020-06-26 22:31阅读:854来源:国知局
GPU池化的方法、装置、设备及计算机可读存储介质与流程

本申请涉及云计算技术领域,特别涉及一种gpu池化的方法;还涉及一种gpu池化的装置、设备以及计算机可读存储介质。



背景技术:

虚拟化技术是云计算的基石,其可以充分利用昂贵的硬件资源并且还可以隔离硬件体系结构和软件系统之间的依赖关系,改进系统的安全性能,提高计算资源的利用率。虚拟化技术可以把底层的物理资源进行整合,然后按需重新划分,不仅可以充分利用硬件的闲余资源,而且还可以有效的对物理资源进行管理。随着技术的发展,企业业务基于云计算部署已成为大的趋势,随之而来的是海量数据正以前所未有的增长趋势冲击着整个数据中心行业,并且随着大数据、机器学习、深度学习等领域的快速发展,催生了异构计算场景搬迁上云的高潮。服务器作为数据中心云计算节点,为了适应未来大规模业务增长的需求,服务器也需要对其架构进行优化和重构,服务器的硬件重构关乎大规模数据中心的效率和成本问题。如何提高服务器gpu资源的利用率,降低服务器运维成本,降低服务器硬件购置成本,节省资本支出及营运成本已成为本领域技术人员日益关注且亟待解决的技术问题。



技术实现要素:

本申请的目的是提供一种gpu池化的方法,极大的提高服务器gpu资源的利用率,降低服务器运维成本,降低服务器硬件购置成本,节省资本支出及营运成本。本申请的另一个目的是提供一种gpu池化的装置、设备以及计算机可读存储介质,均具有上述技术效果。

为解决上述技术问题,本申请提供了一种gpu池化的方法,包括:

为gpu池节点分配临时ip;

对所述gpu池节点进行池化信息配置,并在配置完成后通过所述临时ip向所述gpu池节点发送池化请求,以使所述gpu池节点进行池化得到多个虚拟gpu;

选择目标云主机并为所述目标云主机分配所述虚拟gpu。

可选的,所述为gpu池节点分配临时ip,包括:

对所述gpu池节点进行上电,使所述gpu池节点上电后从pxe启动引导并通过dhcp服务为所述gpu池节点分配所述临时ip;其中,若所述gpu池节点的电源状态为开机状态,则重启所述gpu池节点的电源;若所述gpu池节点的电源状态为非开机状态,则直接启动所述gpu池节点的电源。

可选的,所述在配置完成后通过所述临时ip向所述gpu池节点发送池化请求,以使所述gpu池节点进行池化得到多个虚拟gpu,包括:

在配置完成后通过所述临时ip向所述gpu池节点中的bmc发送所述池化请求,以使所述bmc向所述gpu池化节点中的gpu池化模块发送池化命令,让所述gpu池化模块将其连接的gpu硬件池化为多个虚拟gpu。

可选的,所述gpu池化模块通过pcie交换机与各所述gpu硬件相连。

可选的,还包括:

当所述目标云主机不再使用gpu资源时,删除为所述目标云主机分配的所述虚拟gpu。

为解决上述技术问题,本申请还提供了一种gpu池化的装置,包括:

临时ip分配模块,用于为gpu池节点分配临时ip;

池化请求发送模块,用于对所述gpu池节点进行池化信息配置,并在配置完成后通过所述临时ip向所述gpu池节点发送池化请求,以使所述gpu池节点进行池化得到多个虚拟gpu;

虚拟gpu分配模块,用于选择目标云主机并为所述目标云主机分配所述虚拟gpu。

可选的,所述临时ip分配模块具体用于对所述gpu池节点进行上电,使所述gpu池节点上电后从pxe启动引导并通过dhcp服务为所述gpu池节点分配所述临时ip;其中,若所述gpu池节点的电源状态为开机状态,则重启所述gpu池节点;若所述gpu池节点的电源状态为非开机状态,则直接启动所述gpu池节点的电源。

可选的,所述池化请求发送模块具体用于在配置完成后通过所述临时ip向所述gpu池节点中的bmc发送所述池化请求,以使所述bmc向所述gpu池化节点中的gpu池化模块发送池化命令,让所述gpu池化模块将其连接的gpu硬件池化为多个虚拟gpu。

为解决上述技术问题,本申请还提供了一种gpu池化的设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上所述的gpu池化的方法的步骤。

为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的gpu池化的方法的步骤。

本申请所提供的gpu池化的方法,包括:为gpu池节点分配临时ip;对所述gpu池节点进行池化信息配置,并在配置完成后通过所述临时ip向所述gpu池节点发送池化请求,以使所述gpu池节点进行池化得到多个虚拟gpu;选择目标云主机并为所述目标云主机分配所述虚拟gpu。可见,本申请所提供的gpu池化的方法,在为gpu池节点分配临时ip以及进行池化信息配置的基础上,进一步利用网络通过此临时ip向池节点发送池化请求,使gpu池节点进行池化得到虚拟gpu,进而按照资源需求为目标云主机分配虚拟gpu。该方法按需重构gpu资源,可以快速扩展服务器gpu资源,并可达到gpu资源重复利用,极大的提高gpu硬件资源的利用率,降低服务器硬件购置成本,节省资本支出及营运成本。

本申请所提供的gpu池化的装置、设备以及计算机可读存储介质均具有上述技术效果。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例所提供的一种gpu池化的方法的流程示意图;

图2为本申请实施例所提供的一种gpu池化实现过程的示意图;

图3为本申请实施例所提供的一种gpu池化的装置的示意图。

具体实施方式

本申请的核心是提供一种gpu池化的方法,极大的提高服务器gpu资源的利用率,降低服务器运维成本,降低服务器硬件购置成本,节省资本支出及营运成本。本申请的另一个核心是提供一种gpu池化的装置、设备以及计算机可读存储介质,均具有上述技术效果。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参考图1,图1为本申请实施例所提供的一种gpu池化的方法的流程示意图。参考图1可知,该方法可以包括以下步骤:

s101:为gpu池节点分配临时ip;

具体的,本步骤旨在为gpu池节点分配临时ip,以通过该临时ip实现对gpu池节点的管理和配置。其中,本申请将gpu硬件以及相关模块(包括gpu池化模块以及bmc)集成在一个机箱中,该机箱称之为gpu池节点。

另外,上述为gpu池节点分配临时ip可以包括:对gpu池节点进行上电,使gpu池节点上电后从pxe启动引导并通过dhcp服务为gpu池节点分配临时ip;其中,若gpu池节点的电源状态为开机状态,则重启gpu池节点的电源;若gpu池节点的电源状态为非开机状态,则直接启动gpu池节点的电源。

具体而言,首先对gpu池节点进行上电,且当gpu池节点电源状态为开机状态时,重启gpu池节点的电源,当gpu池节点的电源状态为非开机状态时,直接启动gpu池节点的电源。进一步,gpu池节点直接开启或重启后,gpu池节点自动从pxe启动引导,并通过虚拟化端的dhcp服务给gpu池节点的分配一个临时ip。其中,通过gpu池节点中的bmc设置gpu池节点从pxe启动引导。此外,为gpu池节点分配临时ip,实则是为gpu池节点中的bmc分配临时ip。gpu池节点分配临时ip后,即可通过此临时ip实现对gpu池节点的管理和配置,也可动态的发现gpu池节点,免除规模较大时人工配置的问题。gpu池节点获取到临时ip后自动与云管理端建立连接,此时云管理端就可以实时的获取gpu节点的使用情况以及监控gpu池节点的状态。

s102:对所述gpu池节点进行池化信息配置,并在配置完成后通过所述临时ip向所述gpu池节点发送池化请求,以使所述gpu池节点进行池化得到多个虚拟gpu;

具体的,在为gpu池节点分配临时ip且gpu池节点通过此临时ip与云管理端建立连接的基础上,gpu池节点可以在云管理端的云管理界面中进行展示。进一步,选中要池化的gpu池节点,并对gpu池节点进行池化信息的配置,如:gpu池化的名称,其代表池化后的一组gpu的唯一标识;gpu池化的相关描述,通过此描述可以记录该组gpu所属哪个gpu节点、用途等;gpu池化的个数,其表示该组gpu要虚拟出来多少个gpu节点;gpu显存大小,其表示虚拟出来的每个gpu的显存是多少;等等。具体的池化信息可以根据实际需要进行差异性设置,本申请在此不做赘述。

完成池化信息的配置后,通过为gpu池节点分配的临时ip来实现与gpu节点的信息交互,向gpu池节点发送池化请求,进而使gpu池节点在接收到此池化请求后进行池化操作,得到多个虚拟gpu。

其中,上述在配置完成后通过临时ip向gpu池节点发送池化请求,以使gpu池节点进行池化得到多个虚拟gpu可以包括:在配置完成后通过临时ip向gpu池节点中的bmc发送池化请求,以使bmc向gpu池化节点中的gpu池化模块发送池化命令,让gpu池化模块将其连接的gpu硬件池化为多个虚拟gpu。

具体而言,gpu池节点中的bmc对外提供标准的redfish接口供云管理端调用。云管理端调用相关的接口来创建gpu池化任务,并向gpu池节点中的bmc发送池化请求,进而bmc接收到云管理端发送的池化请求后,进一步下发具体的池化命令到gpu池节点中的gpu池化模块,进而gpu池化模块将gpu池化模块所连接的gpu硬件池化为多个虚拟gpu。

其中,在一种具体的实施方式中,gpu池化模块通过pcie交换机与各gpu硬件相连。参考图2所示,pcie交换机后端通过pcie接口连接gpu硬件,前端连接bmc(图中未标示)和gpu池化模块,通过bmc向上对外提供统一的接口用来管理gpu的池化和分配,向下给gpu池化模板发送命令,gpu池化模块基于bmc发来的池化命令来执行池化操作。

s103:选择目标云主机并为所述目标云主机分配所述虚拟gpu。

具体的,gpu节点池化完成后,通过云管理端的云管理界面就可以对池化的gpu进行分配和使用。具体而言,在云管理界面中选择要使用gpu的云主机即目标云主机,然后在gpu池中选要添加的gpu节点进行云主机gpu的添加,一个云主机可以添加多个gpu节点,至于分配的虚拟gpu的具体个数,根据资源需求确定即可。当云主机添加gpu后,云主机上的gpu最终可以直接传给客户的虚拟机使用,真正发挥gpu在客户业务上的应用。

进一步,当目标云主机不再使用gpu资源时,删除为目标云主机分配的所述虚拟gpu。即在云主机的gpu资源不在使用时也可以删除gpu资源,从而达到云主机资源的动态组装和动态分配,不仅可以实现云主机gpu资源的动态重复利用提高资源的利用率,而且还可以实现资源的分配,打破传统硬件的限制。

另外,本申请所提供的gpu池化的方法,在软件上通过intelrackscaledesign(rsd)技术架构实现gpu的资源池化,基于springboot的技术框架,以标准redfish接口为交互接口,实现资源的基于dhcp的动态发现、资源详细信息查看、状态监控、gpu的池化等。

综上所述,本申请所提供的gpu池化的方法,在为gpu池节点分配临时ip以及进行池化信息配置的基础上,进一步利用网络通过此临时ip向池节点发送池化请求,使gpu池节点进行池化得到虚拟gpu,进而按照资源需求为目标云主机分配虚拟gpu。该方法按需重构gpu资源,可以快速扩展服务器gpu资源,并可达到gpu资源重复利用,极大的提高gpu硬件资源的利用率,降低服务器硬件购置成本,节省资本支出及营运成本。

本申请还提供了一种gpu池化的装置,下文描述的该装置可以与上文描述的方法相互对应参照。请参考图3,图3为本申请实施例所提供的一种gpu池化的装置的示意图,结合图3,该装置包括:

临时ip分配模块10,用于为gpu池节点分配临时ip;

池化请求发送模块20,用于对所述gpu池节点进行池化信息配置,并在配置完成后通过所述临时ip向所述gpu池节点发送池化请求,以使所述gpu池节点进行池化得到多个虚拟gpu;

虚拟gpu分配模块30,用于选择目标云主机并为所述目标云主机分配所述虚拟gpu。

在上述实施例的基础上,可选的,临时ip分配模块10具体用于对所述gpu池节点进行上电,使所述gpu池节点上电后从pxe启动引导并通过dhcp服务为所述gpu池节点分配所述临时ip;其中,若所述gpu池节点的电源状态为开机状态,则重启所述gpu池节点的电源;若所述gpu池节点的电源状态为非开机状态,则直接启动所述gpu池节点的电源。

在上述实施例的基础上,可选的,池化请求发送模块20具体用于在配置完成后通过所述临时ip向所述gpu池节点中的bmc发送所述池化请求,以使所述bmc向所述gpu池化节点中的gpu池化模块发送池化命令,让所述gpu池化模块将其连接的gpu硬件池化为多个虚拟gpu。

在上述实施例的基础上,可选的,还包括:

删除模块,用于当所述目标云主机不再使用gpu资源时,删除为所述目标云主机分配的所述虚拟gpu。

本申请还提供了一种gpu池化的设备,该设备包括存储器和处理器。其中存储器,用于存储计算机程序;处理器,用于执行计算机程序实现如下步骤:

为gpu池节点分配临时ip;对所述gpu池节点进行池化信息配置,并在配置完成后通过所述临时ip向所述gpu池节点发送池化请求,以使所述gpu池节点进行池化得到多个虚拟gpu;选择目标云主机并为所述目标云主机分配所述虚拟gpu。

对于本申请所提供的设备的介绍请参照上述方法实施例,本申请在此不做赘述。

本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:

为gpu池节点分配临时ip;对所述gpu池节点进行池化信息配置,并在配置完成后通过所述临时ip向所述gpu池节点发送池化请求,以使所述gpu池节点进行池化得到多个虚拟gpu;选择目标云主机并为所述目标云主机分配所述虚拟gpu。

该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

对于本申请所提供的计算机可读存储介质的介绍请参照上述方法实施例,本申请在此不做赘述。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备以及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的gpu池化的方法、装置、设备以及算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1