一种实现kubernetes容器远程调度使用GPU方法和装置制造方法及图纸

技术编号:38714101 阅读:8 留言:0更新日期:2023-09-08 14:57
本发明专利技术涉及RPC通信技术领域,具体为一种实现kubernetes容器远程调度使用GPU方法和装置,包括以下步骤:部署Kubernetes集群,使用“kubectl label node”为GPU节点和非GPU节点打标签;在非GPU节点上部署官方的CUDA Runtime API;在GPU节点上部署官方的GPU Driver API,即GPU驱动;在非GPU节点上部署远程CUDA调用的客户端服务组件;有益效果为:本发明专利技术提出的实现kubernetes容器远程调度使用GPU方法和装置通过虚拟化技术在没有物理GPU的节点上创建虚拟GPU设备,并将它们注册到Kubernetes节点上,使得Kubernetes可以将需要GPU资源的容器调度到没有物理GPU的节点上,并将它们绑定到虚拟GPU设备,从而实现GPU资源的共享,提升GPU的利用率,降低硬件和软件成本。降低硬件和软件成本。降低硬件和软件成本。

【技术实现步骤摘要】
一种实现kubernetes容器远程调度使用GPU方法和装置


[0001]本专利技术涉及RPC通信
,具体为一种实现kubernetes容器远程调度使用GPU方法和装置。

技术介绍

[0002]Kubernetes,简称K8s。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署,规划,更新,维护的一种机制。
[0003]现有技术中,在Kubernetes中,一方面,用户只能使用本节点上的GPU设备资源,而GPU节点的数量有限,且部署和管理GPU节点也需要一定的成本和技术,这限制了容器的灵活性和可移植性;另一方面,GPU资源的利用率也不高,有些节点上的GPU资源可能处于闲置状态,浪费许多未使用的GPU资源。

技术实现思路

