CN114374609B - 基于rdma设备的深度学习作业运行方法及系统 - Google Patents

基于rdma设备的深度学习作业运行方法及系统 Download PDF

Info

Publication number
CN114374609B
CN114374609B CN202111478534.1A CN202111478534A CN114374609B CN 114374609 B CN114374609 B CN 114374609B CN 202111478534 A CN202111478534 A CN 202111478534A CN 114374609 B CN114374609 B CN 114374609B
Authority
CN
China
Prior art keywords
network card
deep learning
container
rdma
virtual network
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.)
Active
Application number
CN202111478534.1A
Other languages
English (en)
Other versions
CN114374609A (zh
Inventor
洪志刚
黄林
林健
徐驰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dongyun Ruilian Wuhan Computing Technology Co ltd
Original Assignee
Dongyun Ruilian Wuhan Computing Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dongyun Ruilian Wuhan Computing Technology Co ltd filed Critical Dongyun Ruilian Wuhan Computing Technology Co ltd
Priority to CN202111478534.1A priority Critical patent/CN114374609B/zh
Publication of CN114374609A publication Critical patent/CN114374609A/zh
Application granted granted Critical
Publication of CN114374609B publication Critical patent/CN114374609B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明属于机器学习技术领域,公开了一种基于RDMA设备的深度学习作业运行方法及系统。所述方法包括:对RDMA网卡设备进行虚拟化,以生成多个虚拟网卡;在接收到深度学习作业容器发送的网卡分配请求时,通过单根容器网络接口将对应的虚拟网卡挂载至所述深度学习作业容器;RDMA分布式作业适配软件在接收到所述深度学习作业容器发送的作业运行信息时,根据所述作业运行信息分配RDMA网卡设备资源并进行作业运行。通过RDMA网卡设备满足高通信带宽,降低了对CPU资源的消耗、降低延时,利用单根容器网络接口能够实现性能隔离、安全隔离。

Description

基于RDMA设备的深度学习作业运行方法及系统
技术领域
本发明涉及机器学习技术领域,尤其涉及一种基于RDMA设备的深度学习作业运行方法及系统。
背景技术
随着深度学习在人工智能领域的快速发展,其在计算机视觉、自然语言处理、自动驾驶等众多领域均展现了强大的能力。在深度学习技术发展过程中,分布式训练已经成为提高训练效率的首选方式,容器化集群方式已成为目前分布式训练的标准方案,但是随着训练数据量快速增长与高性能计算硬件的出现,传统的网络通信方式与现有开源的深度学习引擎存在下列问题:
(1)传统的TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)网络通信技术已经不能满足高性能计算设备对通信网络性能的要求,在带宽,延迟、对CPU负载的占用等方面甚至都已成为高性能计算系统的瓶颈。
(2)主流的深度学习引擎在使用RDMA(Remote Direct Memory Access,远程直接数据存取)网络设备时,存在无法自适应识别出RDMA网卡设备类型与特定的通道参数等信息,使用RDMA网卡设备的进程还需要特殊的权限才能申请与使用大块锁页内存,这些问题使得多种深度学习引擎进行模型训练时对RDMA网卡设备的适配容易出错。
(3)在容器化集群环境中运行分布式模型训练时,使用现有的开源RDMA网卡设备CNI(Container Network Interface,容器网络接口)插件服务都还存在安全隔离、性能隔离等问题与缺陷。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种基于RDMA设备的深度学习作业运行方法及系统,旨在解决现有技术中深度学习平台对CPU资源消耗大、缺乏设备性能隔离及安全隔离的技术问题。
为实现上述目的,本发明提供了一种基于RDMA设备的深度学习作业运行方法,所述方法包括以下步骤:
对RDMA网卡设备进行虚拟化,以生成多个虚拟网卡;
在接收到深度学习作业容器发送的网卡分配请求时,通过单根容器网络接口将对应的虚拟网卡挂载至所述深度学习作业容器;
在接收到所述深度学习作业容器发送的作业运行信息时,根据所述作业运行信息分配RDMA网卡设备资源并进行作业运行。
优选地,所述对RDMA网卡设备进行虚拟化,以生成多个虚拟网卡的步骤,具体包括:
对RDMA网卡设备进行虚拟化,以生成多个虚拟网卡实例,并创建虚拟机将所述虚拟网卡实例挂载至所述虚拟机。
优选地,所述在接收到深度学习作业容器发送的网卡分配请求时,通过单根容器网络接口将对应的虚拟网卡挂载至所述深度学习作业容器的步骤,具体包括:
在接收到深度学习作业容器发送的网卡分配请求时,通过单根容器网络接口遍历所有虚拟网卡;
在遍历获取到的虚拟网卡为非占用状态的目标虚拟网卡时,停止遍历并将所述目标虚拟网卡挂载至所述深度学习作业容器。
优选地,所述在遍历获取到的虚拟网卡为非占用状态的目标虚拟网卡时,停止遍历并将所述目标虚拟网卡挂载至所述深度学习作业容器的步骤,具体包括:
在遍历获取到的虚拟网卡为非占用状态的目标虚拟网卡时,将所述目标虚拟网卡的当前状态设置为占用状态;
将所述目标虚拟网卡的虚拟设备文件挂载至所述深度学习作业容器,并将所述目标虚拟网卡设置在所述深度学习作业容器对应的网络命名空间。
优选地,所述在接收到所述深度学习作业容器发送的作业运行信息时,根据所述作业运行信息分配RDMA网卡设备资源并进行作业运行的步骤,具体包括:
在接收到所述深度学习作业容器发送的作业运行信息时,遍历所有RDMA网络硬件列表以获取RDMA网卡设备信息;
在遍历到的RDMA网卡设备信息与所述作业运行信息匹配时,停止遍历并将所述RDMA网卡设备信息作为目标网卡设备信息;
根据所述目标网卡设备信息及所述作业运行信息获取环境变量参数,并根据所述环境变量进行作业运行。
优选地,所述在接收到所述深度学习作业容器发送的作业运行信息时,根据所述作业运行信息对所述深度学习作业分配RDMA网卡设备资源以进行作业运行的步骤之后,还包括:
在接收到深度学习作业容器发送的释放请求时,通过单根容器网络接口对所述深度学习作业容器进行虚拟网卡卸载。
优选地,所述在接收到深度学习作业容器发送的释放请求时,通过单根容器网络接口对所述深度学习作业容器进行虚拟网卡卸载的步骤,具体包括:
在接收到深度学习作业容器发送的释放请求时,通过单根容器网络接口释放掉所述虚拟网卡的IP地址、子网掩码和网关配置,将所述虚拟网卡的网络命名空间从所述深度学习作业容器的网络命名空间还原为宿主机的网络命名空间,并将所述虚拟网卡从所述深度学习作业容器卸载,并将所述虚拟网卡设备的当前状态由占用状态修改为空闲状态。
此外,为实现上述目的,本发明还提出一种基于RDMA设备的深度学习作业运行系统,所述系统包括:一个主节点及多个子节点;其中,所述子节点包括:
物理机,用于对RDMA网卡设备进行虚拟化,以生成多个虚拟网卡;
单根容器网络接口,用于在接收到深度学习作业容器发送的网卡分配请求时,将对应的虚拟网卡挂载至所述深度学习作业容器;
所述物理机,还用于在接收到所述深度学习作业容器发送的作业运行信息时,根据所述作业运行信息分配RDMA网卡设备资源并进行作业运行。
本发明通过对RDMA网卡设备进行虚拟化,以生成多个虚拟网卡;在接收到深度学习作业容器发送的网卡分配请求时,通过单根容器网络接口将对应的虚拟网卡挂载至所述深度学习作业容器;在接收到所述深度学习作业容器发送的作业运行信息时,根据所述作业运行信息对所述深度学习作业分配RDMA网卡设备资源以进行作业运行。通过RDMA网卡设备满足高通信带宽,降低了对CPU资源的消耗、降低延时,利用单根容器网络接口能够实现性能隔离、安全隔离。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1是本发明基于RDMA设备的深度学习作业运行方法的RDMA网卡设备虚拟化映射关系图;
图2为本发明基于RDMA设备的深度学习作业运行方法第一实施例的流程示意图;
图3为本发明基于RDMA设备的深度学习作业运行方法第二实施例的流程示意图;
图4为本发明基于RDMA设备的深度学习作业运行系统第一实施例的结构框图。
附图标号说明:
标号 名称 标号 名称
PF1~PFN RDMA网卡设备 102 虚拟机
VF1~VFN 虚拟网卡 C1~CN 作业容器
101 物理机 103 单根容器网络接口
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1、图2,图1是本发明基于RDMA设备的深度学习作业运行方法的RDMA网卡设备虚拟化映射关系图;图2为本发明基于RDMA设备的深度学习作业运行方法第一实施例的流程示意图。所述方法包括:
步骤S10:对RDMA网卡设备进行虚拟化,以生成多个虚拟网卡;
步骤S10具体包括:对RDMA网卡设备进行虚拟化,以生成多个虚拟网卡实例,并创建虚拟机将所述虚拟网卡实例挂载至所述虚拟机。
需要说明的是,参考图1,图1中所述物理机将所述RDMA网卡设备虚拟成为多个虚拟网卡实例(VF1、VF2......VFN),本实施例并不限制实际应用中虚拟网卡实例的个数,具体实施中,虚拟网卡实例的个数可以根据实际需求进行设置。
需要说明的是,所述虚拟网卡实例是支持SR-IOV(Single Root I/OVirtualization,单根输入/输出虚拟化技术)的物理网卡所虚拟出的网卡或虚拟出的实例,为便于虚拟网卡实例的调度,创建虚拟机用于挂载所述虚拟网卡实例。具体实施中,所述虚拟机按需挂载多个所述虚拟网卡实例。
步骤S20:在接收到深度学习作业容器发送的网卡分配请求时,通过单根容器网络接口将对应的虚拟网卡挂载至所述深度学习作业容器;
需要说明的是,为实现设备安全隔离与性能隔离,通过单根容器网络接口接收所述深度学习作业容器发送的网卡分配请求。所述网卡分配请求用于申请虚拟网卡分配。参考图1,图1中C1、C2均为深度学习作业容器,本实施例不对实际应用中的深度学习作业容器的数量进行限制,具体实施中,深度学习作业容器数量按需创建。
步骤S20具体包括:在接收到深度学习作业容器发送的网卡分配请求时,通过单根容器网络接口遍历所有虚拟网卡;在遍历获取到的虚拟网卡为非占用状态的目标虚拟网卡时,停止遍历并将所述目标虚拟网卡挂载至所述深度学习作业容器。
需要说明的是,所述单根容器网络接口(SR-IOV CNI,Single Root I/OVirtualization Container Network Interface)。作业容器通过发送网卡分配请求向单根容器网络接口申请创建虚拟网卡设备资源,而遍历意味着单根容器网络接口在接收到申请后,获取宿主机所有的虚拟网卡设备,并依次判断其当前状态为何种状态。
进一步地,所述在遍历获取到的虚拟网卡为非占用状态的目标虚拟网卡时,停止遍历并将所述目标虚拟网卡挂载至所述深度学习作业容器的步骤,具体包括:在遍历获取到的虚拟网卡为非占用状态的目标虚拟网卡时,将所述目标虚拟网卡的当前状态设置为占用状态;将所述目标虚拟网卡的虚拟设备文件挂载至所述深度学习作业容器,并将所述目标虚拟网卡设置在所述深度学习作业容器对应的网络命名空间。
易于理解的是,所述单根容器网络接口找到第一个占用状态标志为0的虚拟网卡设备时,将该虚拟网卡设备作为目标虚拟网卡,并将其占用状态标志修改为1。所述单根容器网络接口将目标虚拟网卡的虚拟设备文件挂载到发送申请的作业容器中,并将目标虚拟网卡设置到作业容器对应的网络命名空间,使得作业容器中可以使用到虚拟网卡设备。所述单根容器网络接口还会为作业容器中的虚拟网卡设备设置IP地址、掩码、网关等。
步骤S30:在接收到所述深度学习作业容器发送的作业运行信息时,根据所述作业运行信息分配RDMA网卡设备资源并进行作业运行。
步骤S30具体包括:在接收到所述深度学习作业容器发送的作业运行信息时,遍历所有RDMA网络硬件列表以获取RDMA网卡设备信息;在遍历到的RDMA网卡设备信息与所述作业运行信息匹配时,停止遍历并将所述RDMA网卡设备信息作为目标网卡设备信息;根据所述目标网卡设备信息及所述作业运行信息获取环境变量参数,并根据所述环境变量进行作业运行。
应当理解的是,在挂载完成后,完成了深度学习训练的准备工作。在接收到深度学习作业容器提交的待训练模型或者深度学习作业时,获取所有的RDMA网卡信息,在深度学习作业容器中检索出所有RDMA网络硬件列表,包括RDMA网卡与RoCE(RDMA over ConvergedEthernet,聚合以太网之上的RDMA网络)网卡。获取作业运行所需的作业参数,并按照作业参数循环检索所有RDMA网卡信息,选取第一个可以正常通信的RDMA网卡设备与通道参数。根据检索的结果设置环境变量,也即根据获取到的网卡设备信息和不同作业运行框架类型设置对应的环境变量。进一步地,修改作业运行进程可使用的最大锁页内存为unlimited,修改作业运行进程的启动用户为参数指定的用户,传递作业指定的所有环境变量到运行进程的环境中。完成上述设置后,启动深度学习作业容器内的作业运行进程。
进一步地,本实施例方法能够应用于支持RDMA网卡设备的分布式作业运行系统部署结构的TensorFlow(张量流)深度学习引擎、支持RDMA网卡设备的分布式作业运行系统部署结构的MindSpore深度学习引擎。
本发明实施例通过上述方法,解决了现有开源CNI方案中设备性能与安全隔离问题,依赖本发明提出的分布式作业适配软件解决了多种深度学习引擎适配RDMA网卡硬件的困难,提高深度学习系统作业运行的效率,具有明显的实用价值。
参考图3,图3为本发明基于RDMA设备的深度学习作业运行方法第二实施例的流程示意图;基于上述第一实施例,本实施例基于RDMA设备的深度学习作业运行方法在步骤S30之后,还包括:步骤S40:在接收到深度学习作业容器发送的释放请求时,通过单根容器网络接口对所述深度学习作业容器进行虚拟网卡卸载。
进一步地,步骤S40具体包括:在接收到深度学习作业容器发送的释放请求时,通过单根容器网络接口释放掉所述虚拟网卡的IP地址、子网掩码和网关配置,并将所述虚拟网卡的网络命名空间从所述作业容器对应的网络命名空间还原为宿主机的网络命名空间,并将所述虚拟网卡从所述深度学习作业容器卸载,并将所述虚拟网卡设备的当前状态由占用状态修改为空闲状态,也即将该虚拟网卡设备的占用状态修改为0,即空闲状态。
需要说明的是,作业运行进程执行结束后,作业容器请求删除作业容器环境,并向单根容器网络接口申请释放占用的虚拟网卡设备资源。单根容器网络接口释放作业容器中虚拟网卡设备的IP地址、子网掩码和网关配置信息,将容器里的虚拟网卡设备的网络命名空间还原为宿主机的网络命名空间并从容器中卸载这个虚拟网卡设备节点,把该虚拟网卡设备占用状态标志修改为0,即现在处于空闲状态,使得作业容器删除成功并返回。
本实施例通过上述方法进行了深度学习作业的卸载,有利于设备性能与安全隔离,同时降低了CPU的占用率,有利于提升资源利用效果。
参考图4,图4为本发明基于RDMA设备的深度学习作业运行系统第一实施例的结构框图。本发明还提出一种基于RDMA设备的深度学习作业运行系统,所述系统包括:一个主节点及多个子节点;其中,所述子节点包括:
物理机,用于对RDMA网卡设备进行虚拟化,以生成多个虚拟网卡;
物理机,具体用于对RDMA网卡设备进行虚拟化,以生成多个虚拟网卡实例,并创建虚拟机将所述虚拟网卡实例挂载至所述虚拟机。
需要说明的是,所述系统为分布式作业运行系统,所述系统能够通过分布式通信框架库启动所有节点上的分布式训练任务进程(比如通过Open MPI启动MindSpore分布式训练),或者在各个节点上各自启动分布式训练任务进程(比如TensorFlow、PyTorch等)时,在各个节点上都是通过RDMA作业适配软件(在Linux上的命令行工具"rdma_launcher")来运行作业进程的,RDMA作业适配软件可以安装在物理机或者服务器、或其他实现本申请基于RDMA设备的深度学习作业运行方法的设备上。具体地,RDMA作业适配软件能够收集容器中可见的RDMA VF设备信息与参数,传递给深度学习作业进程,在完成深度学习引擎所需的环境变量设置后启动深度学习作业进程。
需要说明的是,参考图1,图1中所述物理机将所述RDMA网卡设备虚拟成为多个虚拟网卡实例(VF1、VF2......VFN),本实施例并不限制实际应用中虚拟网卡实例的个数,具体实施中,虚拟网卡实例的个数可以根据实际需求进行设置。
需要说明的是,所述虚拟网卡实例是支持SR-IOV(Single Root I/OVirtualization,单根输入/输出虚拟化技术)的物理网卡所虚拟出的网卡或虚拟出的实例,为便于虚拟网卡实例的调度,创建虚拟机用于挂载所述虚拟网卡实例。具体实施中,所述虚拟机按需挂载多个所述虚拟网卡实例。
单根容器网络接口,用于在接收到深度学习作业容器发送的网卡分配请求时,将对应的虚拟网卡挂载至所述深度学习作业容器;
需要说明的是,为实现设备安全隔离与性能隔离,通过单根容器网络接口接收所述深度学习作业容器发送的网卡分配请求。所述网卡分配请求用于申请虚拟网卡分配。参考图1,图1中C1、C2均为深度学习作业容器,本实施例不对实际应用中的深度学习作业容器的数量进行限制,具体实施中,深度学习作业容器数量按需创建。
进一步地,在接收到深度学习作业容器发送的网卡分配请求时,通过单根容器网络接口遍历所有虚拟网卡;在遍历获取到的虚拟网卡为非占用状态的目标虚拟网卡时,停止遍历并将所述目标虚拟网卡挂载至所述深度学习作业容器。
需要说明的是,所述单根容器网络接口(SR-IOV CNI,Single Root I/OVirtualization Container Network Interface)。作业容器通过发送网卡分配请求向单根容器网络接口申请创建虚拟网卡设备资源,而遍历意味着单根容器网络接口在接收到申请后,获取宿主机所有的虚拟网卡设备,并依次判断其当前状态为何种状态。
进一步地,所述在遍历获取到的虚拟网卡为非占用状态的目标虚拟网卡时,停止遍历并将所述目标虚拟网卡挂载至所述深度学习作业容器的步骤,具体包括:在遍历获取到的虚拟网卡为非占用状态的目标虚拟网卡时,将所述目标虚拟网卡的当前状态设置为占用状态;将所述目标虚拟网卡的虚拟设备文件挂载至所述深度学习作业容器,并将所述目标虚拟网卡设置到所述作业容器对应的网络命名空间。
易于理解的是,所述单根容器网络接口找到第一个占用状态标志为0的虚拟网卡设备时,将该虚拟网卡设备作为目标虚拟网卡,并将其占用状态标志修改为1。所述单根容器网络接口将目标虚拟网卡的虚拟设备文件挂载到发送申请的作业容器中,并将目标虚拟网卡设置到作业容器对应的网络命名空间,使得作业容器中可以使用到虚拟网卡设备。所述单根容器网络接口还会为作业容器中的虚拟网卡设备设置IP地址、掩码、网关等。
所述物理机,还用于在接收到所述深度学习作业容器发送的作业运行信息时,根据所述作业运行信息分配RDMA网卡设备资源并进行作业运行。
所述物理机,具体用于在接收到所述深度学习作业容器发送的作业运行信息时,遍历所有RDMA网络硬件列表以获取RDMA网卡设备信息;在遍历到的RDMA网卡设备信息与所述作业运行信息匹配时,停止遍历并将所述RDMA网卡设备信息作为目标网卡设备信息;根据所述目标网卡设备信息及所述作业运行信息获取环境变量参数,并根据所述环境变量进行作业运行。
应当理解的是,在挂载完成后,完成了深度学习作业运行的准备工作。在接收到深度学习作业提交作业运行时,RDMA作业适配软件获取所有的RDMA网卡信息,在深度学习作业容器中检索出所有RDMA网络硬件列表,包括RDMA网卡与RoCE(RDMA over ConvergedEthernet,聚合以太网之上的RDMA网络)网卡。获取作业运行所需的作业参数,并按照作业参数循环检索所有RDMA网卡信息,选取第一个可以正常通信的RDMA网卡设备与通道参数。根据检索的结果设置环境变量,也即根据获取到的网卡设备信息和不同作业运行类型设置对应的环境变量。进一步地,修改作业运行进程可使用的最大锁页内存为unlimited,修改作业运行进程的启动用户为参数指定的用户,传递作业指定的所有环境变量到运行进程的环境中。完成上述设置后,启动节点上的作业运行进程。
进一步地,本实施例能够应用于支持RDMA网卡设备的分布式作业运行系统部署结构的TensorFlow(张量流)深度学习引擎、支持RDMA网卡设备的分布式作业运行系统部署结构的MindSpore深度学习引擎。
本发明实施例通过上述系统,解决了现有开源CNI方案中设备性能与安全隔离问题,依赖本发明提出的分布式作业适配软件解决了多种深度学习引擎适配RDMA网卡硬件的困难,提高深度学习系统作业运行的效率,具有明显的实用价值。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的基于RDMA设备的深度学习作业运行方法,此处不再赘述。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (7)

