CN112463340A - 基于tensorflow的多任务弹性调度方法及系统 - Google Patents

基于tensorflow的多任务弹性调度方法及系统 Download PDF

Info

Publication number
CN112463340A
CN112463340A CN202011456701.8A CN202011456701A CN112463340A CN 112463340 A CN112463340 A CN 112463340A CN 202011456701 A CN202011456701 A CN 202011456701A CN 112463340 A CN112463340 A CN 112463340A
Authority
CN
China
Prior art keywords
gpu
cluster
gradient
training
tasks
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
Application number
CN202011456701.8A
Other languages
English (en)
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.)
Wuhan Institute of Technology
Original Assignee
Wuhan Institute of Technology
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 Wuhan Institute of Technology filed Critical Wuhan Institute of Technology
Priority to CN202011456701.8A priority Critical patent/CN112463340A/zh
Publication of CN112463340A publication Critical patent/CN112463340A/zh
Pending legal-status Critical Current

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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor 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)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于tensorflow的多任务弹性调度方法及系统,其中方法包括以下步骤:利用任务管理系统对进入集群中的任务进行预处理,允许集群中存在多个任务同时进行;从任务管理系统的配置文件中获取集群中所有GPU资源数量,利用可用GPU数量为训练任务划分数据集,将每部分数据集划分到指定GPU;在每个GPU上为任务弹性分配显存资源,弹性扩展空闲GPU以提升训练速度;在每部分数据集上完成梯度下降,获得每部分的当前梯度;利用群集间的通信将梯度进行累加得到当前的总梯度;将总梯度广播至每个GPU,再进行下一次梯度下降。本发明能够弹性的调度多任务进入到集群中,利用集群已有资源高效的完成分布式计算。

Description

基于tensorflow的多任务弹性调度方法及系统
技术领域
本发明属于计算机技术领域,具体地涉及一种基于tensorflow的多任务弹性调度方法及系统。
背景技术
深度学习作为机器学习领域的一个重要分支,在近年来得到了工业界及学术界的高度关注,并且取得了令人瞩目的发展,在机器视觉、语音识别等领域得到了广泛应用。但是,海量的训练数据、超大规模的模型给深度学习带来了日益严峻的挑战,分布式深度学习应运而生,逐渐成为应对这一挑战的有效手段。
google公司开发了MapReduce系统,在处理大规模数据的分布式训练上取得了一定的成果,该框架实现了高效的处理大规模数据的能力,但是其在深度学习训练方面能力不足。由于此系统并没有开源,因此针对MapReduce有了许多开源实现,其中最成功的是Apache Hadpoo,但是该系统远不及MapReduce的性能。Berkeley开发了Apache Spark,这种框架拥有着良好的容错能力,不仅在数据处理方面,在深度学习训练上也有不错的性能,但是它采用的同步训练方式,有着较高的通信损失。近几年,uber公司研究多种深度学习训练集群(MapReduce、Apache Spark、ring-Allreduce等),提出一种深度学习系统Horovod,它在降低通信损失,简化框架搭建上取得了极大地进步,在多GPU多节点上高效率的完成了训练任务。在另一篇论文中以Horovod为参照,在worker节点和训练机器之间添加一层结构(EDL),实现多租户弹性控制训练集群。它引入了多租户和弹性调度的思想,但是其从集群内部展开的方式会改变集群的构成,这样使用者难以深入的去进行调整,同时可能会产生某些程序性错误,增加不必要的麻烦,可用性较低。
发明内容
本发明的目的在于,提供一种能够利用有限资源,去做更多的训练,使更多的用户加入到训练中来基于tensorflow的多任务弹性调度方法及系统,
本发明为达上述目的所采用的技术方案是:
提供一种基于tensorflow的多任务弹性调度方法,其特征在于,包括以下步骤:
S1:利用任务管理系统对进入集群中的任务进行预处理,允许集群中存在多个任务同时进行;
S2:从任务管理系统的配置文件中获取集群中所有GPU资源数量,利用可用GPU数量为训练任务划分数据集,将每部分数据集划分到指定GPU;
S3:在每个GPU上为任务弹性分配显存资源,弹性扩展空闲GPU以提升训练速度;
S4:在每部分数据集上完成梯度下降,获得每部分的当前梯度;
S5:利用群集间的通信将梯度进行累加得到当前的总梯度;
S6:将总梯度广播至每个GPU,再进行下一次梯度下降。
接上述技术方案,步骤S1中,对加入到系统中的所有任务,任务管理程序依据关键字为每个任务生成一个特定的进程leader。
接上述技术方案,根据加入到任务中总GPU数量划分数据集,每份数据集都不相同但数量一致并都能保证完成当前的梯度下降。
接上述技术方案,步骤S3中,获取分配的训练机器数量和GPU数量,集群中的训练机器称为worker,以size参数标记所有GPU数量,以参数local_rank标记每个worker上的GPU,根据size=local_rank*worker,循环修改所有GPU显存占比。
接上述技术方案,当多任务加入到集群中之后,计划整体的资源分配,对于先头作业,集群属于空载,任务管理系统相应提升显存用量,当集群逐渐满载,任务管理系统则自适应降低显存分配,直到满载时无法为作业申请显存。
接上述技术方案,在训练作业初始时,程序会进入train入口正常进行训练,新的GPU加入时,作业将暂停;由于集群的特性,每次梯度下降,最新的检查点checkpoint默认保存在第一个worker0节点,将最新的模型参数广播至所有worker,然后程序会进入到断点入口breakpoint,此时所有的GPU节点都将延续使用最新的模型参数,并不会影响梯度的下降。
接上述技术方案,每N个worker节点与其他两个worker节点通信2*(N-1)次;在通信的过程中,一个节点接收并发送数据缓冲区传来的块,在第一个N-1迭代中,接收的值被添加到节点缓冲区中,在第二个N-1迭代中,接收的值代替数据缓冲区中的值,其中N为大于1的整数。
接上述技术方案,步骤S4中:将数据集下载到每个GPU中,完成一次计算,每个GPU都有一个梯度值,每次只与相邻训练机器worker进行梯度累加;N-1次之后完成所有梯度的累加;再将梯度同步到所有节点,N-1次完成所有节点同步,即完成一次梯度下降,反复这个过程,直到损失函数收敛完成训练。
本发明还提供了一种基于tensorflow的多任务弹性调度方法及系统,包括:
作业管理模块,利用任务管理系统对进入集群中的任务进行预处理,允许集群中存在多个任务同时进行;
数据集分组模块,用于从任务管理系统的配置文件中获取集群中所有GPU资源数量,利用可用GPU数量为训练任务划分数据集,将每部分数据集划分到指定GPU;
GPU扩展模块,用于在每个GPU上为任务弹性分配显存资源,弹性扩展空闲GPU以提升训练速度;
同步累加模块,用于在每部分数据集上完成梯度下降,获得每部分的当前梯度;利用群集间的通信将梯度进行累加得到当前的总梯度;将总梯度广播至每个GPU,再进行下一次梯度下降。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述技术方案所述的基于tensorflow的多任务弹性调度方法的步骤。
本发明产生的有益效果是:本发明基于tensorflow的多任务弹性调度方法能够利用分布式训练为任务提供一个高效快速的训练平台;并且创造性的提出多任务弹性调度的方法,自适应修改多任务在集群中资源占用情况,最终达到多任务弹性调度的目的。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例提供的一种基于tensorflow的多任务弹性调度方法及系统的流程示意图;
图2(a)—图2(e)是本发明提出的同步累加模块采取方式的示意图;
图3是本发明提出的作业管理模块的流程图;
图4是本发明提出的GPU扩展模块的流程图;
图5是本发明提出的显存控制模块的流程图;
图6是本发明实施例针对训练效率的测试效果图;
图7是本发明实施例针对资源分配的测试效果图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明实施例的一种基于tensorflow的多任务弹性调度方法及系统,如图1所示,包括以下步骤:
S1:利用任务管理系统对进入集群中的任务进行预处理,允许集群中存在多个任务同时进行;
其中首先需要修改少量训练代码程序,引用任务管理系统的配置文件。用户可在任务管理系统上修改配置文件,设置tensorflow训练环境。参考当前集群负载程序以及训练代码本身的资源需求,分配显存资源。完成数据集、训练代码和配置之后,启动训练,任务管理系统将任务加入到训练队列中。
对加入到任务管理系统中的所有任务,任务管理程序依据关键字为每个任务生成一个特定的进程leader。Leader是一个任务进程,它需要区别集群中的任务(比如任务A就是leaderA),同样的leaderA在后续的步骤中也只对任务A有效。
S2:集群中训练机器称为worker,获取集群中所有GPU资源数量,利用可用GPU数量为训练任务划分数据集,将每部分数据集划分到指定GPU;
其中在集群训练的过程中,从配置文件中,获取分配的训练机器数量和GPU数量。训练机器被称为worker,以size参数标记所有GPU数量,以参数local_rank(Local_rank参数用来标记计数GPU)标记每个worker上的GPU。因此根据size=local_rank*worker,循环修改所有GPU显存占比。完成标记之后,以总GPU数量平均划分数据集,得到size份不同的数据集,将其对应的下载到每个GPU中,完成第一次计算。
S3:在每个GPU上为任务弹性分配显存资源,可弹性的扩展空闲GPU以提升训练速度;
当多任务加入到集群中之后,计划整体的资源分配,对于先头作业,集群属于空载,任务管理系统相应提升显存用量,当集群逐渐满载,任务管理系统则自适应降低显存分配,直到满载时无法为作业申请显存,任务管理系统返回消息,提示当前worker已经满载,而无法继续加入到新的leader中。即任务满载无法继续加入新的作业,任务管理系统MFS会返回具体的提示符到终端显示。
其中为了能使GPU的扩展更加灵活,任务管理系统按需为worker划分数据集,保证每部分可以完成梯度下降的计算。在训练作业初始时,程序会进入train入口正常进行训练。如图4所示,在新的GPU加入到作业中时,将作业暂停。由于集群的特性,每次梯度下降最新的checkpoint默认保存在worker0节点(worker0为系统中设置的第一个worker节点),因此需要将最新的模型参数广播至所有worker,然后程序会进入到断点入口breakpoint(断点入口会使用之前检查点checkpoint保存的参数继续训练),此时所有的GPU节点都将延续使用最新的模型参数,并不会影响梯度的下降。
S4:在每部分数据集上完成梯度下降,获得每部分的当前梯度;
S5:利用群集间的通信将梯度进行平均得到当前的总梯度;
S6:将总梯度广播至每个GPU,开始进行下一次梯度下降;
具体地,步骤S4中:将数据集下载到每个GPU中,完成一次计算,其中每个GPU都有一个梯度值,如图2(a)。每次只与相邻worker进行梯度累加,如图2(b)、图2(c)。N-1次之后完成所有梯度的累加。再将梯度同步到所有节点,如图2(d)、图2(e),同样的这个过程也需要N-1次才能完成。再经过平均之后,就完成了一次梯度下降,反复这个过程,直到损失函数收敛完成训练。
具体地,每N个worker节点与其他两个worker节点通信2*(N-1)次;在通信的过程中,一个节点接收并发送数据缓冲区传来的块,在第一个N-1迭代中,接收的值被添加到节点缓冲区中,在第二个N-1迭代中,接收的值代替数据缓冲区中的值,其中N为大于1的整数。
本发明实施例基于tensorflow的多任务弹性调度系统主要包括:作业管理模块、数据集分组模块、GPU扩展模块和同步累加模块。其中:
作业管理模块,利用任务管理系统对进入集群中的任务进行预处理,允许集群中存在多个任务同时进行;在预处理时,可生成对应的进程leader去配合其余模块对任务进行调度;
数据集分组模块,用于从任务管理系统的配置文件中获取集群中所有GPU资源数量,利用可用GPU数量为训练任务划分数据集,将每部分数据集划分到指定GPU;
GPU扩展模块,用于在每个GPU上为任务弹性分配显存资源,弹性扩展空闲GPU以提升训练速度;;
同步累加模块,用于在每部分数据集上完成梯度下降,获得每部分的当前梯度;利用群集间的通信将梯度进行累加得到当前的总梯度;将总梯度广播至每个GPU,再进行下一次梯度下降。
该系统还包括显存控制模块,用于对多任务进行显存分配的过程,基于已有资源,对于先头作业,集群空载,会相应提升显存用量;当集群逐渐满载,任务管理系统则自适应降低显存分配,直到满载无法为作业申请显存。
该基于tensorflow的多任务弹性调度系统主要用于实现上述基于tensorflow的多任务弹性调度方法,进一步优化过程详见上文实施例的调度方法,重复部分在此不一一赘述。
本发明还提供一种计算机存储介质,其内存储有可被计算机处理器执行的计算机程序,该计算机程序执行上述的一种基于tensorflow的多任务弹性调度方法及系统。
本发明针对训练效率提供一个测试实施例,将cifar100数据集使用单GPU训练每epoch所花费的时间作为对比基准(图6中single GPU),并由此计算出双机8GPU集群在理论环境下应该达到的目标作为预期值(图6ideal),而distributed training则是原始分布式训练的结果,MFS就是使用一种基于tensorflow的多任务弹性调度方法及系统所训练的结果。
可以看出,在使用分布式训练之后,每次epoch的时间变短,总的训练时长也会变短,但是在经过计算之后发现并没有达到理想中的预期值。在实验的过程中,tensorflow标准版的分布式训练在cifar100上数据集,都损失了一半以上的性能。在一张卡上满载训练,使用ResNet50网络每次epoch大约在74s左右,而使用8张显卡满载训练后,理论上每次epoch应该在9s左右,可实际情况却只达到了19s左右,VGG16网络也存在同样的情况。虽然实际情况可能和环境有关,满负荷运作的显卡在高温的情况下,没办法达到很高的GPU利用率,但这个实验也能说明tensorflow标准的分布式训练无法达到很好的效果。
在一种基于tensorflow的多任务弹性调度方法及系统中,使用resnet50网络训练cifar100数据集每epoch只需要12s左右,虽然和理论上的数据仍有差距,但是不得不考虑通信损失以及环境给GPU带来的影响,就此实验而言,训练损失效率在20%左右。可以得出系统训练模型的性能优于原始分布式训练框架。由于实验室有着较为稳定的训练环境,专人负责机器的维护,因此同步训练的模式并不会产生很大的通信损失,同时我们使用的集群并不庞大,集群结构并不复杂,所以在训练效率这个评价标准上达到了很好的对比效果。
本发明针对多任务弹性调度中,资源分配做出了一个测试实施例,在cifar100数据集上进行测试,一般的3g左右的显存已经可以满足vgg16网络的训练任务。使用MFS之后,同时开启了4个作业,都可以完成训练任务,并且没有损失性能(延长完成训练时间)。如图7所示,初始任务加入集群为其分配了3g左右的显存。而在任务重载的时候减少GPU显存的分配,与预期(图7种ideal)单纯为每个作业分配3g显存有着较大的差异。
测试完成了一种基于tensorflow的多任务弹性调度方法及系统所训练弹性调度的测试,对多任务的加入有着较好的兼容性。由于其作业管理机制的存在,对整个系统都有一定的控制能力。不论是信息的采集还是梯度的同步,都起到了关键作用。GPU扩展和显存控制为多任务弹性调度的主要方式,灵活的为每个作业分配资源。在一定程度上体现了弹性调度的特性,基本完成了多任务的弹性调度。
说明书中未阐述的部分均为现有技术或公知常识。本实施例仅用于说明该发明,而不用于限制本发明的范围,本领域技术人员对于本发明所做的等价置换等修改均认为是落入该发明权利要求书所保护范围内。
需要指出,根据实施的需要,可将本申请中描述的各个步骤/部件拆分为更多步骤/部件,也可将两个或多个步骤/部件或者步骤/部件的部分操作组合成新的步骤/部件,以实现本发明的目的。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (10)

1.一种基于tensorflow的多任务弹性调度方法,其特征在于,包括以下步骤:
S1:利用任务管理系统对进入集群中的任务进行预处理,允许集群中存在多个任务同时进行;
S2:从任务管理系统的配置文件中获取集群中所有GPU资源数量,利用可用GPU数量为训练任务划分数据集,将每部分数据集划分到指定GPU;
S3:在每个GPU上为任务弹性分配显存资源,弹性扩展空闲GPU以提升训练速度;
S4:在每部分数据集上完成梯度下降,获得每部分的当前梯度;
S5:利用群集间的通信将梯度进行累加得到当前的总梯度;
S6:将总梯度广播至每个GPU,再进行下一次梯度下降。
2.根据权利要求1所述的基于tensorflow的多任务弹性调度方法,其特征在于,步骤S1中,对加入到系统中的所有任务,任务管理程序依据关键字为每个任务生成一个特定的进程leader。
3.根据权利要求1所述的基于tensorflow的多任务弹性调度方法,其特征在于,步骤S2中,根据加入到任务中总GPU数量划分数据集,每份数据集都不相同但数量一致并都能保证完成当前的梯度下降。
4.根据权利要求1所述的基于tensorflow的多任务弹性调度方法,其特征在于,步骤S3中,获取分配的训练机器数量和GPU数量,集群中的训练机器称为worker,以size参数标记所有GPU数量,以参数local_rank标记每个worker上的GPU,根据size=local_rank*worker,循环修改所有GPU显存占比。
5.根据权利要求3所述的基于tensorflow的多任务弹性调度方法,其特征在于,当多任务加入到集群中之后,计划整体的资源分配,对于先头作业,集群属于空载,任务管理系统相应提升显存用量,当集群逐渐满载,任务管理系统则自适应降低显存分配,直到满载时无法为作业申请显存。
6.根据权利要求3所述的基于tensorflow的多任务弹性调度方法,其特征在于,在训练作业初始时,程序会进入train入口正常进行训练,新的GPU加入时,作业将暂停;由于集群的特性,每次梯度下降,最新的检查点checkpoint默认保存在第一个worker0节点,将最新的模型参数广播至所有worker,然后程序会进入到断点入口breakpoint,此时所有的GPU节点都将延续使用最新的模型参数,并不会影响梯度的下降。
7.根据权利要求1所述的方法,其特征在于,所述方法中:每N个worker节点与其他两个worker节点通信2*(N-1)次;在通信的过程中,一个节点接收并发送数据缓冲区传来的块,在第一个N-1迭代中,接收的值被添加到节点缓冲区中,在第二个N-1迭代中,接收的值代替数据缓冲区中的值,其中N为大于1的整数。
8.根据权利要求1所述的方法,其特征在于,步骤S4中:将数据集下载到每个GPU中,完成一次计算,每个GPU都有一个梯度值,每次只与相邻训练机器worker进行梯度累加;N-1次之后完成所有梯度的累加;再将梯度同步到所有节点, N-1次完成所有节点同步,即完成一次梯度下降,反复这个过程,直到损失函数收敛完成训练。
9.一种基于tensorflow的多任务弹性调度方法及系统,其特征在于,包括:
作业管理模块,利用任务管理系统对进入集群中的任务进行预处理,允许集群中存在多个任务同时进行;
数据集分组模块,用于从任务管理系统的配置文件中获取集群中所有GPU资源数量,利用可用GPU数量为训练任务划分数据集,将每部分数据集划分到指定GPU;
GPU扩展模块,用于在每个GPU上为任务弹性分配显存资源,弹性扩展空闲GPU以提升训练速度;
同步累加模块,用于在每部分数据集上完成梯度下降,获得每部分的当前梯度;利用群集间的通信将梯度进行累加得到当前的总梯度;将总梯度广播至每个GPU,再进行下一次梯度下降。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述基于tensorflow的多任务弹性调度方法的步骤。
CN202011456701.8A 2020-12-10 2020-12-10 基于tensorflow的多任务弹性调度方法及系统 Pending CN112463340A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011456701.8A CN112463340A (zh) 2020-12-10 2020-12-10 基于tensorflow的多任务弹性调度方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011456701.8A CN112463340A (zh) 2020-12-10 2020-12-10 基于tensorflow的多任务弹性调度方法及系统

Publications (1)

Publication Number Publication Date
CN112463340A true CN112463340A (zh) 2021-03-09

Family

ID=74800727

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011456701.8A Pending CN112463340A (zh) 2020-12-10 2020-12-10 基于tensorflow的多任务弹性调度方法及系统

Country Status (1)

Country Link
CN (1) CN112463340A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115249074A (zh) * 2022-07-28 2022-10-28 上海光之树科技有限公司 基于Spark集群和Ring-AllReduce架构的分布式联邦学习方法
CN116628508A (zh) * 2023-07-20 2023-08-22 科大讯飞股份有限公司 模型训练过程异常检测方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111274036A (zh) * 2020-01-21 2020-06-12 南京大学 一种基于速度预测的深度学习任务的调度方法
CN112000473A (zh) * 2020-08-12 2020-11-27 中国银联股份有限公司 深度学习模型的分布式训练方法以及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111274036A (zh) * 2020-01-21 2020-06-12 南京大学 一种基于速度预测的深度学习任务的调度方法
CN112000473A (zh) * 2020-08-12 2020-11-27 中国银联股份有限公司 深度学习模型的分布式训练方法以及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115249074A (zh) * 2022-07-28 2022-10-28 上海光之树科技有限公司 基于Spark集群和Ring-AllReduce架构的分布式联邦学习方法
CN116628508A (zh) * 2023-07-20 2023-08-22 科大讯飞股份有限公司 模型训练过程异常检测方法、装置、设备及存储介质
CN116628508B (zh) * 2023-07-20 2023-12-01 科大讯飞股份有限公司 模型训练过程异常检测方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN115248728B (zh) 面向智能计算的分布式训练任务调度方法、系统和装置
Levin et al. DP-FAIR: A simple model for understanding optimal multiprocessor scheduling
US20170046201A1 (en) Backfill scheduling for embarrassingly parallel jobs
CN110389816B (zh) 用于资源调度的方法、装置以及计算机可读介质
CN111274036A (zh) 一种基于速度预测的深度学习任务的调度方法
CN114356578B (zh) 自然语言处理模型的并行计算方法、装置、设备及介质
CN112416585A (zh) 面向深度学习的gpu资源管理与智能化调度方法
CN114610474B (zh) 一种异构超算环境下多策略的作业调度方法及系统
Lee et al. Stretch out and compact: Workflow scheduling with resource abundance
CN112463340A (zh) 基于tensorflow的多任务弹性调度方法及系统
CN111861412A (zh) 面向完成时间优化的科学工作流调度方法及系统
CN112363913B (zh) 一种并行测试任务调度寻优的方法、装置和计算设备
CN111798113A (zh) 资源分配方法、装置、存储介质和电子设备
CN115934362B (zh) 面向深度学习的服务器无感知计算集群调度方法及产品
CN111597035B (zh) 基于多线程的仿真引擎时间推进方法及系统
Feljan et al. Task allocation optimization for multicore embedded systems
Chen et al. Hybrid resource provisioning for cloud workflows with malleable and rigid tasks
Beaumont et al. Minimizing weighted mean completion time for malleable tasks scheduling
CN110502337B (zh) 针对Hadoop MapReduce中混洗阶段的优化系统
Nasr et al. Task scheduling algorithm for high performance heterogeneous distributed computing systems
CN115686795A (zh) 一种基于dag的启发式任务调度方法
CN112052087B (zh) 动态资源调整与迁移的深度学习训练系统及方法
Wang et al. On optimal budget-driven scheduling algorithms for MapReduce jobs in the hetereogeneous cloud
Yang et al. Heuristic scheduling method with the importance of earlier tasks for deadline constrained workflows in clouds
Gupta et al. Real-time scheduling using compact task graphs

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