CN112862098A - 一种集群训练任务处理的方法及系统 - Google Patents
一种集群训练任务处理的方法及系统 Download PDFInfo
- Publication number
- CN112862098A CN112862098A CN202110185103.XA CN202110185103A CN112862098A CN 112862098 A CN112862098 A CN 112862098A CN 202110185103 A CN202110185103 A CN 202110185103A CN 112862098 A CN112862098 A CN 112862098A
- Authority
- CN
- China
- Prior art keywords
- training
- node
- nodes
- task
- distribution
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及深度学习机器训练技术领域,尤其涉及一种集群训练任务处理的方法及系统,包括以下步骤:设置训练分配参数,选择训练环境组件选项,提交集群训练任务;根据训练分配参数获取分配执行节点的集合;分配执行节点集合中的节点部署选择好的训练环境组件;将开发好的程序模型分发至各个分配执行节点,并开始任务训练,训练过程中对各个节点运行状态进行监控;训练结束,汇总输出运行结果,释放分配执行节点资源。本发明的有益效果在于:实现开发、节点分配、环境部署、状态监控等在同一个环境,实现从单机开发到集群训练的操作,极大的提高深度学习模型开发以及训练的效率;减少节点分配、环境部署中花费的时间和精力;优化节点的分配方式。
Description
技术领域
本发明涉及深度学习机器训练技术领域,尤其涉及一种集群训练任务处理的方法及系统。
背景技术
随着深度学习技术发展,越来越复杂的模型需要采用计算集群进行分布式训练。通常会在一台机器的开发环境中进行训练程序的开发,再在计算机集训中部署训练环境,将训练任务在集群上运行,这个过程中研究人员通常会把过多的研究精力投入在与算法模型训练任务无关的事情上,比如架构分配和设置、数据收集、资源分配、日志记录等。同时,对于相对复杂的模型,往往还需要对标签的整理,数据集的训练算法、运行训练的系统架构、操作系统的选择安装、底层驱动程序的配置以及相关基础框架的设置。
现有技术中,在进行采用集群训练的时候通常会采用一些开源的容器管理系统,提供一些环境部署、底层资源调度、状态管理及动态伸缩等功能。但通常还是需要手动的方式进行部署。并且由于开发环境和训练环境分离,导致单独配置训练环境容易误操作、漏操作,效率低下。
发明内容
本发明为克服上述的不足之处,目的在于提供一种集群训练任务处理的方法及系统,同步开发环境和训练环境等,实现从单机开发到集群训练的操作,提高模型开发效率。
本发明是通过以下方案达到上述目的:一种集群训练任务处理的方法,包括以下步骤:
(1)设置训练分配参数,选择训练环境组件选项,提交集群训练任务;
(2)根据训练分配参数获取分配执行节点的集合;
(3)分配执行节点集合中的节点上部署选择好的训练环境组件;
(4)将开发好的训练任务分发至各个部署完毕的节点,并开始任务训练,训练过程中对节点运行状态进行监控;
(5)训练结束,汇总输出运行结果,释放分配执行节点资源。
作为优选,所述训练分配参数包括:请求组别名称、请求节点数量。
作为优选,所述训练分配参数还包括指定节点编号。
作为优选,所述步骤(2)中的获取分配执行节点,包括以下步骤:
(2.1)获取可用节点集合M,获取所有分组信息列表及请求组别名称对应的节点列表,获取请求节点集合Y;
(2.2)获取预分配可用节点集合Z,分配可用节点集合Z取可用节点集合M和请求节点集合Y的交集,即Z=M∩Y;
(2.3)检查预分配可用节点集合Z中的节点数量是否满足请求节点数量,不满足则返回步骤(1);满足则建立容量为请求节点数量的分配执行节点集合;
(2.4)将指定节点放入分配执行节点集合;
(2.5)对预分配可用节点集合Z中的节点按预设规则进行优先级排序,并依次放入分配执行节点集合中,直到分配执行节点集合容量装满;
(2.6)锁定分配执行节点集合中的节点,返回分配执行节点集合。
作为优选,选择的请求组别名称对应的节点列表后需要检查组别名称和列表节点编号是否合法。
作为优选,所述步骤(3)中部署训练环境组件的方法为:预先创建多个训练环境组件选项,其中包含训练环境容器的镜像文件;获取用户选择的训练环境组件选项;根据训练环境组件选项,对分配执行节点进行镜像文件同步,完成训练环境组件部署;其中,所述训练环境组件选项包括:镜像文件名称、启动参数、外部环境变量、配置参数和配置文件名称,所述配置参数包括系统资源分配参数。
作为优选,步骤(2.1)中,所述可用节点集合M为所有集群节点中运行状态正常、不在锁定状态、不被禁用且不执行任务的节点;
作为优选,所述步骤(2.6)中的预设规则为:每个节点对应的运行状态分数从高到低优先级进行排序;所述运行状态分数获取方法为:初始阶段每个节点被赋予一个初始运行状态分数,在训练任务运行过程中,收集每个节点报错信息,每收到一个报错信息,该节点被扣一分。
作为优选,所述步骤(2.7)中的锁定状态的节点满足以下任一条件被解锁:任务分发完成开始运行训练任务或者5分钟超时。
一种集群训练任务处理的系统,包括:
开发模块,训练任务的代码编写、开发和调试;
节点分配模块,根据训练分配参数获取分配执行节点;
训练环境部署模块,部署开发好的训练任务在集群上进行训练的环境;
任务分发模块,将开发好的训练任务分发至已部署好训练环境的分配执行节点上;
训练管理及控制模块,实时获取分配执行节点上运行的任务,对任务训练过程进行管理和控制;
集群状态监控模块,实时采集数据监控各个分配执行节点的运行状态;
汇总输出模块,对并行多机训练任务的结果进行汇总输出。
本发明的有益效果在于:训练任务开发完成后,选择训练环境组件选项后,提交任务训练,系统通过创建容器训练环境镜像文件,根据用户选择训练环境组件,在分配好的节点上,进行环境训练环境配置部署,同步训练环境,然后进行任务分发训练。实现开发、节点分配、环境部署、状态监控等在同一个环境,仅需要设置训练分配参数和选择训练环境组件选项即可实现从单机开发到集群训练的操作,能极大的提高深度学习模型开发以及训练的效率;减少节点分配、环境部署中花费的时间和精力,使得研究人员可以集中精力与核心机器学习算法模型的开发和训练。
节点分配过程根据历史运行的情况反馈对同组节点分配优先级进行调整,节点的历史运行状态将会影响新任务分配时节点的优先级排序,优化了节点分配方式,既能满足用户指定分组、指定节点计算机,又能实现其他节点计算机更加动态、高效、灵活的配置,让运行状态良好的设备资源得到充分利用,从总体上优化资源配置,减少了任务训练的总体报错率、故障率。
附图说明
图1是本发明方法的流程示意图;
图2是获取分配执行节点的流程示意图;
图3是本发明系统运行的框架示意图。
具体实施方式
下面结合具体实施实例对本发明进行进一步描述,但本发明的保护范围并不仅限于此。
实施例:如图1所示,一种集群训练任务处理的方法,包括以下步骤:
(1)设置训练分配参数,选择训练环境组件选项,提交集群训练任务。训练分配参数包括:请求组别名称、请求节点数量n、也可以包括指定节点编号。
训练任务可以是机器学习算法模型训练程序,如神经网络模型训练程序,或其他深度学习模型训练程序。用户通过客户端开发模块进行训练任务开发与调试,确保训练任务可以初步跑通。开发完成后,可将训练任务上传至集群训练任务队列中等待任务分配。
本实施例中的集群包括多个节点,所述节点指计算机服务器,包括一块或多块GPU。深度学习中涉及到的运算大多是向量化的矩阵运算。GPU可以实现大规模的并行运算,因此实践中通常采用GPU来运行训练任务。所述GPU用于接收分发训练任务消息,根据训练任务消息将对应训练任务加载到GPU显存中,执行训练任务。
节点预先按算力的不同进行分组。将GPU显卡数量、类型的相同的分到同一组别,以确保同组节点的算力基本相同,每个组别有自己的组别名称。每组节点在初始化时会指定一个主节点,用以任务分发时调度队列任务信息,将本组任务分发给本组其他普通节点,任务分发完成后,主节点和普通节点一并完成任务执行训练。
节点组别可以由一个前端路由与多个树型结构的节点相连组成,训练任务由路由前端端口接收并传送至该组别节点。路由通过一定的负载均衡机制实现服务调度的运算,例如轮询机制、LRU调度机制,可以满足高并发运算需求。
(2)根据训练分配参数获取分配执行节点的集合,如图2所示:
(201)获取可用节点集合M,获取所有分组信息列表及请求组别名称对应的节点列表。在具体实施中,所述可用节点集合M为所有集群节点中运行状态正常、不在锁定状态、不被禁用且不执行任务的节点。在所有集群节点中,部分节点可以人工禁用,部分节点正在执行任务。而确定分配执行节点到训练任务完成开始运行的过程会有一定延迟,在该延迟中,分配执行节点会被锁定。
(202)检查所有分组信息列表及请求组别名称对应的节点列表的名称是否合法,若非法则返回步骤(1)。
节点预先按算力的不同进行分组。获取分组节点列表信息,还需要检查各个组别的名称是否合法,以及训练分配参数中的请求组别名称是否合法,并且该组别没有被禁用。在API接入训练任务的时候,有时候会出现输入组别名称非法的情况。非法组别名称,会导致获取失败。
在实施例中,如果组别名称合法,则根据请求组别名称获取节点列表。如果有非法命名的情况,则进行报错,并返回训练提交界面。
获取选择的请求组别名称对应的节点列表,检查列表节点编号是否合法。如果合法,则进行步骤(203),如果非法则进行提示非法命名,返回提交训练分配参数界面。
在实施例中,需要获取提交集群训练任务时一并提交训练分配参数,包括请求组别名称,请求节点数量n,也可以包括指定节点编号。根据请求组别名称,以及所有分组信息列表,获取选择的组别名称对应的节点列表,得到请求节点集合Y。获取请求节点集合Y后,检查Y的节点列表编号是否合法。如果请求节点集合Y的节点列表编号合法,则获取预分配可用节点集合Z。如果有非法节点编号的情况,则进行报错,并返回训练分配参数提交界面。
如果组别名称非法及节点列表编号非法,则无法正确调用节点计算机,需要提示用户存在非法命名情况,并返回提交训练分配参数界面。
(203)获取预分配可用节点集合,可用节点集合M和请求节点集合Y取交集得到预分配可用节点集合Z=M∩Y。
(204)检查预分配可用节点集合Z中的节点数是否满足请求节点数量n,不满足则返回步骤(1);满足则建立容量为请求节点数量n的分配执行节点集合。
对请求节点数量n,预分配可用节点集合Z,检查是否满足预分配可用节点集合Z中元素数量,是否小于等于请求节点数量n,即n≤card(Z)。如果预分配可用节点集合Z满足请求节点数量n,则建立一个元素容量为n的分配执行节点集合,该集合内节点为空;如果预分配可用节点集合Zn,则提示用于可用节点数量不足,返回提交训练界面,需要重新提交训练分配参数。
(205)将指定节点放入分配执行节点集合:根据指定节点编号,获取指定节点集合X。其中,训练分配参数选择的时候,选择指定节点编号,将在节点分配的时候,将指定节点优先放入分配执行节点集合中。训练分配参数选择的时候,也可以不选择指定节点编号,则该指定节点集合X为空,该分配执行节点集合保持空集合。
(206)对预分配可用节点集合Z中的节点按优先级排序,并依次放入分配执行节点集合中,直到分配执行节点集合容量装满。具体地,是将节点按历史运行状态分数从高到低进行优先级排序。每个节点根据历史运行状态,对应一个运行状态分数。初始阶段,每个节点被赋予一个初始运行状态分数,存放在存储结构中,所述存储结构可以为redis数据库。在训练任务运行过程中,收集每个节点报错信息,每收到一个报错信息,该节点被扣一分。多次运行后,每个节点有跟历史运行状态相关的运行状态分数,此计数过程由监控模块完成。通过这种方式,节点计算机服务器的历史运行状态将会影响新任务分配时节点的优先级排序,确保报错较少的机器能够优先分配,从总体上优化资源配置,减少了任务训练的总体报错率。然后根据优先级顺序将预分配可用节点集中的节点,放入分配执行节点集合中,直到分配执行节点集合容量装满。
(207)锁定分配执行节点集合中的节点,返回分配执行节点集合
在集群训练的所有节点中,从确定分配执行节点到训练任务开始运行训练任务的过程会有一定延迟。因此,为了防止不同训练任务请求造成重复分配,分配执行节点集合中的节点会被锁定。
在实施例中,锁定状态节点会在满足以下情况之一时被解除:1、任务分发完成开始运行训练任务;2、5分钟超时解除。
(3)在分配执行节点集合中的节点上部署选择好的的训练环境组件。
集群进行训练任务的过程中,由于不同训练任务有不同操作系统、驱动等底层环境需求,采用传统的插件或脚本的形式安装部署驱动与操作系统,一个节点只能创建一套应用系统的环境,导致对物理设备依赖导致兼容性及迁移困难的问题。而采用虚拟机的方式进行环境部署也存在虚拟环境占用资料大,部署效率低下,可移植性差的情况,开发人员需要花费较多时间精力去完成每个节点的训练环境部署。采用训练环境容器部署的方式,创建不同训练环境容器镜像文件,并同步到多个节点上的方式可以有效提高环境部署的速度,降低资源占用。
在实施例中,通过创建训练环境容器实现训练环境组件配置部署。每个计算机服务器是机器训练集群中一个节点,使用Docker技术实现节点环境统一管理和资源的统筹规划。建立训练环境容器的镜像文件,包括操作系统,底层驱动,训练基础框架等。预先创建多个训练环境组件选项,每个训练环境组件选项中包括预先配置封装好的镜像文件名称、启动参数、外部环境变量、配置参数和配置文件名称。用户在开发完成训练任务后,在客户端发布训练任务时需选择训练环境组件选项,完成分配执行节点上的训练环境组件部署。
获取用户选择的训练环境组件选项,读取其中的镜像文件名称、启动参数、外部环境变量、配置参数和配置文件名称。所述配置参数可以是系统资源分配参数,如内存分配、CPU占用、用户名密码等。根据训练环境组件选项,选择对应镜像文件驱动包,将镜像文件发送至每个分配执行节点,通过配置文件设置使用容器函数对分配执行节点镜像文件同步。根据训练环境组件选项中的底层驱动镜像文件名称、启动参数、外部环境变量、配置参数和配置文件名称,自动生成配置函数文件,配置函数依次启动对应的驱动、配置相应参数、加载相应训练框架,完成节点的环境部署。
在每个分配执行节点中基于同步好的镜像文件创建训练环境容器完成训练环境部署,以便接下来为节点基于容器之间通信完成深度学习模型的训练。其中环境部署是通过启动配置文件中预设函数启动顺序依次启动实现。
训练环境组件选项提供机器训练框架的选择,通过定义训练任务类别进行训练任务流程编排。在训练环境组件环境部署进行机器训练框架的自动加载。系统预置常规机器学习框架,包括Pytorch、TensorFlow,Caffe、MNNet等。同时还支持机器学习框架动态扩展,对于新机器学习训练使用的训练框架,在不需要修改系统底层基础功能的情况下,实现新学习框架的动态扩展。
通过上述实施例,用户只需要在发布训练任务的同时,选择训练环境组件选项,便可以将操作系统、驱动、配置文件、项目训练框架等训练环境同步至所有分配执行节点,通过容器化技术,创建训练环境容器和容器镜像,完成训练环境自动部署,提高了环境部署效率。
(4)将开发好的训练任务分发至各个部署完毕的节点,并开始任务训练,训练过程中对节点运行状态进行监控。
在具体实施中,分配执行节点集合中指定一个主节点,通过主节点训练任务分发阶段完成任务分发及资源调度,任务分发完成后,主节点和普通节点一并完成任务执行训练。单机训练的情况下,分配执行节点集合只有一个节点,该节点指定主节点,单机完成程序模型训练任务。
训练任务分发采用同步分发的方式,将训练任务加载到各个分配执行节点上,在每个节点上执行相同的训练任务。通过容器工具建立镜像同步完成训练环境组件部署,保证每个节点上训练环境相同,完成环境部署的节点可以基于容器间的通信进行数据通信,实现多机并行训练。
在实施例中,训练过程对节点运行状态进行监控,包括集群状态监控、训练任务管理、训练过程管控。及具体地,可以依靠容器组件实时获取节点运行数据。集群状态监控包括实时采集和显示各个节点的配置情况和运行状态、GPU、CPU、内存空间及资源占用曲线,对节点资源进行统一管理和监控。训练任务管理包括汇总显示分组情况,实时采集每个训练批次的序列任务日志,监控和管理任务分配训练过程,任务完成情况,显示汇总指标和详细列表。训练任务过程管控包括对训练过程的控制,包括任务的整体启动、暂停、停止,结果查看,节点检索,单个节点禁用等等。
在一个实施例中,对节点的运行状态监控包括通过监控模块对节点计算机报错次数进行计数。初始阶段,每个节点被赋予一个初始运行状态分数,存放在存储结构中,所述存储结构可以为redis数据库。在训练运行过程中,收集每个节点报错信息,每收到一个报错信息,该节点被扣一分。
(5)训练结束,汇总输出运行结果,释放分配执行节点资源。
训练任务结束后,通过主节点对该组训练任务的结果进行汇总输出,并释放训练状态的节点,使之为空闲,可以接受下一次的任务分配。
每次运行结束,根据运行中的节点报错情况,对每个节点运行状态分数进行调整。
如图3所示,一种集群训练任务处理的系统,包括:开发模块、节点分配模块、训练环境部署模块、任务分发模块、训练管理及控制模块、集群状态监控模块、汇总输出模块。
具体实施中,开发模块用于训练程序的代码编写开发和调试,包括代码编辑器、开发环境配置、编译器、调试模块及其他代码编写辅助工具。通过开发环境配置模块进行开发环境配置后,可以实现机器学习算法代码训练程序开发,包括代码编写、分析、编译、调试等。确保完成编写的代码在进入集群训练之前能初步跑通。
节点分配模块,用于根据训练分配参数,获取分配执行节点。
训练环境部署模块用于部署开发好的训练任务在集群上进行训练的环境。即节点分配模块在分配执行节点上部署预设的机器环境训练组件。
任务分发模块用于将开发好的训练任务分发至各个部署完毕的分配执行节点。
训练管理及控制模块,实时获取节点上运行的任务,对任务训练过程进行管理和控制。具体地,可以依靠容器组件实时获取节点运行数据。分为任务训练管理功能及任务训练控制功能。任务训练管理功能用于对节点上运行训练任务进行实时监控,包括按训练任务分类,汇总显示分组情况,实时采集每个训练批次的序列任务日志,监控和管理任务分配训练过程,任务完成情况,显示汇总指标和详细列表。训练任务过程管控包括对训练过程的控制,包括任务的整体启动、暂停、停止,结果查看,节点检索,单个节点禁用等等。
集群状态监控模块,实时采集数据监控各个节点运行状态。具体地,可以依靠容器组件实时获取节点运行数据。CPU、CPU、内存空间及资源占用曲线,对节点资源进行统一管理和监控。
在实施例中,集群状态监控模块对节点计算机报错次数进行计数。初始阶段,每个节点被赋予一个初始运行状态分数,存放在存储结构中,所述存储结构可以为redis数据库。在训练运行过程中,集群状态监控模块收集每个节点报错信息,每收到一个报错信息,该节点被扣一分。多次运行后,得到每个节点运行状态分数,该分数用于节点分配时按分数从高到低的优先级排序选取分配执行节点。
汇总输出模块,训练结束后,对该组并行多机训练任务的结果进行汇总输出。
以上的所述乃是本发明的具体实施例及所运用的技术原理,若依本发明的构想所作的改变,其所产生的功能作用仍未超出说明书及附图所涵盖的精神时,仍应属本发明的保护范围。
Claims (10)
1.一种集群训练任务处理的方法,其特征在于,包括以下步骤:
(1)设置训练分配参数,选择训练环境组件选项,提交集群训练任务;
(2)根据训练分配参数获取分配执行节点的集合;
(3)分配执行节点集合中的节点上部署选择好的训练环境组件;
(4)将开发好的训练任务分发至各个部署完毕的节点,并开始任务训练,训练过程中对节点运行状态进行监控;
(5)训练结束,汇总输出运行结果,释放分配执行节点资源。
2.根据权利要求1所述的一种集群训练任务处理的方法,其特征在于,所述训练分配参数包括:请求组别名称、请求节点数量。
3.根据权利要求1-2所述的一种集群训练任务处理的方法,其特征在于,所述训练分配参数还可以包括指定节点编号。
4.根据权利要求1-3所述的一种集群训练任务处理的方法,其特征在于,所述步骤(2)中的获取分配执行节点,包括以下步骤:
(2.1)获取可用节点集合M,获取所有分组信息列表及请求组别名称对应的节点列表,获取请求节点集合Y;
(2.2)获取预分配可用节点集合Z,可用节点集合M和请求节点集合Y取交集得到预分配可用节点集合Z=M∩Y;
(2.3)检查预分配可用节点集合Z中的节点数量是否满足请求节点数量,不满足则返回步骤(1);满足则建立容量为请求节点数量的分配执行节点集合;
(2.4)将指定节点放入分配执行节点集合;
(2.5)对预分配可用节点集合Z中的节点按预设规则进行优先级排序,并依次放入分配执行节点集合中,直到分配执行节点集合容量装满;
(2.6)锁定分配执行节点集合中的节点,返回分配执行节点集合。
5.根据权利要求4所述的一种集群训练任务处理的方法,其特征在于,选择的请求组别名称对应的节点列表后需要检查组别名称和列表节点编号是否合法。
6.根据权利要求1-3所述的一种集群训练任务处理的方法,其特征在于,所述步骤(3)中部署训练环境组件的方法为:预先创建多个训练环境组件选项,其中包含训练环境容器的镜像文件;获取用户选择的训练环境组件选项;根据训练环境组件选项,对分配执行节点进行镜像文件同步,完成训练环境组件部署;其中,所述训练环境组件选项包括:镜像文件名称、启动参数、外部环境变量、配置参数和配置文件名称,所述配置参数包括系统资源分配参数。
7.根据权利要求4所述的一种集群训练任务处理的方法,其特征在于,步骤(2.1)中,所述可用节点集合M为所有集群节点中运行状态正常、不在锁定状态、不被禁用且不执行任务的节点。
8.根据权利要求4所述的一种集群训练任务处理的方法,其特征在于,所述步骤(2.6)中的预设规则为:每个节点对应的运行状态分数从高到低优先级进行排序;所述运行状态分数获取方法为:初始阶段每个节点被赋予一个初始运行状态分数,在训练任务运行过程中,收集每个节点报错信息,每收到一个报错信息,该节点被扣一分。
9.根据权利要求4所述的一种集群训练任务处理的方法,其特征在于,所述步骤(2.7)中的锁定状态的节点满足以下任一条件被解锁:任务分发完成开始运行训练任务或者5分钟超时。
10.一种集群训练任务处理的系统,其特征在于包括:
开发模块,训练任务的代码编写、开发和调试;
节点分配模块,根据训练分配参数获取分配执行节点;
训练环境部署模块,部署开发好的训练任务在集群上进行训练的环境;
任务分发模块,将开发好的训练任务分发至已部署好训练环境的分配执行节点上;
训练管理及控制模块,实时获取分配执行节点上运行的任务,对任务训练过程进行管理和控制;
集群状态监控模块,实时采集数据监控各个分配执行节点的运行状态;
汇总输出模块,对并行多机训练任务的结果进行汇总输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110185103.XA CN112862098A (zh) | 2021-02-10 | 2021-02-10 | 一种集群训练任务处理的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110185103.XA CN112862098A (zh) | 2021-02-10 | 2021-02-10 | 一种集群训练任务处理的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112862098A true CN112862098A (zh) | 2021-05-28 |
Family
ID=75987997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110185103.XA Pending CN112862098A (zh) | 2021-02-10 | 2021-02-10 | 一种集群训练任务处理的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112862098A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113326116A (zh) * | 2021-06-30 | 2021-08-31 | 北京九章云极科技有限公司 | 一种数据处理方法和系统 |
CN113467931A (zh) * | 2021-06-04 | 2021-10-01 | 中国联合网络通信集团有限公司 | 算力任务的处理方法、装置及系统 |
CN113886036A (zh) * | 2021-09-13 | 2022-01-04 | 天翼数字生活科技有限公司 | 用于优化分布式系统集群配置的方法和系统 |
WO2022257302A1 (zh) * | 2021-06-09 | 2022-12-15 | 苏州浪潮智能科技有限公司 | Ai训练平台的训练任务创建方法、装置、系统及介质 |
CN116501502A (zh) * | 2023-06-25 | 2023-07-28 | 电子科技大学 | 一种基于Pytorch框架的数据并行优化方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017045424A1 (zh) * | 2015-09-18 | 2017-03-23 | 乐视控股(北京)有限公司 | 一种应用程序部署系统及部署方法 |
CN108958892A (zh) * | 2018-08-14 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种创建用于深度学习作业的容器的方法和装置 |
CN109272116A (zh) * | 2018-09-05 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种深度学习的方法及装置 |
CN110795241A (zh) * | 2019-10-18 | 2020-02-14 | 北京并行科技股份有限公司 | 一种作业调度管理方法、调度中心和系统 |
CN111768006A (zh) * | 2020-06-24 | 2020-10-13 | 北京金山云网络技术有限公司 | 一种人工智能模型的训练方法、装置、设备及存储介质 |
CN112241321A (zh) * | 2020-09-24 | 2021-01-19 | 北京影谱科技股份有限公司 | 基于Kubernetes的算力调度方法和装置 |
-
2021
- 2021-02-10 CN CN202110185103.XA patent/CN112862098A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017045424A1 (zh) * | 2015-09-18 | 2017-03-23 | 乐视控股(北京)有限公司 | 一种应用程序部署系统及部署方法 |
CN108958892A (zh) * | 2018-08-14 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种创建用于深度学习作业的容器的方法和装置 |
CN109272116A (zh) * | 2018-09-05 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种深度学习的方法及装置 |
CN110795241A (zh) * | 2019-10-18 | 2020-02-14 | 北京并行科技股份有限公司 | 一种作业调度管理方法、调度中心和系统 |
CN111768006A (zh) * | 2020-06-24 | 2020-10-13 | 北京金山云网络技术有限公司 | 一种人工智能模型的训练方法、装置、设备及存储介质 |
CN112241321A (zh) * | 2020-09-24 | 2021-01-19 | 北京影谱科技股份有限公司 | 基于Kubernetes的算力调度方法和装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113467931A (zh) * | 2021-06-04 | 2021-10-01 | 中国联合网络通信集团有限公司 | 算力任务的处理方法、装置及系统 |
CN113467931B (zh) * | 2021-06-04 | 2023-12-22 | 中国联合网络通信集团有限公司 | 算力任务的处理方法、装置及系统 |
WO2022257302A1 (zh) * | 2021-06-09 | 2022-12-15 | 苏州浪潮智能科技有限公司 | Ai训练平台的训练任务创建方法、装置、系统及介质 |
CN113326116A (zh) * | 2021-06-30 | 2021-08-31 | 北京九章云极科技有限公司 | 一种数据处理方法和系统 |
CN113886036A (zh) * | 2021-09-13 | 2022-01-04 | 天翼数字生活科技有限公司 | 用于优化分布式系统集群配置的方法和系统 |
CN113886036B (zh) * | 2021-09-13 | 2024-04-19 | 天翼数字生活科技有限公司 | 用于优化分布式系统集群配置的方法和系统 |
CN116501502A (zh) * | 2023-06-25 | 2023-07-28 | 电子科技大学 | 一种基于Pytorch框架的数据并行优化方法 |
CN116501502B (zh) * | 2023-06-25 | 2023-09-05 | 电子科技大学 | 一种基于Pytorch框架的数据并行优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112862098A (zh) | 一种集群训练任务处理的方法及系统 | |
US8166458B2 (en) | Method and system for automated distributed software testing | |
US20180060456A1 (en) | Simulation including multiple simulators | |
US7502850B2 (en) | Verifying resource functionality before use by a grid job submitted to a grid environment | |
US11924117B2 (en) | Automated local scaling of compute instances | |
JP2015530647A (ja) | クラウドコンピューティングシステムをチューニングするためのシステム及び方法 | |
CN113886089B (zh) | 一种任务处理方法、装置、系统、设备及介质 | |
CN114741207A (zh) | 一种基于多维度组合并行的gpu资源调度方法和系统 | |
CN109101320B (zh) | 异构处理器平台融合管理系统 | |
Kurowski et al. | Grid scheduling simulations with GSSIM | |
CN111190691A (zh) | 适用于虚拟机的自动迁移方法、系统、装置及存储介质 | |
US20240045793A1 (en) | Method and system for scalable performance testing in cloud computing environments | |
CN112395736A (zh) | 一种分布交互仿真系统的并行仿真作业调度方法 | |
CN108632086B (zh) | 一种并行作业运行故障定位方法 | |
CN111666158A (zh) | 一种基于Kubernetes的容器调度方法、装置、存储介质及电子设备 | |
CN115292014A (zh) | 图像渲染方法、装置和服务器 | |
CN115098354A (zh) | 一种搭建高性能云仿真设计平台的方法 | |
CN114721824A (zh) | 一种资源分配方法、介质以及电子设备 | |
CN116483546B (zh) | 分布式训练任务调度方法、装置、设备及存储介质 | |
CN110928659B (zh) | 一种具有自适应功能的数值水池系统远程多平台接入方法 | |
US20230155958A1 (en) | Method for optimal resource selection based on available gpu resource analysis in large-scale container platform | |
CN112925640A (zh) | 一种集群训练节点分配方法、电子设备 | |
CN115102851B (zh) | 一种面向hpc与ai融合计算的融合平台及其资源管理方法 | |
CN116578416A (zh) | 一种基于gpu虚拟化的信号级仿真加速方法 | |
CN110297692A (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 |