1.一种基于RDMA设备的深度学习作业运行方法,其特征在于,所述方法包括:
对RDMA网卡设备进行虚拟化,以生成多个虚拟网卡;
在接收到深度学习作业容器发送的网卡分配请求时,通过单根容器网络接口将对应的虚拟网卡挂载至所述深度学习作业容器;
在接收到所述深度学习作业容器发送的作业运行信息时,遍历所有RDMA网络硬件列表以获取RDMA网卡设备信息;
在遍历到的RDMA网卡设备信息与所述作业运行信息匹配时,停止遍历并将所述RDMA网卡设备信息作为目标网卡设备信息;
根据所述目标网卡设备信息及所述作业运行信息获取环境变量参数,并根据所述环境变量进行作业运行。
2.如权利要求1所述的基于RDMA设备的深度学习作业运行方法,其特征在于,所述对RDMA网卡设备进行虚拟化,以生成多个虚拟网卡的步骤,具体包括:
对RDMA网卡设备进行虚拟化,以生成多个虚拟网卡实例,并创建虚拟机将所述虚拟网卡实例挂载至所述虚拟机。
3.如权利要求2所述的基于RDMA设备的深度学习作业运行方法,其特征在于,所述在接收到深度学习作业容器发送的网卡分配请求时,通过单根容器网络接口将对应的虚拟网卡挂载至所述深度学习作业容器的步骤,具体包括:
在接收到深度学习作业容器发送的网卡分配请求时,通过单根容器网络接口遍历所有虚拟网卡;
在遍历获取到的虚拟网卡为非占用状态的目标虚拟网卡时,停止遍历并将所述目标虚拟网卡挂载至所述深度学习作业容器。
4.如权利要求3所述的基于RDMA设备的深度学习作业运行方法,其特征在于,所述在遍历获取到的虚拟网卡为非占用状态的目标虚拟网卡时,停止遍历并将所述目标虚拟网卡挂载至所述深度学习作业容器的步骤,具体包括:
在遍历获取到的虚拟网卡为非占用状态的目标虚拟网卡时,将所述目标虚拟网卡的当前状态设置为占用状态;
将所述目标虚拟网卡的虚拟设备文件挂载至所述深度学习作业容器,并将所述目标虚拟网卡设置在所述深度学习作业容器对应的网络命名空间。
5.如权利要求1所述的基于RDMA设备的深度学习作业运行方法,其特征在于,所述根据所述目标网卡设备信息及所述作业运行信息获取环境变量参数,并根据所述环境变量进行作业运行的步骤之后,还包括:
在接收到深度学习作业容器发送的释放请求时,通过单根容器网络接口对所述深度学习作业容器进行虚拟网卡卸载。
6.如权利要求5所述的基于RDMA设备的深度学习作业运行方法,其特征在于,所述在接收到深度学习作业容器发送的释放请求时,通过单根容器网络接口对所述深度学习作业容器进行虚拟网卡卸载的步骤,具体包括:
在接收到深度学习作业容器发送的释放请求时,通过单根容器网络接口释放掉所述虚拟网卡的IP地址、子网掩码和网关配置,将所述虚拟网卡的网络命名空间从所述深度学习作业容器的网络命名空间还原为宿主机的网络命名空间,并将所述虚拟网卡从所述深度学习作业容器卸载,并将所述虚拟网卡设备的当前状态由占用状态修改为空闲状态。
7.一种基于RDMA设备的深度学习作业运行系统,其特征在于,所述系统包括:一个主节点及多个子节点;其中,所述子节点包括:
物理机,用于对RDMA网卡设备进行虚拟化,以生成多个虚拟网卡;
单根容器网络接口,用于在接收到深度学习作业容器发送的网卡分配请求时,将对应的虚拟网卡挂载至所述深度学习作业容器;
所述物理机,还用于在接收到所述深度学习作业容器发送的作业运行信息时,遍历所有RDMA网络硬件列表以获取RDMA网卡设备信息;
在遍历到的RDMA网卡设备信息与所述作业运行信息匹配时,停止遍历并将所述RDMA网卡设备信息作为目标网卡设备信息;
根据所述目标网卡设备信息及所述作业运行信息获取环境变量参数,并根据所述环境变量进行作业运行。
CN202111478534.1A 2021-12-06 2021-12-06 基于rdma设备的深度学习作业运行方法及系统 Active CN114374609B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111478534.1A CN114374609B (zh) 2021-12-06 2021-12-06 基于rdma设备的深度学习作业运行方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111478534.1A CN114374609B (zh) 2021-12-06 2021-12-06 基于rdma设备的深度学习作业运行方法及系统

