CN110308986A - 基于优化调度的容器云上分布式训练数据通信的方法 - Google Patents
基于优化调度的容器云上分布式训练数据通信的方法 Download PDFInfo
- Publication number
- CN110308986A CN110308986A CN201910413703.XA CN201910413703A CN110308986A CN 110308986 A CN110308986 A CN 110308986A CN 201910413703 A CN201910413703 A CN 201910413703A CN 110308986 A CN110308986 A CN 110308986A
- Authority
- CN
- China
- Prior art keywords
- container
- rdma network
- rdma
- network
- network card
- 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.)
- Granted
Links
- 238000012549 training Methods 0.000 title claims abstract description 105
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000006854 communication Effects 0.000 title claims abstract description 32
- 238000004891 communication Methods 0.000 title claims abstract description 30
- 238000010801 machine learning Methods 0.000 claims description 21
- 238000013507 mapping Methods 0.000 claims description 12
- 238000005457 optimization Methods 0.000 claims description 9
- 238000003780 insertion Methods 0.000 abstract 2
- 230000037431 insertion Effects 0.000 abstract 2
- 238000005516 engineering process Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task 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网络提供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网络提供DNS服务,以所述容器/容器组对应子任务环境配置参数中的RDMA网络接入名称为容器/容器组的域名,将其与容器/容器组的RDMA网络IP相互映射;
在所述容器集群部署完成后,即启动执行分布式训练任务。
5.根据权利要求4所述的在容器云平台部署分布式训练任务的方法,其特征在于,
所述的提供连接访问服务和RDMA网络接入:
通过多网卡cni为所述容器/容器组提供不少于两个的虚拟网卡接口;其中,
第一网卡接口,用于挂载虚拟网卡;所述容器/容器组通过其接入默认网络;
第二网卡接口,用于挂载虚拟RDMA网卡;所述容器/容器组通过其接入RDMA网络。
6.根据权利要求5所述的在容器云平台部署分布式训练任务的方法,其特征在于,
通过sriov-cni为所述容器/容器组提供所述的第二网络接口;
对应地,通过sriov虚拟物理RDMA网卡获得所述虚拟RDMA网卡。
7.一种分布式机器学习容器云平台系统,其特征在于,包括:
分布式训练任务管理单元、任务优化调度单元和容器云平台;其中,
分布式训练任务管理单元,用于将待训练任务分解为若干个子任务;
任务优化调度单元,用于调度包括所述子任务在内的各类任务到容器云平台上;其中包括:
为所述各类任务生成环境配置参数和定义容器/容器组;
其中的优化调度模块,用于为所述子任务生成环境配置参数;所述的环境配置参数中包括RDMA网络接入名称,作为环境配置参数中的连接参数;
容器云平台,用于部署容器集群和管理容器集群;其中包括:
根据任务调度单元的定义,为所述子任务创建与之对应的容器/容器组、提供连接访问服务和额外提供RDMA网络接入;
以及在部署时,为所述容器集群中的RDMA网络提供DNS服务,以所述容器/容器组对应子任务环境配置参数中的RDMA网络接入名称为容器/容器组的域名,将其与容器/容器组的RDMA网络IP相互映射;
和在容器集群部署完成后,启动执行分布式训练任务。
8.根据权利要求7所述的分布式机器学习容器云平台系统,其特征在于,
所述的提供连接访问服务和RDMA网络接入:
通过多网卡cni为所述容器/容器组提供不少于两个的虚拟网卡接口;其中,
第一网卡接口,用于挂载虚拟网卡;所述容器/容器组通过其接入默认网络;
第二网卡接口,用于挂载虚拟RDMA网卡;所述容器/容器组通过其接入RDMA网络。
9.根据权利要求8所述的分布式机器学习容器云平台系统,其特征在于,
通过sriov-cni为所述容器/容器组提供所述的第二网络接口;
对应地,通过sriov虚拟物理RDMA网卡获得所述虚拟RDMA网卡。
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 true CN110308986A (zh) | 2019-10-08 |
CN110308986B 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) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111371627A (zh) * | 2020-03-24 | 2020-07-03 | 广西梯度科技有限公司 | 一种在Kubernetes中Pod设置多IP的方法 |
CN111541738A (zh) * | 2020-03-31 | 2020-08-14 | 北京华三通信技术有限公司 | 一种通信方法及装置 |
CN113138831A (zh) * | 2020-01-17 | 2021-07-20 | 深圳致星科技有限公司 | 一种网络重置方法及基于此的加速分布式训练方法和系统 |
CN113517991A (zh) * | 2020-04-09 | 2021-10-19 | 深圳致星科技有限公司 | 一种加速分布式ai训练云平台的部署方法及相关平台 |
CN113515341A (zh) * | 2020-04-09 | 2021-10-19 | 深圳致星科技有限公司 | 一种灵活的分布式ai训练云平台部署方法及相关平台 |
Citations (5)
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 | 北京邮电大学 | 一种加速分布式深度神经网络的训练方法及装置 |
US20190042934A1 (en) * | 2017-12-01 | 2019-02-07 | Meenakshi Arunachalam | Methods and apparatus for distributed training of a neural network |
-
2019
- 2019-05-17 CN CN201910413703.XA patent/CN110308986B/zh active Active
Patent Citations (5)
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的集群管理方法及装置 |
US20190042934A1 (en) * | 2017-12-01 | 2019-02-07 | Meenakshi Arunachalam | Methods and apparatus for distributed training of a neural network |
CN108710638A (zh) * | 2018-04-13 | 2018-10-26 | 上海交通大学 | 一种基于混合rdma操作的分布式并发控制方法及系统 |
CN108876702A (zh) * | 2018-06-21 | 2018-11-23 | 北京邮电大学 | 一种加速分布式深度神经网络的训练方法及装置 |
Non-Patent Citations (1)
Title |
---|
DAEHYEOK KIM,TIANLONG YU, HONGQIANG HARRY LIU, YIBO ZHU: "FreeFlow: Software-based Virtual RDMA Networking for Containerized Clouds", 《PROCEEDINGS OF THE 16TH USENIX SYMPOSIUM ON NETWORKED SYSTEMS DESIGN AND IMPLEMENTATION》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113138831A (zh) * | 2020-01-17 | 2021-07-20 | 深圳致星科技有限公司 | 一种网络重置方法及基于此的加速分布式训练方法和系统 |
CN113138831B (zh) * | 2020-01-17 | 2024-03-08 | 深圳致星科技有限公司 | 一种网络重置方法及基于此的加速分布式训练方法和系统 |
CN111371627A (zh) * | 2020-03-24 | 2020-07-03 | 广西梯度科技有限公司 | 一种在Kubernetes中Pod设置多IP的方法 |
CN111371627B (zh) * | 2020-03-24 | 2022-05-10 | 广西梯度科技有限公司 | 一种在Kubernetes中Pod设置多IP的方法 |
CN111541738A (zh) * | 2020-03-31 | 2020-08-14 | 北京华三通信技术有限公司 | 一种通信方法及装置 |
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训练云平台部署方法及相关平台 |
Also Published As
Publication number | Publication date |
---|---|
CN110308986B (zh) | 2023-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110308986B (zh) | 基于优化调度的容器云上分布式训练数据通信的方法 | |
CN110198364B (zh) | 基于指定dns解析的容器云上分布式训练数据通信的方法 | |
CN110297670B (zh) | 一种提高容器云上分布式任务训练效率的方法及系统 | |
CN110308987B (zh) | 一种更新容器云上分布式训练任务连接参数的方法 | |
CN110311948B (zh) | 容器/容器组间的通信方法及基于此的容器云网络系统 | |
CN102404385A (zh) | 面向高性能计算的虚拟集群部署系统和部署方法 | |
CN113094182B (zh) | 一种服务的负载均衡处理方法、装置及云端服务器 | |
CN113596110A (zh) | 一种面向异构云的云原生微服务平台 | |
US9774542B2 (en) | Computer-implemented method and a system for providing a networking service, and a computer program product adapted to perform the method | |
CN114374609B (zh) | 基于rdma设备的深度学习作业运行方法及系统 | |
Ibrahim et al. | SIM-cumulus: An academic cloud for the provisioning of network-simulation-as-a-service (NSaaS) | |
CN110300192B (zh) | 一种根据ip分配表更新分布式训练任务连接参数的方法 | |
Yin et al. | JTangCSB: A cloud service bus for cloud and enterprise application integration | |
Yang et al. | High-performance docker integration scheme based on OpenStack | |
Kaur et al. | A review on load balancing in cloud environment | |
WO2020249080A1 (zh) | 一种虚拟网络功能vnf部署方法及装置 | |
John et al. | Making cloud easy: design considerations and first components of a distributed operating system for cloud | |
CN112929461B (zh) | 一种基于高速互连网络的mpi进程管理接口实现方法 | |
CN114745377A (zh) | 边缘云集群服务系统及实现方法 | |
WO2021022947A1 (zh) | 一种部署虚拟机的方法及相关装置 | |
CN112348196A (zh) | 一种自适应rdma网络的分布式机器学习系统及方法 | |
Kissel | Janus: Lightweight Container Orchestration for High-performance Data Sharing | |
Wu et al. | Dynamic kernel/device mapping strategies for gpu-assisted hpc systems | |
CN116069481B (zh) | 一种共享gpu资源的容器调度系统及调度方法 | |
Dantas et al. | Green LAC: Resource-Aware Dynamic Load Balancer for Serverless Edge Computing Platforms. |
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 | ||
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. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |