CN110308986B - 基于优化调度的容器云上分布式训练数据通信的方法 - Google Patents

基于优化调度的容器云上分布式训练数据通信的方法 Download PDF

Info

Publication number
CN110308986B
CN110308986B CN201910413703.XA CN201910413703A CN110308986B CN 110308986 B CN110308986 B CN 110308986B CN 201910413703 A CN201910413703 A CN 201910413703A CN 110308986 B CN110308986 B CN 110308986B
Authority
CN
China
Prior art keywords
container
rdma network
rdma
group
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
CN201910413703.XA
Other languages
English (en)
Other versions
CN110308986A (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.)
Shenzhen Zhixing Technology Co Ltd
Original Assignee
Shenzhen Zhixing 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 Shenzhen Zhixing Technology Co Ltd filed Critical Shenzhen Zhixing Technology Co Ltd
Priority to CN201910413703.XA priority Critical patent/CN110308986B/zh
Publication of CN110308986A publication Critical patent/CN110308986A/zh
Application granted granted Critical
Publication of CN110308986B publication Critical patent/CN110308986B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种基于优化调度的容器云上分布式训练数据通信的方法,通过生成包括以RDMA网络接入名称作为连接参数的环境配置参数,优化调度训练的子任务到容器云平台,同时在部署用于训练的容器集群时提供额外的RDMA网络和对应的DNS服务,进而在运行分布式训练任务时通过RDMA网络接入名称及对应的DNS解析实现在容器云上分布式训练时容器/容器组间训练数据的RDMA通信,解决“大模型”和“大数据”场景下容器云上分布式训练时训练数据通信瓶颈的问题,大大提升容器云平台上的分布式训练效率。

Description

基于优化调度的容器云上分布式训练数据通信的方法
技术领域
本发明涉及容器云、分布式机器学习领域;具体地,涉及一种基于优化调度的容器云上分布式训练数据通信的方法。
背景技术
随着大数据和机器学习研究的不断深入,大数据时代的机器学习开始呈现出“大模型”和“大数据”的特点。其中的“大模型”,是指随着机器学习(特别是深度学习)的进展,许多问题越来越需要一个更大的模型才能有能力去尽量接近要解决问题的具体功能;“大数据”则是指训练数据集较小时,机器学习(特别是深度学习)的效果并不理想,因此通常需要尽量大的数据作为训练集,以提高机器学习的效果。这样就使得在大规模机器学习训练场景下,训练数据和模型参数大到单台机器无法处理。因此,分布式机器学习也随之出现。
分布式机器学习是指将训练任务拆解成若干个小的任务,分配到多个设备上进行训练。分布式机器学习不仅是将训练任务分布到多个处理器上,同时也将数据(包括训练数据以及中间结果)分布在不同设备的存储中。为了获得更大的计算能力、存储、吞吐量以及容错能力,人们越来越倾向于分布式机器学习训练。
然而,一个具备实用意义的用于分布式机器学习训练的裸机集群(即物理主机集群),其从构建部署到运行维护,都是极为专业且复杂甚至是繁琐的工作。为此,人们将容器云技术应用到分布式机器学习领域,简化其构建部署运维工作的难度。
容器云技术不仅能够实现容器集群的快速部署,同时它也是一种轻量化的解决方案,且能够有效整合和管理着裸机资源。这里以Kubernetes平台运行分布式机器学习训练任务为例,Kubernetes不仅为打包应用提供一致的方法,保证应用在不同设备上运行的一致性,为应用的运行环境提供资源隔离,同时其对硬件底层的复杂性和节点管理进行了抽象,并且支持GPU的调度,此外,其还可基于应用和集群本身的需要进行弹性扩展。
容器、容器编排工具的容器云平台,均是运行在操作***上,故其默认的通信通常也是由容器云平台提供的连接访问服务实现的,虽然这是一种高可用的容器云网络解决方案,但其无法绕过操作***。由于上述方案的通信过程需要操作***和协议栈的介入,在“大数据”训练集的场景下,训练梯度网络传输过程中将不可避免占用大量的CPU资源,还会造成较大网络延时,严重制约训练效率。
RDMA,即远程直接数据存取技术;RDMA可以通过网络在两个节点的应用软件之间实现Buffer的直接传递。相比传统的网络传输,RDMA无需操作***和协议栈的介入,避免了网络传输过程中大量的CPU资源占用,同时也减小了网络延时。在物理主机作为节点组成的集群进行分布式计算时,已经通过为每个物理节点挂载RDMA网卡(即支持RDMA协议的物理网卡)的方式实现了RDMA通信。
为了更高效地使用算力资源,在容器云平台部署分布式机器训练时,往往会先将待训练的任务分解为若干个子任务,并为每个子任务生成环境配置参数(以保障子任务间的依赖关系和控制子任务间的数据一致性),然后为每个子任务创建对应的容器/容器组(这里的容器/容器组是指容器集群在编排管理时最小单位;其中,这里的容器即在容器环境下运行独立应用的容器;而容器组,是指在容器环境下运行独立应用的“逻辑主机”,运行着一个或者多个紧密耦合的应用容器,如Kubernetes平台的Pod)、连接访问服务,继而运行分布式训练;在运行分布式训练过程中,即可利用环境配置参数的连接参数即连接访问服务名称获取相应的连接访问服务,进而在默认网络下实现训练数据通信。但是,这里的连接访问服务,仅适用于在默认网络下提供相关访问连接服务,其需要通过内核的iptables等才能实现容器/容器组间默认通信的方式,显然是无法支持到RDMA网络的。要而言之,以上述方式在容器云平台上部署分布式机器训练任务时,运行在各容器/容器组上的子任务需要通信时,即使在本、对端容器/容器组间存在RDMA网络的情况下,也无法发现和使用RDMA网络的。
发明内容
有鉴于此,本发明提供一种基于优化调度的容器云上分布式训练数据通信的方法。
一方面,本发明实施例提供一种基于优化调度的容器云上分布式训练数据通信的方法。
上述的通信方法,包括:
在容器云平台部署分布式训练任务过程中:
为子任务(由整个训练任务分解获得的)生成环境配置参数;其中,上述的环境配置参数中包括RDMA网络接入名称,作为环境配置参数中的连接参数;上述的RDMA网络接入名称,将区别于那些非训练任务环境配置参数中的默认连接参数(即连接访问服务名称);
在为训练任务部署容器集群时,为子任务创建对应的容器/容器组和提供连接访问服务、以及额外提供RDMA网络接入;
为容器集群中的RDMA网络提供DNS服务,以容器/容器组对应子任务环境配置参数中的RDMA网络接入名称为容器/容器组的域名,将这些域名与容器/容器组被分配获得的RDMA网络IP相互映射;
在容器集群上运行分布式训练时,子任务的通信数据,即通过其环境配置参数中RDMA网络接入名称,直接访问RDMA网络DNS服务解析获得本、对端容器/容器组的RDMA网络IP,进行RDMA通信。
另一方面,本发明实施例提供一种在容器云平台部署分布式训练任务的方法。
结合第一方面,上述的部署方法,包括:
将待训练任务分解为若干个子任务;
并为子任务生成环境配置参数;其中,上述的环境配置参数中包括RDMA网络接入名称,作为环境配置参数中的连接参数;上述的RDMA网络接入名称,将区别于那些非训练任务环境配置参数中的默认连接参数(即连接访问服务名称);
为待训练任务部署容器集群,其中包括:
为子任务创建对应的容器/容器组和提供连接访问服务、以及额外提供RDMA网络接入;
为容器集群中的RDMA网络提供DNS服务,以容器/容器组对应子任务环境配置参数中的RDMA网络接入名称为容器/容器组的域名,将这些域名与容器/容器组被分配获得的RDMA网络IP相互映射;
在容器集群部署完成后,即启动执行分布式训练任务;也即在各容器/容器组执行各子任务。
再一方面,本发明实施例提供一种分布式机器学***台***。
结合第一、第二方面,对应地,上述的分布式机器学***台***,包括:
分布式训练任务管理单元、任务优化调度单元和容器云平台;其中,
分布式训练任务管理单元,用于将待训练任务分解为若干个子任务;
任务优化调度单元,用于调度包括子任务在内的各类任务到容器云平台上;其中包括:
为所述各类任务生成环境配置参数和定义将被创建的、用来执行所述各类任务的容器/容器组等;
其中的优化调度模块,用于为子任务生成环境配置参数;其中,上述的环境配置参数中包括RDMA网络接入名称,作为环境配置参数中的连接参数;上述的RDMA网络接入名称,将区别于那些非训练任务环境配置参数中的默认连接参数(即连接访问服务名称);
容器云平台,用于部署用于训练的容器集群和管理容器集群;其中包括:
根据任务调度单元的定义,为子任务创建与之对应的容器/容器组、提供连接访问服务和额外提供RDMA网络接入;
以及为容器集群中的RDMA网络提供DNS服务,以容器/容器组对应子任务环境配置参数中的RDMA网络接入名称为容器/容器组的域名,将这些域名与容器/容器组被分配获得的RDMA网络IP相互映射;
和在容器集群部署完成后,启动执行分布式训练任务。
上述实施例中提供的基于优化调度的容器云上分布式训练数据通信的方法,通过生成包括以RDMA网络接入名称作为连接参数的环境配置参数,优化调度训练的子任务到容器云平台,同时在部署用于训练的容器集群时提供额外的RDMA网络和对应的DNS服务,进而在运行分布式训练任务时通过RDMA网络接入名称及对应的DNS解析实现在容器云上分布式训练时容器/容器组间训练数据的RDMA通信,解决“大模型”和“大数据”场景下容器云上分布式训练时训练数据通信瓶颈的问题,大大提升容器云平台上的分布式训练效率。
附图说明
为更加清楚地说明本发明实施例或现有技术中的技术方案,下面将对本发明中一部分实施例或现有技术描述中涉及的附图做简单介绍。
图1为本发明一些优选实施例提供的一种在容器云平台部署分布式训练任务的方法的流程示意图。
具体实施方式
下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下为本发明的一些优选实施例。其中,
上述优选实施例提供一种基于优化调度的容器云上分布式训练数据通信的方法。该方法包括:
在容器云平台部署分布式训练任务过程中:
在部署训练容器集群前,优化子任务(由整个训练任务分解获得的)调度:
为子任务生成环境配置参数;其中,上述的环境配置参数中包括RDMA网络接入名称,作为环境配置参数中的连接参数;上述的RDMA网络接入名称,将区别于那些非训练任务环境配置参数中的默认连接参数(即连接访问服务名称);
以及,
在为训练任务部署容器集群时,为每一个子任务(为了提高训练效率,在部署分布式训练任务时,会结合算力资源等实际情况,将整个的待训练任务分解成若干个(不少于2个)的子任务)创建对应的容器/容器组,提供连接访问服务、以及额外提供RDMA网络接入;
其中,以上的提供连接访问服务和RDMA网络接入,具体地,可以是:
通过多网卡cni为前面述及的每个容器/容器组均提供不少于两个的虚拟网卡接口;其中,
第一网卡接口,用于挂载虚拟网卡;容器/容器组通过各自的虚拟网卡接入默认网络;
第二网卡接口,用于挂载虚拟RDMA网卡;容器/容器组通过各自的RDMA网卡接入RDMA网络;
如此,容器/容器组即通过连接访问服、RDMA网络接入和它们之间的默认网络、RDMA网络,构成用于训练的双网络容器集群;
在部署上述容器集群时,搭建RDMA网络DNS服务器,为容器集群中的RDMA网络提供DNS服务,具体的:
以容器/容器组对应子任务环境配置参数中的RDMA网络接入名称为容器/容器组的域名,将这些域名与容器/容器组被分配获得的RDMA网络IP相互映射;
在容器集群部署完成和启动分布式训练后,分布式训练任务运行时,子任务涉及的通信数据,即通过其环境配置参数中的RDMA网络接入名称,直接访问RDMA网络DNS服务解析获得本、对端容器/容器组的RDMA网络IP,使用RDMA网络,进行RDMA通信。
具体地,这些实施例中的一些提供的基于优化调度的容器云上分布式训练数据通信的方法中,通过sriov-cni为上述的容器/容器组提供所述的第二网卡接口;对应地,通过sriov虚拟物理RDMA网卡,获得所述的用于挂载的虚拟RDMA网卡。
本发明的另一些优选实施例提供一种在容器云平台部署分布式训练任务的方法。如图1所示,该方法包括:
将整个的待训练任务分解成若干个(不少于2个)的子任务;
优化子任务调度:
分别为每个子任务生成环境配置参数,以保障子任务间的依赖关系和训练子任务间的数据一致性;其中,上述的环境配置参数中包括RDMA网络接入名称,作为环境配置参数中的连接参数;上述的RDMA网络接入名称,将区别于那些非训练任务环境配置参数中的默认连接参数(即连接访问服务名称);
部署训练用容器集群:
为每个子任务创建对应的容器/容器组,提供连接访问服务、以及额外提供RDMA网络接入;其中,以上的提供连接访问服务和RDMA网络接入,具体地,可以是:
通过多网卡cni为前面述及的每个容器/容器组均提供不少于两个的虚拟网卡接口;其中,
第一网卡接口,用于挂载虚拟网卡;容器/容器组通过各自的虚拟网卡接入默认网络;
第二网卡接口,用于挂载虚拟RDMA网卡;容器/容器组通过各自的RDMA网卡接入RDMA网络;
如此,容器/容器组即通过连接访问服、RDMA网络接入和它们之间的默认网络、RDMA网络,构成用于训练的双网络容器集群;
在部署上述容器集群时,搭建RDMA网络DNS服务器,为容器集群中的RDMA网络提供DNS服务,具体的:
以容器/容器组对应子任务环境配置参数中的RDMA网络接入名称为容器/容器组的域名,将这些域名与容器/容器组被分配获得的RDMA网络IP相互映射;
上述容器集群部署完成后,即启动执行分布式训练任务,也即在各容器/容器组执行各子任务。
具体地,这些实施例中的一些提供的在容器云平台部署分布式训练任务的方法中,通过sriov-cni为上述的容器/容器组提供所述的第二网卡接口;对应地,通过sriov虚拟物理RDMA网卡,获得所述的用于挂载的虚拟RDMA网卡。
下面以基于上述方法在Kubernetes平台部署分布式TensorFlow任务的过程为示例,进一步帮助理解上述优选实施例中的在容器云平台部署分布式训练任务的方法。其过程如下:
根据分布式训练的类型,结合计算资源/计算资源和模型,将预训练的整个任务分解为若干个(不少于2个)子任务,并分别为每个子任务生成TF_CONFIG(其中,TF_CONFIG中包括子任务在执行时通信过程中需要的连接参数,这里通过优化调度,生成的作为连接参数的是RDMA网络接入名称),以保障子任务间的依赖关系和训子任务间的数据一致性,以及生成其他相关参数,用以定义后续步骤中将要创建的任务的Pod(即Kubernetes平台的“容器组”,是平台对容器进行编排管理时的最小调度单位);比如,定义对应着子任务的Pod为训练Pod;
在Kubernetes平台部署用于训练的容器集群:
根据TF_CONFIG等为上述每个子任务创建对应的训练Pod、service(支持默认网络接入访问)和额外的RDMA网络接入:
通过multus_cni调用相应的cni插件,为上述的每个训练Pod提供两个虚拟网卡接口:
其中,通过调用flannel_cni插件,提供默认网络接口,挂载虚拟网卡,接入默认网络;默认网络通常用于平台管理任务的数据通信;
通过调用sriov_cni插件,提供RDMA网络接口,挂载RDMA虚拟网卡(基于sriov虚拟RDMA网卡获得这些虚拟RDMA网卡),接入RDMA网络;RDMA网络将用于训练任务(即各子任务)的数据通信,例如任务执行期间梯度聚合时梯度数据的通信;
以上的Pod通过service、RDMA网络接入和它们之间的默认网络、RDMA网络,构成用于训练的双网络容器集群;
在部署上述容器集群时,搭建RDMA网络DNS服务器,为容器集群中的RDMA网络提供DNS服务,具体的:
以Pod对应子任务的RDMA网络接入名称为Pod的域名,将这些域名与各Pod被分配获得的RDMA网络IP相互映射;
上述容器集群部署完成后,即启动执行分布式TensorFlow任务,也即在各容器/容器组执行各子任务。
本发明的再一些优选实施例提供一种分布式机器学***台***。该***包括:分布式训练任务管理单元、任务优化调度单元和容器云平台;其中,
分布式训练任务管理单元,用于将整个的待训练任务分解为若干个(不少于2个的)子任务;
任务优化调度单元,用于调度包括子任务在内的各类任务到容器云平台上;其中包括:
为所述各类任务生成环境配置参数(特别是为每个子任务生成环境配置参数以保障子任务间的依赖关系和子任务间的数据一致性),
和定义将被创建的、用来执行所述各类任务的容器/容器组等;例如,定义子任务对应的容器/容器组为训练用容器/容器组,以使之能够在向容器云平台请求后,容器云在创建时,提供诸如多网络等适用于训练的自定义性能设置;
其中的优化调度模块,用于为子任务生成环境配置参数;其中,上述的环境配置参数中包括RDMA网络接入名称,作为环境配置参数中的连接参数;上述的RDMA网络接入名称,将区别于那些非训练任务环境配置参数中的默认连接参数(即连接访问服务名称);
容器云平台,用于部署用于训练的容器集群和管理容器集群等;其中包括:
根据任务调度单元的定义,为子任务创建与之对应的容器/容器组、提供连接访问服务和额外提供RDMA网络接入;其中,以上的提供连接访问服务和RDMA网络接入,具体地,可以是:通过多网卡cni为前面述及的每个容器/容器组均提供不少于两个的虚拟网卡接口;其中,
第一网卡接口,用于挂载虚拟网卡;容器/容器组通过各自的虚拟网卡接入默认网络;
第二网卡接口,用于挂载虚拟RDMA网卡;容器/容器组通过各自的RDMA网卡接入RDMA网络;
上述容器/容器组通过连接访问服、RDMA网络接入和它们之间的默认网络、RDMA网络,构成用于训练的双网络容器集群;
以及为容器集群中的RDMA网络提供DNS服务,以容器/容器组对应子任务环境配置参数中的RDMA网络接入名称为容器/容器组的域名,将这些域名与容器/容器组被分配获得的RDMA网络IP相互映射;
和在容器集群部署完成后,启动执行分布式训练任务。
具体地,这些实施例中的分布式机器学***台***中,通过sriov-cni为上述的容器/容器组提供所述的第二网卡接口;对应地,通过sriov虚拟物理RDMA网卡,获得所述的用于挂载的虚拟RDMA网卡。
以上所述仅为本发明的具体实施方式,但本发明的保护范围并不局限于此。