[0004]本专利技术的目的在于提供一种实现kubernetes容器远程调度使用GPU方法和装置,以解决上述
技术介绍
中提出的问题。
[0005]为实现上述目的,本专利技术提供如下技术方案:一种实现kubernetes容器远程调度使用GPU方法,所述远程调度使用GPU方法包括以下步骤:
[0006]部署Kubernetes集群,使用“kubectl label node”为GPU节点和非GPU节点打标签;
[0007]在非GPU节点上部署官方的CUDA Runtime API;
[0008]在GPU节点上部署官方的GPU Driver API,即GPU驱动;
[0009]在非GPU节点上部署远程CUDA调用的客户端服务组件;
[0010]在GPU节点上部署远程CUDA调用的服务端服务组件;
[0011]在Kubernetes创建一个使用GPU资源的Deployment,配置调度参数,将Pod创建到没有GPU资源节点;
[0012]在Kubernetes平台观察Pod的运行状态,进入Pod观测业务正常运行,确认GPU资源正常调用。
[0013]优选的,为GPU节点和非GPU节点打标签时,在Kubernetes集群中,将GPU节点和非GPU节点分别标记为“GPU”和“非GPU”。
[0014]优选的,客户端服务组件通过RPC技术实现,通过劫持CUDA API来截获Pod中CUDA应用程序对GPU的访问,并将访问通过TCP/IP网络或者RDMA网络转发到部署了远程CUDA调用的服务端的具有GPU资源的节点上。
[0015]优选的,服务端服务组件通过接收客户端发送的CUDA调用请求,并将请求转发到GPU设备上执行,并将结果返回给客户端。
[0016]优选的,在Kubernetes平台观察Pod的运行状态时,GPU容器启动后,调用的CUDA程
序和API调用被劫持并重定向到远程CUDA客户端上运行,并通过远程CUDA之间的通信,在具有GPU的节点上执行,将结果返回到GPU容器中。
[0017]一种kubernetes容器远程调度使用GPU装置,所述远程调度使用GPU装置包括kubernetes管理模块、调度模块以及GPU节点管理模块;
[0018]kubernetes管理模块负责管理pod的创建、删除和调度操作,当kubernetes管理模块检测到没有GPU节点可用时,kubernetes管理模块向调度模块发出调度请求;GPU节点管理模块负责管理GPU节点的状态,包括GPU资源使用情况、GPU节点健康状态,GPU节点管理模块向kubernetes管理模块提供GPU节点状态信息。
[0019]优选的,所述调度模块利用远程cuda调用服务端与客户端使用的TCP/IP网络或RDMA网络互联技术,包括RDMA Aware SocketRDS或InfiniBand网络。
[0020]优选的,远程cuda调用服务端与客户端之间的通信,通过Kubernetes的服务发现机制,Kubernetes的负载均衡机制,Kubernetes的网络策略以及Kubernetes的安全机制进行管理。
[0021]优选的,所述kubernetes管理模块的容器POD使用共享GPU。
[0022]与现有技术相比,本专利技术的有益效果是:
[0023]本专利技术提出的实现kubernetes容器远程调度使用GPU方法和装置通过虚拟化技术在没有物理GPU的节点上创建虚拟GPU设备,并将它们注册到Kubernetes节点上,使得Kubernetes可以将需要GPU资源的容器调度到没有物理GPU的节点上,并将它们绑定到虚拟GPU设备,从而实现GPU资源的共享,提升GPU的利用率,降低硬件和软件成本。
附图说明
[0024]图1为本专利技术方法原理图;
[0025]图2为本专利技术方法流程图。
具体实施方式
[0026]为了使本专利技术的目的、技术方案进行清楚、完整地描述,及优点更加清楚明白,以下结合附图对本专利技术实施例进行进一步详细说明。应当理解,此处所描述的具体实施例是本专利技术一部分实施例,而不是全部的实施例,仅仅用以解释本专利技术实施例,并不用于限定本专利技术实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0027]实施例一
[0028]请参阅图1至图2,本专利技术提供一种技术方案:一种实现kubernetes容器远程调度使用GPU方法,所述远程调度使用GPU方法包括以下步骤:
[0029]部署Kubernetes集群,使用“kubectl label node”为GPU节点和非GPU节点打标签;在Kubernetes集群中,将GPU节点和非GPU节点分别标记为“GPU”和“非GPU”;
[0030]在非GPU节点上部署官方的CUDA Runtime API;
[0031]在GPU节点上部署官方的GPU Driver API,即GPU驱动;
[0032]在非GPU节点上部署远程CUDA调用的客户端服务组件;客户端服务组件通过RPC技术实现,通过劫持CUDA API来截获Pod中CUDA应用程序对GPU的访问,并将访问通过TCP/IP
网络或者RDMA网络转发到部署了远程CUDA调用的服务端的具有GPU资源的节点上;
[0033]在GPU节点上部署远程CUDA调用的服务端服务组件;服务端服务组件通过接收客户端发送的CUDA调用请求,并将请求转发到GPU设备上执行,并将结果返回给客户端;
[0034]在Kubernetes创建一个使用GPU资源的Deployment,配置调度参数,将Pod创建到没有GPU资源节点;
[0035]在Kubernetes平台观察Pod的运行状态,进入Pod观测业务正常运行,确认GPU资源正常调用,GPU容器启动后,调用的CUDA程序和API调用被劫持并重定向到远程CUDA客户端上运行,并通过远程CUDA之间的通信,在具有GPU的节点上执行,将结果本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实现kubernetes容器远程调度使用GPU方法,其特征在于:所述远程调度使用GPU方法包括以下步骤:部署Kubernetes集群,使用“kubectl label node”为GPU节点和非GPU节点打标签;在非GPU节点上部署官方的CUDA Runtime API;在GPU节点上部署官方的GPU Driver API,即GPU驱动;在非GPU节点上部署远程CUDA调用的客户端服务组件;在GPU节点上部署远程CUDA调用的服务端服务组件;在Kubernetes创建一个使用GPU资源的Deployment,配置调度参数,将Pod创建到没有GPU资源节点;在Kubernetes平台观察Pod的运行状态,进入Pod观测业务正常运行,确认GPU资源正常调用。2.根据权利要求1所述的一种实现kubernetes容器远程调度使用GPU方法,其特征在于:为GPU节点和非GPU节点打标签时,在Kubernetes集群中,将GPU节点和非GPU节点分别标记为“GPU”和“非GPU”。3.根据权利要求1所述的一种实现kubernetes容器远程调度使用GPU方法,其特征在于:客户端服务组件通过RPC技术实现,通过劫持CUDA API来截获Pod中CUDA应用程序对GPU的访问,并将访问通过TCP/IP网络或者RDMA网络转发到部署了远程CUDA调用的服务端的具有GPU资源的节点上。4.根据权利要求1所述的一种实现kubernetes容器远程调度使用GPU方法,其特征在于:服务端服务组件通过接收客户端发送的CUDA调用请求,并将请求转发到GPU设备上执行,并将结果返回给客户端。5.根据权利要求1所述的一种实现kubernetes容器远程调度使用GPU方法,其特征在于:在Kubernetes平台观察Po...

【专利技术属性】
技术研发人员:薛少宁
申请(专利权)人:浪潮通信技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1