CN114647488A - 一种任务训练方法、装置、设备及存储介质 - Google Patents
一种任务训练方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114647488A CN114647488A CN202210332855.9A CN202210332855A CN114647488A CN 114647488 A CN114647488 A CN 114647488A CN 202210332855 A CN202210332855 A CN 202210332855A CN 114647488 A CN114647488 A CN 114647488A
- Authority
- CN
- China
- Prior art keywords
- network card
- virtual
- target
- cards
- task
- 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 89
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000013473 artificial intelligence Methods 0.000 claims abstract description 62
- 230000002159 abnormal effect Effects 0.000 claims abstract description 23
- 238000012545 processing Methods 0.000 claims abstract description 12
- 238000004891 communication Methods 0.000 claims description 25
- 230000005540 biological transmission Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 11
- 238000005516 engineering process Methods 0.000 claims description 10
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 7
- 239000011435 rock Substances 0.000 description 5
- 230000000694 effects Effects 0.000 description 2
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 230000001052 transient effect Effects 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
-
- 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/45562—Creating, deleting, cloning virtual machine instances
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种任务训练方法、装置、设备及存储介质,包括:对人工智能服务器的多个物理网卡分别进行虚拟化处理,以得到多个虚拟网卡;其中,每个所述物理网卡与对应的所述虚拟网卡之间存在虚拟关系;对全部的所述虚拟网卡进行分组,以得到不同的资源组;其中,每个所述资源组中所述虚拟网卡与所述物理网卡之间的虚拟关系不重复;利用目标资源组中的所述虚拟网卡为所述人工智能服务器上的目标任务提供网络资源,以对所述目标任务进行训练。本申请在训练过程中,当资源组中的任一网卡异常时,可以利用资源组中其他无异常网卡继续提供网络资源,从而将高性能网卡合理的分配给训练任务的同时实现高性能网卡复用,提高任务训练效率。
Description
技术领域
本发明涉及人工智能技术领域,特别涉及一种任务训练方法、装置、设备及存储介质。
背景技术
人工智能(AI,Artificial Intelligence)训练场景中,会存在大量的数据传输,受限于传统的操作系统接收与发送网络数据包机制的限制,无法满足训练任务大量数据集下载、巨量训练参数传递的需求,为此大量AI训练平台逐渐开始支持高性能网络,例如Infiniband、Roce等。现有技术中,当AI服务器存在多个GPU卡时,为了获得最优的训练效果,有时单台AI服务器会搭载2个、4个、8个ROCE网卡或Infiniband网卡。对于传统的CPU服务器,为了保证网卡的稳定可靠,通常会使用bond技术,将两个以太网网卡进行bond,做一定的冗余,在一个以太网网卡异常时,不影响业务的正常运行。但是对于AI服务器中的Roce网卡、Infiniband网卡,由于存在无法进行bond以及资源浪费的场景,一般不将两个高性能网卡进行bond,当高性能网卡异常时,无法保证训练任务正常运行。
因此,如何进行网卡分配以提高任务训练效率是本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种任务训练方法、装置、设备及存储介质,能够将高性能网卡合理的分配给训练任务的同时实现高性能网卡复用,提高任务训练效率。其具体方案如下:
本申请的第一方面提供了一种任务训练方法,包括:
对人工智能服务器的多个物理网卡分别进行虚拟化处理,以得到多个虚拟网卡;其中,每个所述物理网卡与对应的所述虚拟网卡之间存在虚拟关系;
对全部的所述虚拟网卡进行分组,以得到不同的资源组;其中,每个所述资源组中所述虚拟网卡与所述物理网卡之间的虚拟关系不重复;
利用目标资源组中的所述虚拟网卡为所述人工智能服务器上的目标任务提供网络资源,以对所述目标任务进行训练。
可选的,对人工智能服务器的多个物理网卡分别进行虚拟化处理,包括:
控制所述人工智能服务器进入基本输入输出系统以开启支持直接输入/输出访问的虚拟化技术的第一选项;
在所述人工智能服务器中安装网卡驱动并开启所述人工智能服务器的持直接输入/输出访问的虚拟化技术的第二选项,以将所述人工智能服务器的多个所述物理网卡分别进行虚拟化处理。
可选的,所述任务训练方法,还包括:
将每个所述物理网卡与对应的所述虚拟网卡之间的虚拟关系以及所述资源组上报至容器编排平台,以通过容器编排平台对所述资源组进行分配。
可选的,所述利用目标资源组中的所述虚拟网卡为所述人工智能服务器上的目标任务提供网络资源之前,还包括:
创建所述目标任务及运行所述目标任务的目标容器;
基于容器编排平台从全部所述资源组中确定出与所述目标任务对应的所述目标资源组,并向所述目标资源组对应所述物理网卡所在的所述人工智能服务器请求所述网络资源。
可选的,所述向所述目标资源组对应所述物理网卡所在的所述人工智能服务器请求所述网络资源之后,还包括:
对所述目标资源组中的所述虚拟网卡的传输总线地址及设备名进行配置得到配置文件;
利用所述配置文件中配置的所述虚拟网卡通过由多卡通信框架搭建的通信库进行通信,以为所述人工智能服务器上的所述目标任务提供网络资源。
可选的,所述对所述目标资源组中的所述虚拟网卡的传输总线地址及设备名进行配置得到配置文件之前,还包括:
获取所述目标资源组中的所述虚拟网卡对应所述物理网卡的网卡状态,并判断所述网卡状态是否正常,如果正常,则对所述目标资源组中网卡状态正常的所述物理网卡对应的所述虚拟网卡进行配置;
如果异常,则对所述目标资源组中的其他所述虚拟网卡对应所述物理网卡的网卡状态进行检测。
可选的,所述任务训练方法,还包括:
通过容器编排平台的资源管理组件对网卡异常事件进行监控,并根据监控结果对所述物理网卡的网卡状态进行更新。
本申请的第二方面提供了一种任务训练装置,包括:
虚拟化模块,用于对人工智能服务器的多个物理网卡分别进行虚拟化处理,以得到多个虚拟网卡;其中,每个所述物理网卡与对应的所述虚拟网卡之间存在虚拟关系;
配对模块,用于对全部的所述虚拟网卡进行分组,以得到不同的资源组;其中,每个所述资源组中所述虚拟网卡与所述物理网卡之间的虚拟关系不重复;
训练模块,用于利用目标资源组中的所述虚拟网卡为所述人工智能服务器上的目标任务提供网络资源,以对所述目标任务进行训练。
本申请的第三方面提供了一种电子设备,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述任务训练方法。
本申请的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述任务训练方法。
本申请中,先对人工智能服务器的多个物理网卡分别进行虚拟化处理,以得到多个虚拟网卡;其中,每个所述物理网卡与对应的所述虚拟网卡之间存在虚拟关系;然后对全部的所述虚拟网卡进行分组,以得到不同的资源组;其中,每个所述资源组中所述虚拟网卡与所述物理网卡之间的虚拟关系不重复;最后利用目标资源组中的所述虚拟网卡为所述人工智能服务器上的目标任务提供网络资源,以对所述目标任务进行训练。可见,本申请在将物理网卡虚拟为多个虚拟网卡的基础上,通过资源分组的方式对不同物理网卡的虚拟网卡进行绑定,在训练过程中,当资源组中的任一网卡异常时,可以利用资源组中其他无异常网卡继续提供网络资源,从而将高性能网卡合理的分配给训练任务的同时实现高性能网卡复用,提高任务训练效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种任务训练方法流程图;
图2为本申请提供的一种具体的网卡虚拟及配对示例图;
图3为本申请提供的一种具体的任务训练方法流程图;
图4为本申请提供的一种具体的网卡分配流程图;
图5为本申请提供的一种网卡配置示意图;
图6为本申请提供的一种任务训练装置结构示意图;
图7为本申请提供的一种任务训练电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,AI服务器中的Roce网卡、Infiniband网卡由于存在无法进行bond以及资源浪费的场景,一般不将两个高性能网卡进行bond,当高性能网卡异常时,无法保证训练任务正常运行。针对上述技术缺陷,本申请提供一种任务训练方案,能够将高性能网卡合理的分配给训练任务的同时实现高性能网卡复用,提高任务训练效率。
图1为本申请实施例提供的一种任务训练方法流程图。参见图1所示,该任务训练方法包括:
S11:对人工智能服务器的多个物理网卡分别进行虚拟化处理,以得到多个虚拟网卡;其中,每个所述物理网卡与对应的所述虚拟网卡之间存在虚拟关系。
本实施例中,对人工智能服务器(以下称为AI服务器)的多个物理网卡分别进行虚拟化处理,以得到多个虚拟网卡。所述物理网卡包括但不限于ROCE、Infiniband等高性能网卡,下述实施例以ROCE网卡为例进行说明,其他高性能网卡亦能达到相同的技术效果。
本实施例中,虚拟化处理时,先控制所述AI服务器进入基本输入输出系统(BIOS,BasicInput Output System)以开启支持直接输入/输出(I/O)访问的虚拟化技术的第一选项(VT-D选项),然后在所述AI服务器中安装网卡驱动并开启所述AI服务器的支持直接输入/输出(I/O)访问的虚拟化技术的第二选项(SRIOV选项),以将所述AI服务器的多个所述物理网卡分别进行虚拟化处理。对于ROCE网卡,上述网卡驱动为Mellanox ROCE网卡的驱动。例如,将一个物理ROCE网卡虚拟为16个虚拟ROCE网卡,即1个PF虚拟为16个VF,如果该AI服务器有2个物理ROCE网卡,最终可以看到32个虚拟ROCE网卡。需要注意的是,每个所述物理网卡与对应的所述虚拟网卡之间存在虚拟关系,后续根据该关系进行资源分组。VT-D全称为Intel Virtualization Technology for Direct I/O,它是Intel虚拟化技术的一部分。SRIOV全称为Single Root I/O Virtualization,基于该技术将物理网卡虚拟出多个轻量化PCI-e物理设备,可以将这些轻量化的PCI-E设备分配给容器或者虚拟机使用。
特别的,本实施例基于特定的容器编排平台搭建的AI训练平台实现网卡复用,例如Kubernetes平台。Kubernetes为一种开源的容器编排项目,为此需要部署Kubernetes集群以及资源管理组件,该资源管理组件基于Kubernetes的DevicePlugin机制构建,可以将多个AI服务器的不同数量的物理网卡资源抽象为一种虚拟网络资源,用于抽象物理服务器的网络资源,当集群中的不同服务器存在不同数量的所述物理网卡时,都可以以一种资源名称表示,简化在创建训练任务时的资源申请方式以及使用方式。例如,在创建训练任务时,可以申请“roce-network”(资源名称),用于表示该任务会申请容器所在物理主机上存在的物理网卡资源,可以是单个物理网卡、也可以是多个物理网卡,视物理主机的网卡数量多少,不需要针对每个物理网卡申请一个资源。在创建训练任务时,指定申请虚拟(ROCE)网卡资源,基于Kubernetes的资源调度与分配机制将虚拟(ROCE)网卡分配给训练任务(容器)使用。
S12:对全部的所述虚拟网卡进行分组,以得到不同的资源组;其中,每个所述资源组中所述虚拟网卡与所述物理网卡之间的虚拟关系不重复。
本实施例中,对全部的所述虚拟网卡进行分组,以得到不同的资源组。其中,每个所述资源组中所述虚拟网卡与所述物理网卡之间的虚拟关系不重复。在进行分组时,自动检测物理主机中所述虚拟主机与所述物理主机的虚拟关系,将每个所述物理网卡与对应的所述虚拟网卡之间的虚拟关系以及所述资源组上报至Kubernetes平台,以通过Kubernetes平台对所述资源组进行分配。也即将属于不同所述物理主机的所述虚拟主机进行组合上报至Kubernetes平台,同时将属于一个所述物理网卡的所述虚拟网卡与另一个所述物理网卡的所述虚拟网卡进行组合配对。可以理解,当该物理机存在更多所述物理网卡时,可以继续按照该规则进行配对。组合后的资源代表一种虚拟网络资源,将该资源上报到Kubernetes平台后,在创建训练任务的容器时,会自动申请该类资源。
如图2所示,一个AI服务器中有两个物理ROCE网卡,将每个物理ROCE网卡虚拟化为两个虚拟ROCE网卡,也即将PF1虚拟为1VF-a/2VF-b,将PF2虚拟为2VF-a/2VF-b。在进行资源分组时,从PF1中选出1VF-a,从PF2中选出2VF-a,得到资源组“1VF-a/2VF-a”。此时,该资源组中,1VF-a与PF1的虚拟关系、PF2与2VF-a的虚拟关系不重复。
S13:利用目标资源组中的所述虚拟网卡为所述人工智能服务器上的目标任务提供网络资源,以对所述目标任务进行训练。
本实施例中,利用目标资源组中的所述虚拟网卡为所述AI服务器上的目标任务提供网络资源,以对所述目标任务进行训练。在此之前,需要创建所述目标任务及运行所述目标任务的目标容器。对于AI平台,通常使用容器进行GPU的分配与隔离,当多个任务同时运行在单个AI服务器时,需要将高性能网卡分配给容器使用。对于运行在不同服务器的容器,容器内部可以使用的所述虚拟网卡的数量取决于所在主机的所述物理网卡的数量。然后基于Kubernetes平台从全部所述资源组中确定出与所述目标任务对应的所述目标资源组,并向所述目标资源组对应所述物理网卡所在的所述AI服务器请求所述网络资源。对于存在复用高性能网卡的场景,AI平台需要提供一种机制将高性能网卡合理的分配给容器,并能够保证训练任务能够使用正确的高性能网卡传递数据。
可见,本申请实施例先对AI服务器的多个物理网卡分别进行虚拟化处理,以得到多个虚拟网卡;其中,每个所述物理网卡与对应的所述虚拟网卡之间存在虚拟关系;然后对全部的所述虚拟网卡进行分组,以得到不同的资源组;其中,每个所述资源组中所述虚拟网卡与所述物理网卡之间的虚拟关系不重复;最后利用目标资源组中的所述虚拟网卡为所述AI服务器上的目标任务提供网络资源,以对所述目标任务进行训练。本申请实施例在将物理网卡虚拟为多个虚拟网卡的基础上,通过资源分组的方式对不同物理网卡的虚拟网卡进行绑定,在训练过程中,当资源组中的任一网卡异常时,可以利用资源组中其他无异常网卡继续提供网络资源,从而将高性能网卡合理的分配给训练任务的同时实现高性能网卡复用。
图3为本申请实施例提供的一种具体的任务训练方法流程图。参见图3所示,该任务训练方法包括:
S21:对人工智能服务器的多个物理网卡分别进行虚拟化处理,以得到多个虚拟网卡;其中,每个所述物理网卡与对应的所述虚拟网卡之间存在虚拟关系。
S22:对全部的所述虚拟网卡进行分组,以得到不同的资源组;其中,每个所述资源组中所述虚拟网卡与所述物理网卡之间的虚拟关系不重复。
S23:创建所述目标任务及运行目标任务的目标容器;
S24:基于容器编排平台从全部所述资源组中确定出与所述目标任务对应的目标资源组,并向所述目标资源组对应所述物理网卡所在的所述人工智能服务器请求所述网络资源。
本实施例中,关于步骤S21至步骤S24的具体过程,可以参考前述实施例中公开的相应内容,在此不再进行赘述。
S25:获取目标资源组中的所述虚拟网卡对应所述物理网卡的网卡状态,并判断所述网卡状态是否正常,如果正常,则对所述目标资源组中网卡状态正常的所述物理网卡对应的所述虚拟网卡进行配置;
S26:如果异常,则对所述目标资源组中的其他所述虚拟网卡对应所述物理网卡的网卡状态进行检测。
本实施例中,为了使得训练任务能够使用正常的网卡提供网络资源,需要获取目标资源组中的所述虚拟网卡对应所述物理网卡的网卡状态,并判断所述网卡状态是否正常,如果正常,则对所述目标资源组中网卡状态正常的所述物理网卡对应的所述虚拟网卡进行配置。如果异常,则对所述目标资源组中的其他所述虚拟网卡对应所述物理网卡的网卡状态进行检测,以获取到正常状态的网卡。本实施例在为训练任务申请虚拟资源时,检索该虚拟资源对应的真实物理网卡,只有当物理网卡状态为UP时,将该虚拟网卡配置给容器。为此,可以进一步通过Kubernetes平台的资源管理组件对网卡异常事件进行监控,并根据监控结果对所述物理网卡的网卡状态进行更新。
以ROCE网卡为例,当集群中某个物理ROCE网卡异常时,节点资源管理组件会自动识别到该事件,当新的容器创建时,只使用状态正常的物理网卡对应的虚拟网卡,对于异常的物理网卡,不将其虚拟网卡的信息进行配置(如配置到nccl.conf文件中)。当某个物理ROCE网卡异常时,对于新提交的任务,在进行虚拟ROCE网卡分配时,只将正常可以使用的虚拟ROCE网卡分配给训练任务使用。对于正在运行的训练任务,会出现任务运行异常的状态,通过监控机制,将该训练任务重新提交,训练任务基于checkpoint机制,会在终止的步骤重新启动训练,用户无感知。具体如图4所示。
S27:对所述目标资源组中的所述虚拟网卡的传输总线地址及设备名进行配置得到配置文件。
S28:利用所述配置文件中配置的所述虚拟网卡通过由多卡通信框架搭建的通信库进行通信,以为所述人工智能服务器上的所述目标任务提供网络资源。
本实施例中,配置过程中,先对所述目标资源组中的所述虚拟网卡的传输总线地址及设备名进行配置得到配置文件,如果系统架构采用高速串行计算机扩展总线标准(PCI-Express,peripheral component interconnect express)进行数据传输,则所述虚拟网卡的传输总线地址一般为PCI-E总线地址。然后利用所述配置文件中配置的所述虚拟网卡通过由多卡通信框架搭建的通信库进行通信,以为所述AI服务器上的所述目标任务提供网络资源。由多卡通信框架搭建的通信库可以为NCCL通信库,全称为nvidia Collectivemulti-GPU Communication Library,它是一个实现多GPU的collective communication通信(all-gather、reduce、broadcast)库。在低版本Linux Kernel场景下,当物理机存在多个物理ROCE网卡时,会出现更多的虚拟ROCE网卡,NCCL无法筛选到正确的虚拟ROCE网卡。也即无法做到虚拟化的ROCE网卡在容器内隔离,此时训练任务使用NCCL进行通信加速时,无法选择到正确的虚拟网卡,导致训练任务无法正常运行。
因此,在训练任务申请虚拟ROCE网卡资源时,除将虚拟ROCE网卡的PCI-E地址分配外,同时自动将该虚拟ROCE网卡对应的设备名进行配置,训练任务运行时,会使用配置文件指定的虚拟ROCE网卡进行通信,如图5所示。更进一步的,在训练任务申请虚拟网卡资源时,基于Kubernetes平台的容器编排机制,将分布式训练任务调度到不同的物理节点上,自动为该训练任务生成“/etc/nccl.conf”文件,并将可以使用的虚拟网卡名称配置到该文件,从而通知NCCL使用正确的虚拟网卡。上述过程中训练任务申请网络资源时不需要感知节点的物理网络资源信息,并通过设置正确的NCCL环境,通知训练任务使用正确的虚拟网卡。当ROCE网卡异常时,能够实时的检测到网卡异常,保证为新提交的训练任务分配正常的ROCE网卡。
可见,本申请实施例在选择虚拟网卡时,首先获取目标资源组中的所述虚拟网卡对应所述物理网卡的网卡状态,并判断所述网卡状态是否正常,如果正常,则对所述目标资源组中网卡状态正常的所述物理网卡对应的所述虚拟网卡进行配置;如果异常,则对所述目标资源组中的其他所述虚拟网卡对应所述物理网卡的网卡状态进行检测。在实现将物理网卡灵活分配给多个训练任务使用的同时通过对众多虚拟网卡的有效管理,保证训练任务能够使用正确的虚拟网卡,在集群中的某个节点存在网卡异常时不影响训练任务的正常提交。
参见图6所示,本申请实施例还相应公开了一种任务训练装置,包括:
虚拟化模块11,用于对人工智能服务器的多个物理网卡分别进行虚拟化处理,以得到多个虚拟网卡;其中,每个所述物理网卡与对应的所述虚拟网卡之间存在虚拟关系;
配对模块12,用于对全部的所述虚拟网卡进行分组,以得到不同的资源组;其中,每个所述资源组中所述虚拟网卡与所述物理网卡之间的虚拟关系不重复;
训练模块13,用于利用目标资源组中的所述虚拟网卡为所述人工智能服务器上的目标任务提供网络资源,以对所述目标任务进行训练。
可见,本申请实施例先对人工智能服务器的多个物理网卡分别进行虚拟化处理,以得到多个虚拟网卡;其中,每个所述物理网卡与对应的所述虚拟网卡之间存在虚拟关系;然后对全部的所述虚拟网卡进行分组,以得到不同的资源组;其中,每个所述资源组中所述虚拟网卡与所述物理网卡之间的虚拟关系不重复;最后利用目标资源组中的所述虚拟网卡为所述人工智能服务器上的目标任务提供网络资源,以对所述目标任务进行训练。本申请实施例在将物理网卡虚拟为多个虚拟网卡的基础上,通过资源分组的方式对不同物理网卡的虚拟网卡进行绑定,在训练过程中,当资源组中的任一网卡异常时,可以利用资源组中其他无异常网卡继续提供网络资源,从而将高性能网卡合理的分配给训练任务的同时实现高性能网卡复用。
在一些具体实施例中,所述虚拟化模块11,具体包括:
第一开启单元,用于控制所述人工智能服务器进入基本输入输出系统以开启支持直接输入/输出访问的虚拟化技术的第一选项;
第二开启单元,用于在所述人工智能服务器中安装网卡驱动并开启所述人工智能服务器的支持直接输入/输出访问的虚拟化技术的第二选项,以将所述人工智能服务器的多个所述物理网卡分别进行虚拟化处理。
在一些具体实施例中,所述任务训练装置还包括:
上报模块,用于将每个所述物理网卡与对应的所述虚拟网卡之间的虚拟关系以及所述资源组上报至容器编排平台,以通过容器编排平台对所述资源组进行分配;
创建模块,用于创建所述目标任务及运行所述目标任务的目标容器;
确定请求模块,用于基于容器编排平台从全部所述资源组中确定出与所述目标任务对应的所述目标资源组,并向所述目标资源组对应所述物理网卡所在的所述人工智能服务器请求所述网络资源;
判断模块,用于获取所述目标资源组中的所述虚拟网卡对应所述物理网卡的网卡状态,并判断所述网卡状态是否正常,如果正常,则对所述目标资源组中网卡状态正常的所述物理网卡对应的所述虚拟网卡进行配置;
检测模块,用于如果异常,则对所述目标资源组中的其他所述虚拟网卡对应所述物理网卡的网卡状态进行检测;
配置模块,用于对所述目标资源组中的所述虚拟网卡的传输总线地址及设备名进行配置得到配置文件;
通信模块,用于利用所述配置文件中配置的所述虚拟网卡通过由多卡通信框架搭建的通信库进行通信,以为所述人工智能服务器上的所述目标任务提供网络资源;
更新模块,用于通过容器编排平台的资源管理组件对网卡异常事件进行监控,并根据监控结果对所述物理网卡的网卡状态进行更新。
进一步的,本申请实施例还提供了一种电子设备。图7是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图7为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的任务训练方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的任务训练方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223可以包括电子设备20收集到的训练任务。
进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的任务训练方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的任务训练方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种任务训练方法,其特征在于,包括:
对人工智能服务器的多个物理网卡分别进行虚拟化处理,以得到多个虚拟网卡;其中,每个所述物理网卡与对应的所述虚拟网卡之间存在虚拟关系;
对全部的所述虚拟网卡进行分组,以得到不同的资源组;其中,每个所述资源组中所述虚拟网卡与所述物理网卡之间的虚拟关系不重复;
利用目标资源组中的所述虚拟网卡为所述人工智能服务器上的目标任务提供网络资源,以对所述目标任务进行训练。
2.根据权利要求1所述的任务训练方法,其特征在于,对人工智能服务器的多个物理网卡分别进行虚拟化处理,包括:
控制所述人工智能服务器进入基本输入输出系统以开启支持直接输入/输出访问的虚拟化技术的第一选项;
在所述人工智能服务器中安装网卡驱动并开启所述人工智能服务器的支持直接输入/输出访问的虚拟化技术的第二选项,以将所述人工智能服务器的多个所述物理网卡分别进行虚拟化处理。
3.根据权利要求1所述的任务训练方法,其特征在于,还包括:
将每个所述物理网卡与对应的所述虚拟网卡之间的虚拟关系以及所述资源组上报至容器编排平台,以通过容器编排平台对所述资源组进行分配。
4.根据权利要求1至3任一项所述的任务训练方法,其特征在于,所述利用目标资源组中的所述虚拟网卡为所述人工智能服务器上的目标任务提供网络资源之前,还包括:
创建所述目标任务及运行所述目标任务的目标容器;
基于容器编排平台从全部所述资源组中确定出与所述目标任务对应的所述目标资源组,并向所述目标资源组对应所述物理网卡所在的所述人工智能服务器请求所述网络资源。
5.根据权利要求4所述的任务训练方法,其特征在于,所述向所述目标资源组对应所述物理网卡所在的所述人工智能服务器请求所述网络资源之后,还包括:
对所述目标资源组中的所述虚拟网卡的传输总线地址及设备名进行配置得到配置文件;
利用所述配置文件中配置的所述虚拟网卡通过由多卡通信框架搭建的通信库进行通信,以为所述人工智能服务器上的所述目标任务提供网络资源。
6.根据权利要求4所述的任务训练方法,其特征在于,所述对所述目标资源组中的所述虚拟网卡的传输总线地址及设备名进行配置得到配置文件之前,还包括:
获取所述目标资源组中的所述虚拟网卡对应所述物理网卡的网卡状态,并判断所述网卡状态是否正常,如果正常,则对所述目标资源组中网卡状态正常的所述物理网卡对应的所述虚拟网卡进行配置;
如果异常,则对所述目标资源组中的其他所述虚拟网卡对应所述物理网卡的网卡状态进行检测。
7.根据权利要求6所述的任务训练方法,其特征在于,还包括:
通过容器编排平台的资源管理组件对网卡异常事件进行监控,并根据监控结果对所述物理网卡的网卡状态进行更新。
8.一种任务训练装置,其特征在于,包括:
虚拟化模块,用于对人工智能服务器的多个物理网卡分别进行虚拟化处理,以得到多个虚拟网卡;其中,每个所述物理网卡与对应的所述虚拟网卡之间存在虚拟关系;
配对模块,用于对全部的所述虚拟网卡进行分组,以得到不同的资源组;其中,每个所述资源组中所述虚拟网卡与所述物理网卡之间的虚拟关系不重复;
训练模块,用于利用目标资源组中的所述虚拟网卡为所述人工智能服务器上的目标任务提供网络资源,以对所述目标任务进行训练。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至7任一项所述的任务训练方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至7任一项所述的任务训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210332855.9A CN114647488A (zh) | 2022-03-31 | 2022-03-31 | 一种任务训练方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210332855.9A CN114647488A (zh) | 2022-03-31 | 2022-03-31 | 一种任务训练方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114647488A true CN114647488A (zh) | 2022-06-21 |
Family
ID=81995684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210332855.9A Pending CN114647488A (zh) | 2022-03-31 | 2022-03-31 | 一种任务训练方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114647488A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024148833A1 (zh) * | 2023-01-09 | 2024-07-18 | 苏州元脑智能科技有限公司 | 一种容器多网卡网络配置方法、装置、设备及存储介质 |
-
2022
- 2022-03-31 CN CN202210332855.9A patent/CN114647488A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024148833A1 (zh) * | 2023-01-09 | 2024-07-18 | 苏州元脑智能科技有限公司 | 一种容器多网卡网络配置方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11714684B2 (en) | Methods and apparatus to manage compute resources in a hyperconverged infrastructure computing environment | |
US9838249B2 (en) | Maintaining resource availability during maintenance operations | |
US10530678B2 (en) | Methods and apparatus to optimize packet flow among virtualized servers | |
EP2946293B1 (en) | Healing cloud services during upgrades | |
US20190324820A1 (en) | Methods and apparatus to improve workload domain management in virtualized server systems | |
US8495208B2 (en) | Migrating virtual machines among networked servers upon detection of degrading network link operation | |
EP3402131A1 (en) | Resource configuration method, virtualized network function manager and network element management system | |
US11093296B2 (en) | System, virtualization control apparatus, method for controlling a virtualization control apparatus, and program | |
CN111399970B (zh) | 一种预留资源管理方法、装置和存储介质 | |
US20160013974A1 (en) | Methods and apparatus for rack deployments for virtual computing environments | |
CN103595801B (zh) | 一种云计算系统及其虚拟机实时监控方法 | |
EP3442203B1 (en) | Method for migrating a virtual machine, and system | |
US11343141B2 (en) | Methods and apparatus to migrate physical server hosts between virtual standard switches and virtual distributed switches in a network | |
CN110661647A (zh) | 一种生命周期管理方法及装置 | |
CN111857951A (zh) | 容器化部署平台及部署方法 | |
CN114650223A (zh) | 一种Kubernetes集群的网络配置方法、装置及电子设备 | |
CN114647488A (zh) | 一种任务训练方法、装置、设备及存储介质 | |
EP4006725A1 (en) | Virtual machine migration processing and strategy generation method, apparatus and device, and storage medium | |
CN113127144A (zh) | 一种处理方法、装置及存储介质 | |
CN109660575B (zh) | Nfv业务部署的实现方法和装置 | |
CN115827148A (zh) | 一种资源管理方法、装置、电子设备及存储介质 | |
US11797341B2 (en) | System and method for performing remediation action during operation analysis | |
CN112889247B (zh) | Vnf服务实例化方法及装置 | |
US11169836B2 (en) | Hardware placement and maintenance scheduling in high availability systems | |
CN110347473B (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 |