Claims (9)

1.一种基于优化调度的容器云上分布式训练数据通信的方法,其特征在于,包括:
在容器云平台部署分布式训练任务过程中:
为子任务生成环境配置参数;其中,所述的子任务是由待训练任务分解的;
所述的环境配置参数中包括RDMA网络接入名称,作为环境配置参数中的连接参数;在为训练任务部署容器集群时,为所述子任务创建对应的容器/容器组和提供连接访问服务、以及额外提供RDMA网络接入;其中所述RDMA网络接入名称不同于非训练任务环境配置参数中的默认连接参数;
在部署时,为所述容器集群中的RDMA网络提供DNS服务,以所述容器/容器组对应子任务环境配置参数中的RDMA网络接入名称为容器/容器组的域名,将其与容器/容器组的RDMA网络IP相互映射;
在所述容器集群上运行分布式训练时,所述子任务的通信数据,即通过环境配置参数中的RDMA网络接入名称,直接访问RDMA网络DNS服务解析获得本、对端容器/容器组的RDMA网络IP,进行RDMA通信。
2.根据权利要求1所述的基于优化调度的容器云上分布式训练数据通信的方法,其特征在于,
所述的提供连接访问服务和RDMA网络接入:
通过多网卡cni为所述容器/容器组提供不少于两个的虚拟网卡接口;其中,
第一网卡接口,用于挂载虚拟网卡;所述容器/容器组通过其接入默认网络;
第二网卡接口,用于挂载虚拟RDMA网卡;所述容器/容器组通过其接入RDMA网络。
3.根据权利要求2所述的基于优化调度的容器云上分布式训练数据通信的方法,其特征在于,
通过sriov-cni为所述容器/容器组提供所述的第二网卡接口;
对应地,通过sriov虚拟物理RDMA网卡获得所述虚拟RDMA网卡。
4.一种在容器云平台部署分布式训练任务的方法,其特征在于,包括:
将待训练任务分解为若干个子任务;
并为所述子任务生成环境配置参数;其中,所述的环境配置参数中包括RDMA网络接入名称,作为环境配置参数中的连接参数;其中所述RDMA网络接入名称不同于非训练任务环境配置参数中的默认连接参数;
为待训练任务部署容器集群,其中包括:
为所述子任务创建对应的容器/容器组和提供连接访问服务、以及额外提供RDMA网络接入;
在部署时,为所述容器集群中的RDMA网络提供DNS服务,以所述容器/容器组对应子任务环境配置参数中的RDMA网络接入名称为容器/容器组的域名,将其与容器/容器组的RDMA网络IP相互映射;
在所述容器集群部署完成后,即启动执行分布式训练任务。
5.根据权利要求4所述的在容器云平台部署分布式训练任务的方法,其特征在于,
所述的提供连接访问服务和RDMA网络接入:
通过多网卡cni为所述容器/容器组提供不少于两个的虚拟网卡接口;其中,
第一网卡接口,用于挂载虚拟网卡;所述容器/容器组通过其接入默认网络;
第二网卡接口,用于挂载虚拟RDMA网卡;所述容器/容器组通过其接入RDMA网络。
6.根据权利要求5所述的在容器云平台部署分布式训练任务的方法,其特征在于,
通过sriov-cni为所述容器/容器组提供所述的第二网卡接口;
对应地,通过sriov虚拟物理RDMA网卡获得所述虚拟RDMA网卡。
7.一种分布式机器学***台***,其特征在于,包括:
分布式训练任务管理单元、任务优化调度单元和容器云平台;其中,
分布式训练任务管理单元,用于将待训练任务分解为若干个子任务;
任务优化调度单元,用于调度包括所述子任务在内的各类任务到容器云平台上;其中包括:
为所述各类任务生成环境配置参数和定义容器/容器组;
其中的优化调度模块,用于为所述子任务生成环境配置参数;所述的环境配置参数中包括RDMA网络接入名称,作为环境配置参数中的连接参数;其中所述RDMA网络接入名称不同于非训练任务环境配置参数中的默认连接参数;
容器云平台,用于部署容器集群和管理容器集群;其中包括:根据任务调度单元的定义,为所述子任务创建与之对应的容器/容器组、提供连接访问服务和额外提供RDMA网络接入;
以及在部署时,为所述容器集群中的RDMA网络提供DNS服务,以所述容器/容器组对应子任务环境配置参数中的RDMA网络接入名称为容器/容器组的域名,将其与容器/容器组的RDMA网络IP相互映射;
和在容器集群部署完成后,启动执行分布式训练任务。
8.根据权利要求7所述的分布式机器学***台***,其特征在于,
所述的提供连接访问服务和RDMA网络接入:
通过多网卡cni为所述容器/容器组提供不少于两个的虚拟网卡接口;其中,
第一网卡接口,用于挂载虚拟网卡;所述容器/容器组通过其接入默认网络;
第二网卡接口,用于挂载虚拟RDMA网卡;所述容器/容器组通过其接入RDMA网络。
9.根据权利要求8所述的分布式机器学***台***,其特征在于,
通过sriov-cni为所述容器/容器组提供所述的第二网卡接口;
对应地,通过sriov虚拟物理RDMA网卡获得所述虚拟RDMA网卡。
CN201910413703.XA 2019-05-17 2019-05-17 基于优化调度的容器云上分布式训练数据通信的方法 Active CN110308986B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910413703.XA CN110308986B (zh) 2019-05-17 2019-05-17 基于优化调度的容器云上分布式训练数据通信的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910413703.XA CN110308986B (zh) 2019-05-17 2019-05-17 基于优化调度的容器云上分布式训练数据通信的方法

