CN113515341A - 一种灵活的分布式ai训练云平台部署方法及相关平台 - Google Patents
一种灵活的分布式ai训练云平台部署方法及相关平台 Download PDFInfo
- Publication number
- CN113515341A CN113515341A CN202010277815.XA CN202010277815A CN113515341A CN 113515341 A CN113515341 A CN 113515341A CN 202010277815 A CN202010277815 A CN 202010277815A CN 113515341 A CN113515341 A CN 113515341A
- Authority
- CN
- China
- Prior art keywords
- network card
- rdma network
- distributed
- training
- rdma
- 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.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 168
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000007726 management method Methods 0.000 claims abstract description 79
- 238000004891 communication Methods 0.000 claims abstract description 35
- 238000013468 resource allocation Methods 0.000 claims description 18
- 239000002184 metal Substances 0.000 claims description 8
- 239000000126 substance Substances 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 description 79
- 230000006870 function Effects 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 13
- 238000013135 deep learning Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000013439 planning Methods 0.000 description 3
- 210000004556 brain Anatomy 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003924 mental process Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
Images
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/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/45541—Bare-metal, i.e. hypervisor runs directly on hardware
-
- 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/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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
Abstract
本发明提供一种灵活的分布式AI训练云平台部署方法及相关平台。其中提供的灵活的分布式AI训练云平台部署方法和节点设备RDMA网卡资源管理方法以及相关平台、计算机可读存储介质,通过更灵活的部署方法,能够使所述分布式AI训练云平台大部分裸机集群(尤其是即便在异构集群(基于异构设备构建的裸机集群或因个别设备硬件问题造成异构状态的裸机集群))上都能实现快速部署;而部署后的分布式AI训练云平台,能够充分利用异构集群设备上的资源,特别是通过对节点设备RDMA网卡资源充分、有效管理进而充分利用RDMA网卡通信资源,支持更为高效的分布式AI训练。
Description
技术领域
本发明涉及AI(即人工智能)训练及云计算技术领域,具体地,涉及一种灵活的分布式AI训练云平台部署方法及相关平台。
背景技术
AI技术,即人工智能,是计算机科学的一个重要分支,而且越来越成为一支被人们广泛关注的研究方向。广义上来说,人工智能(AI),可以被理解为是使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的技术领域;其中主要则包括计算机实现智能的原理、制造类似于人脑智能的计算机或开发接近于人脑智能的程序等,使计算机能实现更高层次的应用。随着计算机软、硬件技术的发展,人工智能(AI)技术在近几十年也得到了迅速发展,在诸多技术领域也获得了广泛应用。
尤其是近年来深度学习在人工智能(AI)领域表现尤为突出,以深度学习为代表的新一代AI技术,不仅在普罗大众间掀起了又一轮的“人工智能热”,而且可以更直观地看到AI技术在逐步地进入从传统的金融保险、工业制造等到私域化的个人日常生活等广泛的领域。一般来说,广义的深度学习,通常包括深度学习算法以及训练等相关内容;而目前在深度学习领域热度最高的算法即是深度神经网络(Deep Neural Network,DNN)。深度神经网络,是指包括若干隐藏层的神经网络;而其在训练过程中一般是是其中的大量的神经元输入通过不断的迭代更新参数完成模型定型,进而方能应用于生产实践。
为了获得更为精确的模型用于预测,像深度神经网络算法这类的深度学习模型训练都需要大规模的样板数据集。概而言之,即深度学习涉及的计算强度非常高,单一的计算机设备已经无法支撑如此庞大的运算。因此,深度学习模型训练已经基本选择采用了分布式计算。而在分布式机器学习的过程中,自然不可避免的产生大量的数据通信。而传统的TCP/IP网络通信存在的I/O bottleneck瓶颈问题(即在高速网络条件下与网络I/O相关的处理的高开销(例如数据移动操作、复制操作)限制了计算机设备间的带宽;这是由于传统的TCP/IP网络通信是通过内核发送消息的,而Messaging passing through kernel(即消息传输需要内核介入)导致了低性能,这种通信方式存在的很高的数据移动和数据复制的开销。而RDMA(RemoteDirect Memory Access),即远程直接内存访问技术,作为一种无需通信双方操作系统介入、高吞吐、低延迟的网络通信,则很好地避免了上述问题。
但是,随着云计算技术的发展,为了降低分布式训练集群的部署难度和提高集群部署弹性,人们开始逐渐关注分布式训练平台的“云化”。要实现云化,首先就要对原来以物理集群形式应用于训练的硬件资源进行有效管理,且不可避免地涉及对涉及的各类硬件资源进行虚拟化。这其中就涉及支持高效通信的硬件资源的虚拟化;之前的技术方案中,物理集群采用普通网卡(其支持TCP/IP通信),其通信资源的虚拟化将通过内核实现,因此能够很容易实现“云化”以及快速部署。但是,RDMA通信技术不需通信双方操作系统介入,不经过内核协议栈,那么适用于普通网卡的虚拟化技术则不能直接应用于RDMA网卡的虚拟化,进而就不能“云化”及快速部署。
发明内容
有鉴于此,本发明提供一种灵活的分布式AI训练云平台部署方法及相关平台,其中通过更灵活的部署方法,能够使所述分布式AI训练云平台即便是在异构集群(基于异构设备构建的裸机集群或因个别设备硬件问题造成异构状态的裸机集群)上也能实现快速部署;而部署后的分布式AI训练云平台,能够充分利用异构集群设备上的资源,特别是RDMA网卡通信资源,支持更为高效的分布式AI训练。
一方面,本发明实施例提供一种灵活的分布式AI训练云平台部署方法。
上述的分布式AI训练云平台的部署方法,包括:
当在对应的裸机集群上部署前面述及的分布式AI训练平台时,
获取分布式AI训练平台的物理集群规格配置;其中,上述的物理集群规格配置包括物理节点资源配置;而上述的物理节点资源配置,包括RDMA网卡资源池配置;
然后根据上述的物理集群规格配置在裸机集群上部署分布式AI训练平台;其中包括:根据上述的物理节点资源配置分别在裸机集群的各个机器设备上部署相应的分布式AI训练云平台应用、及RDMA网卡资源池管理服务和RDMA网络硬件资源虚拟化服务;
在部署过程中,使上述的物理节点资源配置分别与各机器设备上的硬件对应;其中包括:使RDMA网卡资源池配置分别与上述各机器设备对应;
其中,上述的分布式AI训练云平台应用在部署完成后将被用于提供分布式AI训练云平台服务;而上述的分布式AI训练云平台服务,其中包括:创建分布式训练集群、为分布式训练集群分配相应的物理资源和管理分布式训练集群等,以使之能够对外提供稳定、可靠的分布式训练服务;
上述的各个机器设备被配置的包括:若干的支持硬件虚拟化的RDMA网卡;在其中的各机器设备上,可能会因为基于异构的拓扑规划或个别设备硬件问题造成异构状态等原因,而导致其被配置或结果造成被配置了数量不等的支持硬件虚拟化的RDMA网卡;
而上述的RDMA网卡资源池管理服务,则在部署后用于扫描识别机器设备上全部的RDMA网卡、初始化以及对它们进行资源池管理;上述的RDMA网络硬件资源虚拟化服务,则用于对应机器设备上的所述RDMA网卡资源(即前面述及的机器设备上的那些RDMA网卡)的虚拟化;其中,RDMA网络硬件资源虚拟化服务,通过上述RDMA网卡资源池管理服务获取对应机器设备上的RDMA网络硬件资源,即获取机器设备上全部的RDMA网卡的配置,以进行后续的RDMA网卡虚拟化;而从具体的虚拟化过程看,RDMA网络硬件资源虚拟化服务又可以被认为包括:多RDMA网卡虚拟化管理服务和RDMA网卡虚拟化服务;其中的RDMA网卡虚拟化服务将用于分别与机器设备上各个支持硬件虚拟化的RDMA网卡一起,实现它们各自的虚拟化(当然,也包括机器设备上只配置了一个支持硬件虚拟化的RDMA网卡的情况);其中的多RDMA网卡虚拟化管理服务则将用于管理上述各RDMA网卡的虚拟化;当组成上述分布式训练集群的逻辑计算机被创建时,多RDMA网卡虚拟化管理服务即从其对应设备的RDMA网卡中确定一可用的RDMA网卡,利用该RDMA网卡资源,为上述的逻辑计算机提供虚拟RDMA网卡以及RDMA通信服务。
另一方面,本发明实施例提供一种弹性利用物理集群RDMA网卡资源的分布式AI训练云平台系统。
结合第一方面,上述的分布式AI训练云平台系统,包括:
分布式任务管理单元和平台物理资源管理单元;
其中,上述的分布式任务管理单元,被用于请求创建分布式训练集群以及管理分布式训练过程;而上述的平台物理资源管理单元,则被用于为上述的分布式训练集群提供其所需硬件资源及服务;具体而言,分布式任务管理单元,根据对应分布式训练任务请求的分布式训练集群规格配置,请求创建相应规格的分布式训练集群;以及在上述分布式训练集群执行训练时,管理分布式训练过程;其中,上述的分布式训练集群规格,是指用于描述分布式训练集群架构等具体内容的信息;例如,分布式训练集群逻辑拓扑等;上述的分布式AI训练云平台,一般则部署在由若干台(一般为多台)配置有若干支持硬件虚拟化的RDMA网卡的机器设备组成的裸机集群上;
而平台物理资源管理单元,则根据上述的分布式训练集群规格配置等,为被创建的分布式训练集群中的各个逻辑计算机,提供其对应机器设备上的硬件资源及服务;其中,上述的平台物理资源管理单元,包括:
提供第一方面述及的分布式AI训练云平台的部署方法中的RDMA网卡资源池管理服务和RDMA网络硬件资源虚拟化服务,以通过其在分布式训练集群对应的机器设备上,利用所述机器设备上的RDMA网卡资源,分别为分布式训练集群中对应的逻辑计算机提供虚拟RDMA网卡以及RDMA通信服务。
再一方面,本发明实施例提供一种分布式AI训练云平台物理集群中节点设备的RDMA网卡资源管理方法。
结合第一、第二方面,上述的节点设备RDMA网卡资源管理方法,包括:
在所述分布式AI训练云平台部署后,扫描识别本节点设备上全部的支持硬件虚拟化的RDMA网卡,初始化上述的RDMA网卡,获取全部的RDMA网卡配置,并对它们进行资源池管理;
继而,根据上述的RDMA网卡配置,对本节点设备上的RDMA网卡进行虚拟化,以为节点设备上的逻辑计算机提供虚拟RDMA网卡以及基于此的RDMA通信服务;其中,包括:
当逻辑计算机被创建时,确定一可用的RDMA网卡;
并对其虚拟化,利用其RDMA网卡资源向逻辑计算机提供虚拟网卡。
又一方面,本发明实施例提供一种计算机可读存储介质。
结合第一、第二方面,上述的计算机可读存储介质,存储有用于分布式AI训练云平台部署的代码,其中包括用于执行第一方面述及的灵活的分布式AI训练云平台部署方法操作的指令。
又一方面,本发明实施例提供一种计算机可读存储介质。
结合第三方面,上述的计算机可读存储介质,存储有用于机器设备RDMA网卡资源管理的代码,其中包括用于执行第三方面述及的分布式AI训练云平台物理集群中节点设备RDMA网卡资源管理方法操作的指令。
上述实施例提供的灵活的分布式AI训练云平台部署方法和节点设备RDMA网卡资源管理方法以及相关平台、计算机可读存储介质,其中通过更灵活的部署方法,能够使所述分布式AI训练云平台大部分裸机集群(尤其是即便在异构集群(基于异构设备构建的裸机集群或因个别设备硬件问题造成异构状态的裸机集群))上都能实现快速部署;而部署后的分布式AI训练云平台,能够充分利用异构集群设备上的资源,特别是通过对节点设备RDMA网卡资源充分、有效管理进而充分利用RDMA网卡通信资源,支持更为高效的分布式AI训练。
下面通过附图、具体实施例对本发明的技术方案做进一步的描述。
附图说明
为更加清楚地说明本发明实施例或现有技术中的技术方案,下面将对本发明中一部分实施例或现有技术描述中涉及的附图做简单介绍。
图1为本发明一些优选实施例提供的一种分布式AI训练云平台灵活部署的流程示意图。
具体实施方式
下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了获得更为精确的模型应用于预测等场景,深度神经网络这类算法涉及的相关模型一般需要提供大量的样本数据进行训练方能获得有实际使用意义的模型结果。然而,若使用单台计算机设备用于上述训练,那显然将耗时很长,显然不符合人们对AI训练效率的要求。于是,在对深度学习模型的训练等,现一般选择分布式训练。然而,在分布式AI训练过程中,自然不可避免的产生大量的数据传输(例如梯度等参数等的更新)。而传统的TCP/IP网络通信存在的通信瓶颈问题,RDMA技术则不存在上述问题。因此,人们在分布式训练集群搭建、部署时,在通信设备上倾向于选择更为高效的RDMA网卡。这一硬件基础设施的改进,对于用于训练的物理集群的搭建部署来说,仅是需要安装相应的硬件设备和在提交任务时手动配置通信网卡配置即可,并不存在难以克服的技术问题。
然而,随着云计算技术的发展,为了降低分布式训练集群的部署难度和提高集群部署弹性,人们开始逐渐关注分布式训练平台的“云化”。对于搭载普通网卡(支持TCP/IP通信)的平台基础设施,即其物理集群设备上采用普通网卡;而其通信资源的虚拟化,则通过部署过程中提供通过网络虚拟化技术实现的虚拟网卡通信服务来实现,而其中的网络虚拟化技术则又是基于内核实现的,可以简单易用的实现快速部署。但是,RDMA通信技术不需通信双方操作系统介入,不经过内核协议栈,因此,显然上述的方案显然不适用于在搭载RDMA网卡的平台基础设施上快速部署分布式AI训练云平台系统。
于是,本发明提供一种灵活的分布式AI训练云平台部署方法及相关平台。以下为本发明的一些优选实施例。其中,
本发明的一些优选实施例提供一种灵活的分布式AI训练云平台部署方法。该方法包括:
当在对应的裸机集群上部署前面述及的分布式AI训练平台时,获取分布式AI训练平台的物理集群规格配置;其中,分布式AI训练平台的物理集群规格配置,包括用来描述分布式AI训练云平台(部署后对应)的物理集群架构的具体内容;例如,物理集群逻辑拓扑等;而这些具体内容中就包括物理集群节点的资源配置情况(简称物理节点资源配置);例如,存储、网卡配置等;其中尤其包括一种特殊的配置——RDMA网卡资源池配置;
然后根据上述的物理集群规格配置在裸机集群上部署加速分布式AI训练平台,其中:
根据上述的物理节点资源配置分别在裸机集群的各个机器设备上部署相应的分布式AI训练云平台应用,例如在相应的物理节点上(例如,管理节点、工作节点上)部署相应的分布式AI训练云平台应用(例如,对应管理节点功能的分布式AI训练云平台应用、对应工作节点功能的分布式AI训练云平台应用);并部署RDMA网卡资源池管理服务以及RDMA网络硬件资源虚拟化服务;
以及包括:在部署过程中,使上述的物理节点资源配置分别与各机器设备上的硬件逐一对应;例如,尤其是使RDMA网卡资源池配置以配置脚本的形式被各机器设备上部署的相关服务/应用拟获取RDMA网卡配置时优先调用上述配置脚本;
其中,上述的分布式AI训练云平台应用在部署完成后将被用于提供分布式AI训练云平台服务;而上述的分布式AI训练云平台服务,其中包括:创建分布式训练集群、为分布式训练集群分配相应的物理资源和管理分布式训练集群等,以使之能够对外提供稳定、可靠的分布式训练服务;
上述的各个机器设备被配置的包括:若干的支持硬件虚拟化的RDMA网卡;在其中的各机器设备上,可能会因为基于异构的拓扑规划或个别设备硬件问题造成异构状态等原因,而导致其被配置或结果造成被配置了数量不等的支持硬件虚拟化的RDMA网卡;
而上述的RDMA网卡资源池管理服务,则在部署后用于扫描识别机器设备上全部的RDMA网卡、初始化以及对它们进行资源池管理;
上述的RDMA网络硬件资源虚拟化服务,则用于对应机器设备上的所述RDMA网卡资源(即前面述及的机器设备上的那些RDMA网卡)的虚拟化;其中,RDMA网络硬件资源虚拟化服务,通过上述RDMA网卡资源池管理服务获取对应机器设备上的RDMA网络硬件资源,即获取机器设备上全部的RDMA网卡的配置,以进行后续的RDMA网卡虚拟化;而从具体的虚拟化过程看,RDMA网络硬件资源虚拟化服务又可以被认为包括:多RDMA网卡虚拟化管理服务和RDMA网卡虚拟化服务;其中的RDMA网卡虚拟化服务将用于分别与机器设备上各个支持硬件虚拟化的RDMA网卡一起,实现它们各自的虚拟化(当然,也包括机器设备上只配置了一个支持硬件虚拟化的RDMA网卡的情况);其中的多RDMA网卡虚拟化管理服务则将用于管理上述各RDMA网卡的虚拟化;当组成上述分布式训练集群的逻辑计算机被创建时,多RDMA网卡虚拟化管理服务即从其对应设备的RDMA网卡中确定一可用的RDMA网卡,利用该RDMA网卡资源,为上述的逻辑计算机提供虚拟RDMA网卡以及RDMA通信服务。
进一步地,在上述的优选实施例中的一些提供的一种灵活的分布式AI训练云平台部署方法中,其中的RDMA网络硬件资源虚拟化服务,包括:
在所述机器设备上部署网络虚拟化软件;而上述网络虚拟化软件在部署后运行时,其中包括RDMA网卡虚拟化管理单元;分别与机器设备上的RDMA网卡以及被创建的逻辑计算机耦接;其能够获取机器设备上配置的(一个或多个的)RDMA网卡各自的RDMA网卡物理功能模块配置信息,并从中确定RDMA网卡物理功能模块以及可用的与所述RDMA网卡物理功能模块关联的RDMA网卡虚拟功能模块给逻辑计算机,以为其提供虚拟RDMA网卡以基于此实现RDMA通信服务;而上述的各RDMA网卡物理功能模块和与之关联的RDMA网卡虚拟功能模块,则即是由对应的支持硬件虚拟化的RDMA网卡实现并提供给所述RDMA网卡虚拟化服务的。
在上述的优选实施例提供的分布式AI训练云平台的部署方法中,其中的物理节点资源配置对应的物理节点,通常主要包括两种类型的物理节点:管理节点和工作节点。由于它们在平台物理集群中的作用不同,出于成本等的考虑,在兼顾效率的同时,在一些优选实施例中,将会选择采用不同配置的机器设备,在不减损效率的前提下,以更加经济的机器设备对应不同类型的物理节点。因此,进一步地,在上述的优选实施例中的一些提供的一种灵活的分布式AI训练云平台的部署方法中,其中的物理节点资源配置包括:更加经济适用的管理节点资源配置和工作节点资源配置;
以及部署时,为上述的不同类型的物理节点选择经济适用的机器设备(一般来说,用作管理节点的机器设备,其对硬件配置要求并没有工作节点那么高,因此可以适当地选择低配置或缺省不必要硬件的服务器作为管理节点设备);在根据相应的物理节点资源配置,在相应的机器设备上进行部署:
即根据管理节点资源配置,(获取机器设备信息,并)在管理节点对应的机器设备上部署管理节点对应的分布式AI训练云平台应用及所述服务等;
根据工作节点资源配置,(获取机器设备信息,并)在工作节点对应的机器设备上部署工作节点对应的分布式AI训练云平台应用及所述服务等。
此外,在上述的优选实施例提供的分布式AI训练云平台的部署方法中,其中的分布式AI训练云平台,在部署后通常还需要提供对外的访问登陆服务、物理集群节点间的通信服务(例如,DHCP服务器分配网卡IP等)等附加或辅助功能;因此,进一步地,在上述的优选实施例中的一些提供的一种灵活的分布式AI训练云平台的部署方法中,其中的物理节点资源配置还包括:对应附加或辅助功能的物理节点的资源配置,即附加/辅助节点资源配置;类似于前面优选实施例中的,对应不同作用的物理节点,同样适用于经济适用原则,采用满足相应功能前提下更加经济适用的机器设备;在部署时,根据所述附加/辅助节点资源配置,在相应的机器设备上进行部署。
以下结合具体实施例及附图来详细说明上述平台部署的过程。
如图1所示,其示意了上述分布式AI训练平台灵活部署的主要步骤。以下以在具有多台配置有若干张(每台设备上配置的RDMA网卡张数可能不等)支持SR-IOV功能的RDMA网卡的服务器设备组成的裸机集群上部署基于Kubernetes且支持RDMA高效通信的分布式AI训练平台的过程为例,进行详细说明。
其中包括:
获取上述分布式AI训练平台的物理集群规格配置;其中,所述物理集群规格配置包括物理节点资源配置,例如工作节点资源配置、管理节点配置等;而其中尤其包括RDMA网卡资源池配置;
根据所述物理集群规格配置在裸机集群上部署高效加速分布式AI训练平台:即根据所述物理节点资源配置分别在各个服务器上部署相应功能的Kubernetes应用,以及RDMA网卡资源池管理插件、mult_sriov_cni(一种为容器/Pod提供虚拟网卡接口的插件)和相关RDMA驱动等;
在部署过程中,使上述的物理节点资源配置分别与各机器设备上的硬件对应;例如,尤其是使RDMA网卡资源池配置以配置脚本的形式被各机器设备上部署的相关服务/应用拟获取RDMA网卡配置时优先调用上述配置脚本,并通过其调用上述的RDMA网卡资源池管理插件,获取RDMA网卡配置。
在上述优选实施例提供的部署方法基础上,本发明的另一些优选实施例提供一种弹性利用物理集群RDMA网卡资源的分布式AI训练云平台系统。经上述方法部署完成后,所述的分布式AI训练云平台系统包括:分布式任务管理单元和平台物理资源管理单元;
其中,分布式任务管理单元,被用于请求创建分布式训练集群以及管理分布式训练过程;例如,其中可以包括:
根据算法工程师提交的预先设定的、或平台生成的对应分布式训练任务请求的分布式训练集群规格配置(用于描述分布式训练集群规模、架构等具体内容的信息;例如,分布式训练集群逻辑拓扑等),请求平台创建相应规格的分布式训练集群;以及在分布式训练集群创建后和执行训练时,管理分布式训练过程;如查询训练进度、查询训练集群资源利用情况、管理训练集群资源等;
而上述的分布式AI训练云平台,一般则部署在由若干台(一般为多台)配置有若干支持硬件虚拟化的RDMA网卡的机器设备组成的裸机集群上;那么,自然地,上述的平台物理资源管理单元,即被用于为上述的分布式训练集群提供其所需硬件资源及服务;具体地,例如,根据上述的分布式训练集群规格配置等,平台物理资源管理单元在分布式训练集群创建时为被创建的分布式训练集群中的各个逻辑计算机,提供其对应机器设备上的硬件资源及服务;以及尤其包括:
提供上述任一优选实施例中述及的灵活的分布式AI训练云平台部署方法中的RDMA网卡资源池管理服务和RDMA网络硬件资源虚拟化服务,以通过其在分布式训练集群对应的机器设备上,充分利用所述机器设备上的RDMA网卡资源,分别为分布式训练集群中对应的逻辑计算机提供虚拟RDMA网卡以及RDMA通信服务。
在上述优选实施例的基础上,本发明的再一些优选实施例提供一种分布式AI训练云平台物理集群中节点设备的RDMA网卡资源管理方法。该节点设备RDMA网卡资源管理方法,包括:
在所述分布式AI训练云平台部署后,扫描识别本节点设备上全部的支持硬件虚拟化的RDMA网卡,初始化它们,获取全部的RDMA网卡配置,并对它们进行资源池管理;
继而,根据上述的RDMA网卡配置,对本节点设备上的RDMA网卡进行虚拟化,以为节点设备上的逻辑计算机提供虚拟RDMA网卡以及基于此的RDMA通信服务;其中,包括:当逻辑计算机被创建时,从中确定一可用的RDMA网卡(包括仅配置一张RDMA网卡的情况,那样确定唯一的RDMA网卡即可);并对其虚拟化,利用其RDMA网卡资源向逻辑计算机提供虚拟网卡。
进一步地,在上述的优选实施例中的一些提供的一种分布式AI训练云平台物理集群中节点设备的RDMA网卡资源管理方法中,其中的RDMA网卡虚拟化,包括:
在所述机器设备上部署网络虚拟化软件;而上述网络虚拟化软件在部署后运行时,其中包括RDMA网卡虚拟化管理单元;分别与机器设备上的RDMA网卡以及被创建的逻辑计算机耦接;其能够获取机器设备上配置的(一个或多个的)RDMA网卡各自的RDMA网卡物理功能模块配置信息,并从中确定RDMA网卡物理功能模块以及可用的与所述RDMA网卡物理功能模块关联的RDMA网卡虚拟功能模块给逻辑计算机,以为其提供虚拟RDMA网卡以基于此实现RDMA通信服务;而上述的各RDMA网卡物理功能模块和与之关联的RDMA网卡虚拟功能模块,则即是由对应的支持硬件虚拟化的RDMA网卡实现和提供的。
在上述优选实施例提供的部署方法基础上,本发明的又一些优选实施例提供一种计算机可读存储介质。该计算机可读存储介质,存储有用于分布式AI训练云平台部署的代码,其中包括用于执行上述任一优选实施例中的灵活的分布式AI训练云平台的部署方法操作的指令。
在上述优选实施例提供的RDMA网卡资源管理方法基础上,本发明的又一些优选实施例提供一种计算机可读存储介质。该计算机可读存储介质,存储有用于机器设备RDMA网卡资源管理的代码,其中包括用于执行上述任一优选实施例中的分布式AI训练云平台物理集群中节点设备RDMA网卡资源管理方法操作的指令。
以上所述仅为本发明的具体实施方式,但本发明的保护范围并不局限于此。
Claims (10)
1.一种灵活的分布式AI训练云平台的部署方法,其特征在于,包括:
当在对应的裸机集群上部署所述加速分布式AI训练平台时,
获取加速分布式AI训练平台的物理集群规格配置;其中,
所述的物理集群规格配置包括物理节点资源配置;而所述的物理节点资源配置,包括RDMA网卡资源池配置;
根据所述物理集群规格配置在裸机集群上部署分布式AI训练平台;
其中包括:根据所述物理节点资源配置分别在裸机集群的各个机器设备上部署相应的分布式AI训练云平台应用、及RDMA网卡资源池管理服务和RDMA网络硬件资源虚拟化服务;
在部署过程中,使所述的物理节点资源配置分别与各机器设备上的硬件对应;其中包括:使RDMA网卡资源池配置分别与各机器设备对应;
其中,所述的分布式AI训练云平台应用在部署完成后将被用于提供分布式AI训练云平台服务;其中包括:创建和管理分布式训练集群以及分布式训练集群分配相应的物理资源;
而所述的RDMA网卡资源池管理服务,则用于机器设备上RDMA网卡的资源池管理;
所述的RDMA网络硬件资源虚拟化服务,则用于对应机器设备上的所述RDMA网卡资源虚拟化;其中,RDMA网络硬件资源虚拟化服务,包括:多RDMA网卡虚拟化管理服务和RDMA网卡虚拟化服务;RDMA网络硬件资源虚拟化服务,通过所述RDMA网卡资源池管理服务获取对应机器设备上的全部的RDMA网卡配置;并通过多RDMA网卡虚拟化管理服务确定一可用的RDMA网卡,并利用其为逻辑计算机提供虚拟RDMA网卡以及RDMA通信服务;而所述的RDMA网卡虚拟化服务则将用于与所述的支持硬件虚拟化的RDMA网卡一起,为逻辑计算机提供虚拟RDMA网卡以实现RDMA通信。
2.根据权利要求1所述的分布式AI训练云平台的部署方法,其特征在于,
其中的RDMA网络硬件资源虚拟化服务,包括:
在所述机器设备上部署网络虚拟化软件;而所述网络虚拟化软件在部署后运行时,其中包括RDMA网卡虚拟化管理单元;
所述的RDMA网卡虚拟化管理单元,能够获取所述机器设备上的RDMA网卡的RDMA网卡物理功能模块配置,并从中确定RDMA网卡物理功能模块以及可用的与所述RDMA网卡物理功能模块关联的RDMA网卡虚拟功能模块给逻辑计算机,以提供虚拟RDMA网卡;
其中,所述支持硬件虚拟化的RDMA网卡,提供所述的RDMA网卡物理功能模块和与之关联的RDMA网卡虚拟功能模块。
3.根据权利要求1所述的分布式AI训练云平台的部署方法,其特征在于,
所述的各个机器设备上RDMA配置结果为异构的;即被识别的RDMA网卡配置数量不等。
4.根据权利要求1所述的分布式AI训练云平台的部署方法,其特征在于,
其中的物理节点资源配置包括:管理节点资源配置和工作节点资源配置;
在部署时,为所述的不同类型的物理节点选择经济适用的机器设备;并根据相应的物理节点资源配置,在相应的机器设备上进行部署。
5.根据权利要求1所述的分布式AI训练云平台的部署方法,其特征在于,
其中的物理节点资源配置包括:附加/辅助节点资源配置;
在部署时,选择经济适用的机器设备作为附加/辅助节点;
并根据所述附加/辅助节点资源配置,在相应的机器设备上进行部署。
6.一种弹性利用RDMA网卡资源的分布式AI训练云平台系统,其特征在于,
分布式任务管理单元和平台物理资源管理单元;
分布式任务管理单元,用于请求创建分布式训练集群以及管理分布式训练过程;平台物理资源管理单元,用于为所述的分布式训练集群提供其所需硬件资源及服务;其中,
分布式任务管理单元,根据对应分布式训练任务请求的分布式训练集群规格配置,请求创建相应规格的分布式训练集群;以及管理所述分布式训练集群的分布式训练过程;其中,所述分布式训练集群规格,用于描述分布式训练集群架构的具体内容;
平台物理资源管理单元,为被创建的分布式训练集群中的各个逻辑计算机,提供其对应机器设备上的硬件资源及服务;其中包括:
提供权利要求1-5任一所述的分布式AI训练云平台的部署方法中RDMA网卡资源池管理服务和RDMA网络硬件资源虚拟化服务,以通过其在分布式训练集群对应的机器设备上,充分利用所述机器设备上的RDMA网卡资源,分别为分布式训练集群中对应的逻辑计算机提供虚拟RDMA网卡、及基于此的RDMA通信服务。
7.一种分布式AI训练云平台物理集群中节点设备的RDMA网卡资源管理方法,其特征在于,
在所述分布式AI训练云平台部署后,获取本节点设备上全部的RDMA网卡配置,并对它们进行资源池管理;
继而,根据所述RDMA网卡配置,对本节点设备上的RDMA网卡进行虚拟化,以为本节点设备上的逻辑计算机提供虚拟RDMA网卡以及基于此的RDMA通信服务;其中,包括:当逻辑计算机被创建时,从中确定一可用的RDMA网卡;并对其虚拟化,利用其RDMA网卡资源向逻辑计算机提供虚拟网卡。
8.根据权利要求7所述的节点设备RDMA网卡资源管理方法,其特征在于,
其中的RDMA网卡虚拟化,包括:
在所述机器设备上部署网络虚拟化软件;而所述网络虚拟化软件在部署后运行时,其中包括RDMA网卡虚拟化管理单元;
所述的RDMA网卡虚拟化管理单元,能够获取所述机器设备上的RDMA网卡的RDMA网卡物理功能模块配置,并从中确定RDMA网卡物理功能模块以及可用的与所述RDMA网卡物理功能模块关联的RDMA网卡虚拟功能模块给逻辑计算机,以提供虚拟RDMA网卡;
其中,所述支持硬件虚拟化的RDMA网卡,提供所述的RDMA网卡物理功能模块和与之关联的RDMA网卡虚拟功能模块。
9.一种计算机可读存储介质,其特征在于,
存储有用于分布式AI训练云平台部署的代码;
其中包括用于执行权利要求1-5任一所述的部署方法操作的指令。
10.一种计算机可读存储介质,其特征在于,
存储有用于机器设备RDMA网卡资源管理的的代码;
其中包括用于执行权利要求7-8任一所述的节点设备RDMA网卡资源管理方法操作的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010277815.XA CN113515341A (zh) | 2020-04-09 | 2020-04-09 | 一种灵活的分布式ai训练云平台部署方法及相关平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010277815.XA CN113515341A (zh) | 2020-04-09 | 2020-04-09 | 一种灵活的分布式ai训练云平台部署方法及相关平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113515341A true CN113515341A (zh) | 2021-10-19 |
Family
ID=78060438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010277815.XA Pending CN113515341A (zh) | 2020-04-09 | 2020-04-09 | 一种灵活的分布式ai训练云平台部署方法及相关平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113515341A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113517991A (zh) * | 2020-04-09 | 2021-10-19 | 深圳致星科技有限公司 | 一种加速分布式ai训练云平台的部署方法及相关平台 |
CN117891618A (zh) * | 2024-03-15 | 2024-04-16 | 杭州宇泛智能科技有限公司 | 人工智能模型训练平台的资源任务处理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110297670A (zh) * | 2019-05-17 | 2019-10-01 | 北京瀚海星云科技有限公司 | 一种提高容器云上分布式任务训练效率的方法及系统 |
CN110308986A (zh) * | 2019-05-17 | 2019-10-08 | 北京瀚海星云科技有限公司 | 基于优化调度的容器云上分布式训练数据通信的方法 |
US20190325302A1 (en) * | 2018-04-23 | 2019-10-24 | EMC IP Holding Company LLC | Implementing parameter server in networking infrastructure for high-performance computing |
-
2020
- 2020-04-09 CN CN202010277815.XA patent/CN113515341A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190325302A1 (en) * | 2018-04-23 | 2019-10-24 | EMC IP Holding Company LLC | Implementing parameter server in networking infrastructure for high-performance computing |
CN110297670A (zh) * | 2019-05-17 | 2019-10-01 | 北京瀚海星云科技有限公司 | 一种提高容器云上分布式任务训练效率的方法及系统 |
CN110308986A (zh) * | 2019-05-17 | 2019-10-08 | 北京瀚海星云科技有限公司 | 基于优化调度的容器云上分布式训练数据通信的方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113517991A (zh) * | 2020-04-09 | 2021-10-19 | 深圳致星科技有限公司 | 一种加速分布式ai训练云平台的部署方法及相关平台 |
CN117891618A (zh) * | 2024-03-15 | 2024-04-16 | 杭州宇泛智能科技有限公司 | 人工智能模型训练平台的资源任务处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10574545B2 (en) | Techniques for analytics-driven hybrid concurrency control in clouds | |
US9323580B2 (en) | Optimized resource management for map/reduce computing | |
JP2021505993A (ja) | 深層学習アプリケーションのための堅牢な勾配重み圧縮方式 | |
CN109086134A (zh) | 一种深度学习作业的运行方法和装置 | |
WO2017132603A1 (en) | Integration of quantum processing devices with distributed computers | |
CN111507476A (zh) | 部署机器学习模型的方法、设备和计算机程序产品 | |
CN108431796A (zh) | 分布式资源管理系统和方法 | |
KR20210036226A (ko) | 복수의 엣지와 클라우드를 포함하는 분산 컴퓨팅 시스템 및 이의 적응적 지능 활용을 위한 분석 모델 제공 방법 | |
CN109117252A (zh) | 基于容器的任务处理的方法、系统及容器集群管理系统 | |
Song et al. | Gaia scheduler: A kubernetes-based scheduler framework | |
CN114667507A (zh) | 使用基于应用的剖析的机器学习工作负载的弹性执行 | |
Cheong et al. | SCARL: Attentive reinforcement learning-based scheduling in a multi-resource heterogeneous cluster | |
CN110308987B (zh) | 一种更新容器云上分布式训练任务连接参数的方法 | |
CN114374609B (zh) | 基于rdma设备的深度学习作业运行方法及系统 | |
CN113515341A (zh) | 一种灵活的分布式ai训练云平台部署方法及相关平台 | |
Qiao et al. | Analysis of Evolutionary Model of DIKW Based on Cloud Resource Allocation Management | |
Zhou et al. | Blockchain-based volunteer edge cloud for IoT applications | |
Hu et al. | Pipeedge: Pipeline parallelism for large-scale model inference on heterogeneous edge devices | |
Narantuya et al. | Multi-Agent Deep Reinforcement Learning-Based Resource Allocation in HPC/AI Converged Cluster. | |
CN111435315A (zh) | 分配资源的方法、装置、设备和计算机可读介质 | |
Rossant et al. | Playdoh: a lightweight Python library for distributed computing and optimisation | |
CN113517991A (zh) | 一种加速分布式ai训练云平台的部署方法及相关平台 | |
Salama | A swarm intelligence based model for mobile cloud computing | |
Joshua Samuel Raj et al. | Evolutionary Algorithm Based Task Scheduling in IoT Enabled Cloud Environment. | |
Fiaidhi et al. | Empowering extreme automation via zero-touch operations and GPU parallelization |
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 |