Publications (2)

Publication Number Publication Date
CN114374609A CN114374609A (zh) 2022-04-19
CN114374609B true CN114374609B (zh) 2023-09-15

Family

ID=81140129

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111478534.1A Active CN114374609B (zh) 2021-12-06 2021-12-06 基于rdma设备的深度学习作业运行方法及系统

Country Status (1)

Country Link
CN (1) CN114374609B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242786B (zh) * 2022-05-07 2024-01-12 东云睿连(武汉)计算技术有限公司 一种基于容器集群的多模式大数据作业调度系统及方法
CN114928490B (zh) * 2022-05-20 2023-08-15 国网江苏省电力有限公司 容器场景下的多端网络管控方法、装置、存储介质和电子设备
CN116361037B (zh) * 2023-05-18 2023-08-18 之江实验室 一种分布式通信系统及方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101888320A (zh) * 2009-05-11 2010-11-17 埃森哲环球服务有限公司 增强型网络适配器框架
WO2017181876A1 (zh) * 2016-04-19 2017-10-26 华为技术有限公司 一种设备状态及资源信息监测方法、相关设备及系统
CN111580935A (zh) * 2020-05-13 2020-08-25 深信服科技股份有限公司 一种网络通信方法、装置、设备及存储介质
CN111931944A (zh) * 2020-07-14 2020-11-13 东云睿连(武汉)计算技术有限公司 一种深度学习向导装置和方法
CN112822060A (zh) * 2021-02-22 2021-05-18 优刻得科技股份有限公司 主机网络的构建方法、装置、系统、介质和主机
CN113162802A (zh) * 2021-04-02 2021-07-23 东云睿连(武汉)计算技术有限公司 基于InfiniBand的通信方法、设备及存储介质
CN113535319A (zh) * 2020-04-09 2021-10-22 深圳致星科技有限公司 一种实现多rdma网卡虚拟化的方法、设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9548890B2 (en) * 2014-03-17 2017-01-17 Cisco Technology, Inc. Flexible remote direct memory access resource configuration in a network environment
CN105518620B (zh) * 2014-10-31 2019-02-01 华为技术有限公司 一种网卡配置方法及资源管理中心
WO2016197069A1 (en) * 2015-06-05 2016-12-08 Nutanix, Inc. Architecture for managing i/o and storage for a virtualization environment using executable containers and virtual machines
US10257273B2 (en) * 2015-07-31 2019-04-09 Netapp, Inc. Systems, methods and devices for RDMA read/write operations

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101888320A (zh) * 2009-05-11 2010-11-17 埃森哲环球服务有限公司 增强型网络适配器框架
WO2017181876A1 (zh) * 2016-04-19 2017-10-26 华为技术有限公司 一种设备状态及资源信息监测方法、相关设备及系统
CN113535319A (zh) * 2020-04-09 2021-10-22 深圳致星科技有限公司 一种实现多rdma网卡虚拟化的方法、设备及存储介质
CN111580935A (zh) * 2020-05-13 2020-08-25 深信服科技股份有限公司 一种网络通信方法、装置、设备及存储介质
CN111931944A (zh) * 2020-07-14 2020-11-13 东云睿连(武汉)计算技术有限公司 一种深度学习向导装置和方法
CN112822060A (zh) * 2021-02-22 2021-05-18 优刻得科技股份有限公司 主机网络的构建方法、装置、系统、介质和主机
CN113162802A (zh) * 2021-04-02 2021-07-23 东云睿连(武汉)计算技术有限公司 基于InfiniBand的通信方法、设备及存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
RDMA虚拟化相关技术研究;代超;刘强;蒋金虎;张为华;;计算机系统应用(第10期);全文 *
代超 ; 刘强 ; 蒋金虎 ; 张为华 ; .RDMA虚拟化相关技术研究.计算机系统应用.2020,(10),全文. *
林健 ; 谢冬鸣 ; 余波 ; .深度学习云服务适配问题研究.软件导刊.2020,(06),全文. *
深度学习云服务适配问题研究;林健;谢冬鸣;余波;;软件导刊(第06期);全文 *

Also Published As

Publication number Publication date
CN114374609A (zh) 2022-04-19

Similar Documents

Publication Publication Date Title
CN114374609B (zh) 基于rdma设备的深度学习作业运行方法及系统
CN107590001B (zh) 负载均衡方法及装置、存储介质、电子设备
US11704144B2 (en) Creating virtual machine groups based on request
CN111542064B (zh) 一种用于无线接入网的容器编排管理系统及编排方法
CN108293041B (zh) 分布式系统、资源容器的分配方法、资源管理器及应用控制器
CN110383764B (zh) 无服务器系统中使用历史数据处理事件的系统和方法
JP5837206B2 (ja) 分離された仮想空間を提供するための方法および装置
WO2018205325A1 (zh) 在异构资源上构建内容分发网络平台的方法和系统
CN107733704B (zh) 一种基于虚拟化和容器技术的勘探开发云的系统和方法
CN109951545B (zh) 自适应的容器和云桌面的融合系统及其获取云资源的方法
CN110297670B (zh) 一种提高容器云上分布式任务训练效率的方法及系统
CN110311948B (zh) 容器/容器组间的通信方法及基于此的容器云网络系统
CN110308986B (zh) 基于优化调度的容器云上分布式训练数据通信的方法
DE112018007409T5 (de) Verfahren und vorrichtung zum planen von dienstanforderungen in einem netzwerk-rechensystem mit hilfe von hardware-warteschlangenverwaltungen
CN110308987B (zh) 一种更新容器云上分布式训练任务连接参数的方法
CN112463290A (zh) 动态调整计算容器的数量的方法、系统、装置和存储介质
WO2017185992A1 (zh) 一种请求消息传输方法及装置
TW202034179A (zh) 資源調度方法、設備、系統及中心伺服器
CN110011984B (zh) 一种基于rest和rpc的分布式集群系统及方法
CN108540408B (zh) 一种基于Openstack的分布式虚拟交换机的管理方法及系统
CN113438295A (zh) 容器组地址分配方法、装置、设备及存储介质
CN116436968A (zh) 一种服务网格通信方法、系统、装置以及存储介质
CN111400021A (zh) 一种深度学习方法、装置及系统
WO2021057405A1 (zh) 资源共享方法及装置
CN111045778B (zh) 一种虚拟机的创建方法、装置、服务器及存储介质

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