Publications (2)

Publication Number Publication Date
CN110308986A CN110308986A (zh) 2019-10-08
CN110308986B true CN110308986B (zh) 2023-06-20

Family

ID=68075475

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910413703.XA Active CN110308986B (zh) 2019-05-17 2019-05-17 基于优化调度的容器云上分布式训练数据通信的方法

Country Status (1)

Country Link
CN (1) CN110308986B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113138831B (zh) * 2020-01-17 2024-03-08 深圳致星科技有限公司 一种网络重置方法及基于此的加速分布式训练方法和***
CN111371627B (zh) * 2020-03-24 2022-05-10 广西梯度科技有限公司 一种在Kubernetes中Pod设置多IP的方法
CN111541738B (zh) * 2020-03-31 2022-05-27 北京华三通信技术有限公司 一种通信方法及装置
CN113517991A (zh) * 2020-04-09 2021-10-19 深圳致星科技有限公司 一种加速分布式ai训练云平台的部署方法及相关平台
CN113515341A (zh) * 2020-04-09 2021-10-19 深圳致星科技有限公司 一种灵活的分布式ai训练云平台部署方法及相关平台

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104714852A (zh) * 2015-03-17 2015-06-17 华中科技大学 一种适用于分布式机器学习的参数同步优化方法及其***
CN107733977A (zh) * 2017-08-31 2018-02-23 北京百度网讯科技有限公司 一种基于Docker的集群管理方法及装置
CN108710638A (zh) * 2018-04-13 2018-10-26 上海交通大学 一种基于混合rdma操作的分布式并发控制方法及***
CN108876702A (zh) * 2018-06-21 2018-11-23 北京邮电大学 一种加速分布式深度神经网络的训练方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190042934A1 (en) * 2017-12-01 2019-02-07 Meenakshi Arunachalam Methods and apparatus for distributed training of a neural network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104714852A (zh) * 2015-03-17 2015-06-17 华中科技大学 一种适用于分布式机器学习的参数同步优化方法及其***
CN107733977A (zh) * 2017-08-31 2018-02-23 北京百度网讯科技有限公司 一种基于Docker的集群管理方法及装置
CN108710638A (zh) * 2018-04-13 2018-10-26 上海交通大学 一种基于混合rdma操作的分布式并发控制方法及***
CN108876702A (zh) * 2018-06-21 2018-11-23 北京邮电大学 一种加速分布式深度神经网络的训练方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FreeFlow: Software-based Virtual RDMA Networking for Containerized Clouds;Daehyeok Kim,Tianlong Yu, Hongqiang Harry Liu, Yibo Zhu;《Proceedings of the 16th USENIX Symposium on Networked Systems Design and Implementation》;20190228;第1-10节 *

Also Published As

Publication number Publication date
CN110308986A (zh) 2019-10-08

Similar Documents

Publication Publication Date Title
CN110308986B (zh) 基于优化调度的容器云上分布式训练数据通信的方法
CN110297670B (zh) 一种提高容器云上分布式任务训练效率的方法及***
CN110308987B (zh) 一种更新容器云上分布式训练任务连接参数的方法
CN110198364B (zh) 基于指定dns解析的容器云上分布式训练数据通信的方法
CN111542064B (zh) 一种用于无线接入网的容器编排管理***及编排方法
CN110311948B (zh) 容器/容器组间的通信方法及基于此的容器云网络***
WO2017080391A1 (zh) 一种网络服务部署方法和装置
CN105103506A (zh) 用于为云计算网络中的非均匀带宽请求分配带宽的方法和***
US9774542B2 (en) Computer-implemented method and a system for providing a networking service, and a computer program product adapted to perform the method
CN114363345B (zh) 一种面向工业异构网络管理的边云服务协同方法
CN103747107A (zh) 一种兼容式云操作平台及其实现方法
CN111427822A (zh) 一种边缘计算***
CN113946450A (zh) 一种用于k8s微服务框架的自适应带权轮询负载均衡***
Tseng et al. An mec-based vnf placement and scheduling scheme for ar application topology
Elahi et al. Toward scalable cloud data center simulation using high‐level architecture
CN104283910A (zh) 云计算环境下的资源管理***
CN118012622A (zh) 一种基于异构多云的资源编排方法、装置和介质
WO2020249080A1 (zh) 一种虚拟网络功能vnf部署方法及装置
CN110300192B (zh) 一种根据ip分配表更新分布式训练任务连接参数的方法
CN115499432A (zh) 家庭终端算力资源管理***及算力资源调度方法
CN114924835A (zh) 超融合环境下提升虚机访问性能的方法及***
Salama A swarm intelligence based model for mobile cloud computing
WO2021022947A1 (zh) 一种部署虚拟机的方法及相关装置
CN112348196A (zh) 一种自适应rdma网络的分布式机器学习***及方法
CN113918325A (zh) 一种ipran云专线业务资源分配方法及装置

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
CB02 Change of applicant information

Address after: 518000 a2405, building 9, zone 2, Shenzhen Bay science and technology ecological park, 3609 Baishi Road, community, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen Zhixing Technology Co.,Ltd.

Address before: Room 408, Building 3, 4 Chegongzhuang Street, Xicheng District, Beijing 100044

Applicant before: BEIJING HANHAI CLUSTAR TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant