CN116880980A - 一种多资源感知的gup共享动态资源调度方法及系统 - Google Patents

一种多资源感知的gup共享动态资源调度方法及系统 Download PDF

Info

Publication number
CN116880980A
CN116880980A CN202310846865.9A CN202310846865A CN116880980A CN 116880980 A CN116880980 A CN 116880980A CN 202310846865 A CN202310846865 A CN 202310846865A CN 116880980 A CN116880980 A CN 116880980A
Authority
CN
China
Prior art keywords
resource
task
gpu
tasks
sharing
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
CN202310846865.9A
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.)
University of Science and Technology Beijing USTB
Original Assignee
University of Science and Technology Beijing USTB
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 University of Science and Technology Beijing USTB filed Critical University of Science and Technology Beijing USTB
Priority to CN202310846865.9A priority Critical patent/CN116880980A/zh
Publication of CN116880980A publication Critical patent/CN116880980A/zh
Pending legal-status Critical Current

Links

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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种多资源感知的GUP共享动态资源调度方法及系统,涉及计算机技术领域,包括:离线获取每个深度学习任务在不同GPU数量上的平均单次迭代时间;离线记录每次迭代中的数据加载、数据预处理、前向和反向传播、参数同步四个阶段的平均持续时间作为每种资源类型的占用时间;根据集群空闲资源和任务的不同资源需求决定任务合并共享GPU的最优分组策略和在集群中的最优放置策略,将任务下发至计算节点执行。本发明将资源需求差异大的任务进行合并,共享GPU资源和计算节点资源,减小资源争抢带来的干扰,提升集群资源利用率。将GPU独占式机制和共享机制结合使用,缩短任务平均完成时间。通过实验对比分析提出的资源调度方案的优越性和有效性。

Description

一种多资源感知的GUP共享动态资源调度方法及系统
技术领域
本发明涉计算机技术领域,尤其涉及一种多资源感知的GUP共享动态资源调度方法及系统。
背景技术
现有深度学习集群调度研究大多数采用类似于GPU独占式机制,每个GPU同时最多只分配给一个任务使用。这种独占式调度的优势在于可以尽可能避免GPU多任务共享带来的性能干扰,另一方面也可以降低调度难度而不需要考虑多任务GPU共享的需求条件。但由于深度学习训练任务具有独特的分阶段、迭代计算模式,GPU独占式机制会导致任务执行过程中如参数同步阶段出现GPU资源空闲等待不能被充分利用的情况。
多任务共享GPU机制给进一步提高GPU资源利用率,缩短任务排队时间和任务平均完成时间带来了机会。现有基于GPU共享的资源调度主要分为两类:时分复用的方式利用了深度学习训练过程中不同阶段资源的需求差异,不同任务占用不同时间片共享GPU资源,具有较大的上下文切换开销;合并共享的方式大多仅从GPU资源一个维度考虑减少多任务合并带来的干扰,忽略深度学习任务的多种资源类型需求,导致同一计算节点中的任务争抢CPU、内存和网络等资源,这两种方式为减小开销和干扰大多将合并任务数限制为两个,均未达到理想的加速训练效果。
发明内容
本发明提供了一种多资源感知的GUP共享动态资源调度方法及系统,解决现有技术中忽略深度学习任务的多种资源类型需求,导致同一计算节点中的任务争抢CPU、内存和网络等资源,未达到理想的加速训练效果的问题。
为解决上述发明目的,本发明提供的技术方案如下:一种多资源感知的GUP共享动态资源调度方法,其特征在于,步骤包括:
S1、离线获取每个深度学习任务在不同GPU数量上的平均单次迭代时间;
S2、离线记录每次迭代中的数据加载、数据预处理、前向和反向传播、参数同步四个阶段的平均持续时间作为每种资源类型的占用时间;
S3、根据集群空闲资源和任务的不同资源需求决定任务合并共享GPU的最优分组策略和在集群中的最优放置策略,将任务下发至计算节点执行,完成多资源感知的GUP共享动态资源调度。
优选地,步骤S3中,根据集群空闲资源和任务的不同资源需求决定任务合并共享GPU的最优分组策略和在集群中的最优放置策略,将任务下发至计算节点执行,完成多资源感知的GUP共享动态资源调度,包括:
根据不同深度学习任务的不同阶段资源需求差异,进行多资源感知的GPU共享资源调度的分析;
将优化问题扩展至多GPU深度学习任务,放开共享GPU的任务数限制,考虑参数同步并行的等待时间;
基于KM算法的多轮启发式算法寻找每个深度学习任务的最优GPU共享分组计划;
根据集群空闲GPU资源和任务总GPU资源需求情况,将GPU独占式调度和GPU共享调度结合使用;使用二维优先级策略,在固定时间间隔进行轮转调度,完成多资源感知的GUP共享动态资源调度。
优选地,根据不同深度学习任务的不同阶段资源需求差异,进行多资源感知的GPU共享资源调度的分析,括:
基于深度学习任务的迭代特性,在任务层面执行一次多资源感知的GPU合并共享资源调度,运行多次迭代交叉使用不同资源。
优选地,基于深度学习任务的迭代特性,在任务层面执行一次多资源感知的GPU合并共享资源调度,包括:
对于每个任务,GPU资源需求度可定义为GPU资源阶段占一次迭代时间的比例如下述公式(1)所示:
其中,tg表示任务使用GPU资源的持续时间,t表示该任务单独运行一次迭代的持续时间。γg越大则任务在GPU资源上存在瓶颈。
优选地,运行多次迭代交叉使用不同资源,包括:
定义任务i使用资源j的持续时间为当交叉两个任务的不同阶段时,两个任务一次迭代的持续时间T如下述公式(2)所示:
对于资源j,它在两个任务合并交叉后的空闲时间为空闲时间的比例是
对于两种资源类型,空闲时间的平均比例ηi如下述公式(3)所示:
则两个任务的二维资源需求差异度定义如下述公式(4)所示:
优选地,步骤S2还包括:
从考虑多资源的单GPU深度学习任务出发,将共享GPU的任务数量限制为两个,引入任务分类策略避免将具有同类型资源瓶颈的任务进行合并带来干扰,将双任务共享GPU问题建模为二分图最大权完美匹配问题,采用KM算法寻找最大化总资源需求差异度的最优任务分组计划。
优选地,将双任务共享GPU问题建模为二分图最大权完美匹配问题,采用KM算法寻找最大化总资源需求差异度的最优任务分组计划,包括:
将最优分组问题转化为二分图最大权完美匹配问题,构建一个二分图G(V,E),顶点V可分割为两个互不相交的子集(X,Y),并且图中的每条边(x,y)所关联的两个顶点x和y分别属于这两个不同的顶点集,其中子集X和Y分别代表GPU资源敏感组和非GPU资源敏感组,每个节点υ∈V代表一个任务,每条边(x,y)∈E表示将任务x和任务y合并分组,使用资源需求差异度ηx,y作为每条边的权重,二分图G的匹配M是一组边,其中没有两条边共享一个顶点。
一种多资源感知的GUP共享动态资源调度系统,系统用于上述的多资源感知的GUP共享动态资源调度方法,系统包括:
集群资源监控模块,用于离线获取每个深度学习任务在不同GPU数量上的平均单次迭代时间;
任务多资源需求分析模块,用于离线记录每次迭代中的数据加载、数据预处理、前向和反向传播、参数同步四个阶段的平均持续时间作为每种资源类型的占用时间;
任务资源调度模块,用于根据集群空闲资源和任务的不同资源需求决定任务合并共享GPU的最优分组策略和在集群中的最优放置策略,将任务下发至计算节点执行,完成多资源感知的GUP共享动态资源调度。
优选地,任务资源调度模块,进一步用于根据不同深度学习任务的不同阶段资源需求差异,进行多资源感知的GPU共享资源调度的分析;
将优化问题扩展至多GPU深度学习任务,放开共享GPU的任务数限制,考虑参数同步并行的等待时间;
基于KM算法的多轮启发式算法寻找每个深度学习任务的最优GPU共享分组计划;
根据集群空闲GPU资源和任务总GPU资源需求情况,将GPU独占式调度和GPU共享调度结合使用;使用二维优先级策略,在固定时间间隔进行轮转调度,完成多资源感知的GUP共享动态资源调度。
优选地,任务资源调度模块,进一步用于基于深度学习任务的迭代特性,在任务层面执行一次多资源感知的GPU合并共享资源调度,运行多次迭代交叉使用不同资源。
一方面,提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述多资源感知的GUP共享动态资源调度方法。
一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述多资源感知的GUP共享动态资源调度方法。
上述技术方案,与现有技术相比至少具有如下有益效果:
上述方案,提出了利用深度学习任务不同阶段的不同资源需求差异,提出一种通用的多资源感知的GPU共享动态资源调度方法,从GPU、CPU、内存和网络四个资源维度出发,引入任务分类策略提出基于KM算法的多轮启发式算法寻找最优任务分组,将资源需求差异大的任务进行合并,共享GPU资源和计算节点资源,减小资源争抢带来的干扰,提升集群资源利用率。将合并任务数扩展至四个,并将GPU独占式机制和共享机制结合使用,缩短任务平均完成时间。通过实验对比分析提出的资源调度方案的优越性和有效性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的多资源感知的GUP共享动态资源调度方法流程示意图;
图2是本发明实施例提供的不同深度学习模型单次迭代中不同阶段时间占比图;
图3是本发明实施例提供的多任务共享GPU的优势图;
图4是本发明实施例提供的二维资源需求差异度图;
图5是本发明实施例提供的多维资源需求差异度图;
图6是本发明实施例提供的同一资源类型上存在瓶颈的任务进行合并图;
图7是本发明实施例提供的二分图最大权完美匹配问题图;
图8是本发明实施例提供的任务执行时间未知时MRAS不同算法设计对比图;
图9是本发明实施例提供的任务执行时间已知时不同调度方案对比图;
图10是本发明实施例提供的任务执行时间未知时不同调度方案对比图;
图11是本发明实施例提供的队列中不同任务种类数量下不同调度方案对比图;
图12是本发明实施例提供的任务执行时间未知时不同合并任务数量下调度方案对比图;
图13是本发明实施例提供的多资源感知的GUP共享动态资源调度系统框图;
图14是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明针对现有技术中忽略深度学习任务的多种资源类型需求,导致同一计算节点中的任务争抢CPU、内存和网络等资源,未达到理想的加速训练效果的问题,提供了一种多资源感知的GUP共享动态资源调度方法和系统。
如图1所示,本发明实施例提供了一种多资源感知的GUP共享动态资源调度方法,该方法可以由电子设备实现。如图1所示的多资源感知的GUP共享动态资源调度方法流程图,该方法的处理流程可以包括如下的步骤:
S101、离线获取每个深度学习任务在不同GPU数量上的平均单次迭代时间;
一种可行的实施方式中,本发明针对GPU共享资源调度中存在的资源争抢问题,利用不同深度学习任务的资源需求差异性对合并共享调度进行优化,提出了一种多资源感知的GUP共享动态资源调度方法。首先根据不同深度学习任务的不同阶段资源需求差异,分析多资源感知的GPU共享资源调度的可行性及优势。从考虑多资源的单GPU深度学习任务出发,将共享GPU的任务数量限制为两个,引入任务分类策略避免将具有同类型资源瓶颈的任务进行合并带来干扰,将双任务共享GPU问题建模为二分图最大权完美匹配问题,采用KM算法寻找最大化总资源需求差异度的最优任务分组计划。然后将优化问题扩展至多GPU深度学习任务,放开共享GPU的任务数限制,考虑参数同步并行的等待时间,提出基于KM算法的多轮启发式算法寻找每个深度学习任务的最优GPU共享分组计划。采用贪心的任务放置策略,最小化GPU资源碎片化。并根据集群空闲GPU资源和任务总GPU资源需求情况,将GPU独占式调度和GPU共享调度结合使用。同时摆脱分布式训练的架构限制,使用二维优先级策略,以固定时间间隔进行轮转调度。
一种可行的实施方式中,从GPU、CPU、内存和网络四个资源维度出发,引入任务分类策略提出基于KM算法的多轮启发式算法寻找最优任务分组,将资源需求差异大的任务进行合并,共享GPU资源和计算节点资源,减小资源争抢带来的干扰,提升集群资源利用率。
一种可行的实施方式中,多资源感知的GPU共享动态资源调度流程如图1所示。任务多资源需求分析模块负责在调度前,离线获取每个深度学习任务在不同GPU数量上的平均单次迭代时间,并记录每次迭代中的数据加载、数据预处理、前向和反向传播、参数同步四个阶段的平均持续时间作为每种资源类型的占用时间。由于分布式训练架构仅对任务离线多资源需求分析环节有所影响,后续在线调度过程中并不涉及,因此摆脱了大多研究中基于某一特定分布式训练架构建模的限制,用户可以根据实际需求向任务队列中提交指定不同参数同步架构的深度学习任务,满足了任务多样化需求。
S102、离线记录每次迭代中的数据加载、数据预处理、前向和反向传播、参数同步四个阶段的平均持续时间作为每种资源类型的占用时间。
一种可行的实施方式中,在一台配备2个NVIDIA T4 GPU的云服务器上采用数据同步并行模式参数服务器架构训练四种主流的深度学习模型,利用PyTorch Profiler记录单次迭代中每个阶段的持续时间,将每个阶段的时间除以一次迭代的持续时间计算出不同阶段占用时间百分比,图2中的数据展示出了不同深度学习模型的不同阶段时间占比差异,反映出不同模型的资源需求差异。
共享同一GPU的不同任务首先会在训练过程中共享GPU资源,并且会放置于同一计算节点中共享CPU、内存和网络等资源。因此可以利用不同任务之间不同阶段的资源需求差异,不同任务之间交替使用不同的资源类型,当某个任务在高度使用一种资源时将其余空闲资源分给其他任务使用,实现细粒度的多资源分配。
S103、根据集群空闲资源和任务的不同资源需求决定任务合并共享GPU的最优分组策略和在集群中的最优放置策略,将任务下发至计算节点执行,完成多资源感知的GUP共享动态资源调度。
一种可行的实施方式中,步骤S103中,根据集群空闲资源和任务的不同资源需求决定任务合并共享GPU的最优分组策略和在集群中的最优放置策略,将任务下发至计算节点执行,完成多资源感知的GUP共享动态资源调度,包括:
根据不同深度学习任务的不同阶段资源需求差异,进行多资源感知的GPU共享资源调度的分析;
将优化问题扩展至多GPU深度学习任务,放开共享GPU的任务数限制,考虑参数同步并行的等待时间;
基于KM算法的多轮启发式算法寻找每个深度学习任务的最优GPU共享分组计划;
根据集群空闲GPU资源和任务总GPU资源需求情况,将GPU独占式调度和GPU共享调度结合使用;使用二维优先级策略,在固定时间间隔进行轮转调度,完成多资源感知的GUP共享动态资源调度。
一种可行的实施方式中,根据不同深度学习任务的不同阶段资源需求差异,进行多资源感知的GPU共享资源调度的分析,括:
基于深度学习任务的迭代特性,在任务层面执行一次多资源感知的GPU合并共享资源调度,运行多次迭代交叉使用不同资源。
一种可行的实施方式中,图3说明了多任务共享GPU的优势,有四个深度学习任务分别是A、B、C和D,且它们的资源需求存在差异。如果采用GPU独占式调度,每次只能运行一个任务,一次迭代时间内计算节点中的内存、CPU等资源存在空闲。
一种可行的实施方式中,基于深度学习任务的迭代特性,在任务层面执行一次多资源感知的GPU合并共享资源调度,包括:
对于每个任务,GPU资源需求度可定义为GPU资源阶段占一次迭代时间的比例如下述公式(1)所示:
其中,tg表示任务使用GPU资源的持续时间,t表示该任务单独运行一次迭代的持续时间。γg越大则任务在GPU资源上存在瓶颈。
一种可行的实施方式中,运行多次迭代交叉使用不同资源,包括:
定义任务i使用资源j的持续时间为当交叉两个任务的不同阶段时,两个任务一次迭代的持续时间T如下述公式(2)所示:
对于资源j,它在两个任务合并交叉后的空闲时间为空闲时间的比例是
对于两种资源类型,空闲时间的平均比例ηi如下述公式(3)所示:
则两个任务的二维资源需求差异度定义如下述公式(4)所示:
一种可行的实施方式中,多资源感知的单GPU任务分组算法:
(1)两个任务合并的二维资源需求差异度。
图4将任务资源需求简化为两种,使用具有GPU、CPU两种资源需求的六个任务A、B、C、D、E和F,展示如何交叉任务的不同资源需求阶段以反映两任务之间的资源需求差异程度。
在决定任务队列中哪两个任务进行合并时,需要一个指标衡量两个任务的二维资源需求差异程度。根据图4,可以完美重叠任务所需资源的两个任务资源需求差异更大,该分组计划优于不能完全重叠资源的分组计划。直观上,更大的资源差异度意味着更少的资源空闲时间,因此,将二维资源需求差异度定义η为资源不空闲的时间比例。
(2)两个任务合并的多维资源需求差异度
如图5所示,每次迭代任务A使用三个时间单位的CPU资源,其余资源使用一个时间单位,任务B使用三个时间单位的GPU资源,其余资源使用一个时间单位。图5第二种方式显示了两个任务不同阶段资源完美交叉使用的最佳顺序,图5第一种顺序方式会引入资源空闲时间,导致多维资源差异度计算不准确。由于资源类型最多为四种,采用枚举的方式找到最优的顺序来得到准确的多维资源差异度。确定了排序后,一次迭代的持续时间T可以表示为:
其中k是资源类型的数量,则多维资源需求差异度可表示为:
(3)任务分类策略
如图6所示,两个任务多维资源需求差异度,理想情况可以完美交叉使用资源,但两个任务均是在同一类型资源即GPU上存在瓶颈,实际情况下合并后会争用GPU资源导致训练效率低下,所以为避免将两个在同一资源类型上存在瓶颈的任务合并,需要首先将同一类型资源存瓶颈的任务划分开。
一种可行的实施方式中,步骤S103还包括:
从考虑多资源的单GPU深度学习任务出发,将共享GPU的任务数量限制为两个,引入任务分类策略避免将具有同类型资源瓶颈的任务进行合并带来干扰,将双任务共享GPU问题建模为二分图最大权完美匹配问题,采用KM算法寻找最大化总资源需求差异度的最优任务分组计划。
一种可行的实施方式中,多资源感知的单GPU任务分组算法:
对于n个任务,需要寻找最优的分组策略,使整个分组计划的总二维资源需求差异度最大,减小合并共享GPU资源争抢带来的干扰。
KM算法是一种多项式算法,改进的KM算法可以在时间O(n3)内找到一个最大权匹配。KM算法的伪代码如下所示:
如图7所示,连接节点并计算多维资源需求差异度作为每条边的权重。多资源感知单GPU任务分组算法伪代码如下所示:
一种可行的实施方式中,多资源感知的多GPU任务分组算法:
将最优分组问题扩展至考多GPU深度学习任务,并放开共享GPU的任务数限制。由于同一时间最多将四种资源进行交替使用,则将共享GPU的任务数最大限制为四个。
(1)多个任务合并的多维资源需求差异度
若要将p(p≤4)个任务合并,确定各阶段顺序后一次迭代的持续时间T可以表示为:
将P个任务合并的多维资源需求差异度可以表示为:
确定p个任务的资源交替使用顺序,寻找准确的多维资源需求差异度算法伪代码如下所示:
将最优分组问题扩展至考多GPU深度学习任务,并放开共享GPU的任务数限制。由于同一时间最多将四种资源进行交替使用,则将共享GPU的任务数最大限制为四个。
将每个任务的不同阶段时间数组进行全排列,采用循环嵌套方法找出p个任务的所有资源交替使用顺序,计算出相应顺序下多维资源需求差异度,选择其中的最大值作为p个任务的准确多维资源需求差异度。
(2)多资源感知的多GPU任务分组算法
在数据并行方式下,每个工作节点在每次迭代结束时需要进行参数同步,在同步并行方式下,各个工作节点需要在参数更新前同步,只有当所有工作节点完整地更新参数后,下一轮计算才能开始,此时任务的执行速度取决于最慢的工作节点。
当共享GPU的任务数p大于2时,考虑在p维超图上匹配p个任务。首先将n个任务按照公式(1)计算的GPU资源需求大小进行排序,分成p组,构建一个超图,每个节点代表一个任务,顶点可分割为p个互不相交的子集,每条超边表示对p个节点进行合并分组,的权重为对应的p个任务的多维资源需求差异度。寻找最优分组方案转化为寻找超图上的最大加权匹配。在上一节的基础上设计了一种多轮启发式算法来处理多维资源的多任务分组问题,伪代码如下所示:
根据优先级从任务队列中选择n(n为偶数)个待执行任务,合并任务数为p时,选取的n个待执行任务的总GPU资源需求需要小于等于集群中总GPU数量的p倍。将n个待执行任务划分为p组,首先利用前两组任务构建二分图,每条边的权重利用算法2进行求解,然后使用改进的KM算法1求解二分图的最大权匹配,将匹配中的每一对任务合并为一个任务,下一轮迭代时将合并后的任务与第三组任务构建二分图进行匹配,迭代执行p-1次。
(3)GPU独占式机制和共享机制结合
当任务队列中的任务资源需求超出集群空闲资源总量时,合并共享任务可以在同一时间内处理更多任务,有效缩短多任务平均完成时间。但对于每个单独的任务来说,共享资源会导致任务训练时间有所延长。因此每次调度时检查任务队列中的任务资源总需求和集群空闲资源总量,当集群资源能完全满足任务需求时,跳过分组策略采用GPU独占式机制,保证任务达到最快训练速度;当任务资源需求超出集群资源总量范围,采用GPU合并共享机制,两种机制相结合,进一步缩短任务平均完成时间。
一种可行的实施方式中,将双任务共享GPU问题建模为二分图最大权完美匹配问题,采用KM算法寻找最大化总资源需求差异度的最优任务分组计划,包括:
将最优分组问题转化为二分图最大权完美匹配问题,构建一个二分图G(V,E),顶点V可分割为两个互不相交的子集(X,Y),并且图中的每条边(x,y)所关联的两个顶点x和y分别属于这两个不同的顶点集,其中子集X和Y分别代表GPU资源敏感组和非GPU资源敏感组,每个节点υ∈V代表一个任务,每条边(x,y)∈E表示将任务x和任务y合并分组,使用资源需求差异度ηx,y作为每条边的权重,二分图G的匹配M是一组边,其中没有两条边共享一个顶点。
一种可行的实施方式中,本发明实施例中采用Python语言编写了一个事件驱动的仿真程序,模拟了同构集群的架构、集群中节点的资源配置、深度学习任务的到达、合并、执行、完成和争用操作,并进行了MRAS调度算法和其他对比调度算法的实现。
将同构机器学习集群的节点数量设置为4个,每个节点配有8个GPU、24核CPU和512GB内存。
表1模拟实验中使用的深度学习模型相关信息
深度学习模型选取了分别在内存、CPU、GPU和网络四类资源上存在瓶颈的八种模型,具体信息如表1所示。使用PyTorch Profiler分别获取GPU数量为1、2、4和8时训练每种模型的平均单次迭代时间,并记录每次迭代中的数据加载、数据预处理、前向和反向传播、参数同步四个阶段的平均持续时间作为每种资源类型的占用时间,为MRAS调度提供离线数据支持。
对该数据流进行预处理生成的任务队列信息如表2所示,生成任务队列长度分别为1000、1500、3000和6000的四种队列,使用数据流中提供的任务GPU需求、提交时间和执行时间数据,其中任务的GPU需求数量可取值为1、2、4和8。
A组四个队列中任务到达间隔设定为服从泊松分布;B组四个队列任务到达时间全部为0时刻。又生成三个长度为1000的队列,随机选取的深度学习任务种类分别限制为1、2和3种便于后续进行对比实验。
表2模拟实验中使用的任务队列相关信息
一种可行的实施方式中,算法结果比对:
(1)不同算法设计对比
MRAS通过寻找不同深度学习任务不同阶段的最佳资源使用顺序,计算出准确的多维资源需求差异度,然后采用基于KM算法的多轮启发式算法获得GPU合并共享的最优分组。为了展示这两个算法设计的优势,在任务执行时间未知时将MRAS-N与两种变体MRAS-1和MRAS-2进行比较,MRAS-1表示使用最差的资源使用顺序计算多维资源需求差异度进行分组求解,MRAS-2表示在分组求解时不采用KM算法而是将具有相同GPU需求的任务按照优先级顺序合并。
图8所示,不同任务队列下MRAS-1相比于MRAS-N将平均JCT平均延长了36%,将Makespan平均延长了17%,验证了计算出准确多维资源需求差异度的重要性。MRAS-2相比于MRAS-N将平均JCT平均延长了12%,将平均Makespan延长了5%,验证了基于KM算法的多轮启发式分组算法的有效性。
(2)不同调度方案对比
从深度学习任务执行时间已知和未知两种情况考虑将MRAS与其他调度方案进行对比分析。可根据任务执行时间已知和未知情况分别计算任务优先级,分别用MRAS-Y和MRAS-N进行表示。
任务执行时间已知情况下将MRAS-Y与SRTF和SRSF进行比较,如图9所示,四种不同队列长度和两种不同任务到达时间分布下,MRAS-Y的性均优于SRTF和SRSF。SRTF调度方案下平均JCT是MRAS-Y的1.53到2.13倍,Makespan是MRAS-Y的1.45到1.62倍,99%尾部JCT是MRAS-Y的1.47到1.61倍。
因此,MRAS-Y相比于SRTF可将平均JCT缩短34%到53%,Makespan缩短31%到38%。SRSF调度方案下平均JCT是MRAS-Y的1.35到2.21倍,Makespan是MRAS-Y的1.44到1.61倍,99%尾部JCT是MRAS-Y的1.44到1.62倍。因此,MRAS-Y相比于SRSF可将平均JCT缩短25%到54%,Makespan缩短30%到37%。MRAS-Y在三个指标上均反映出了较好的加速训练效果。
任务执行时间未知时将MRAS-N与Tiresias、Themis和AntMan进行比较,这些算法的实现不基于任务执行时间信息进行资源调度。
如图10所示,MRAS-N的性能均优于Tiresias、Themis和AntMan。AntMan调度方案下平均JCT是MRAS-N的2.62到5.06倍,Makespan是MRAS-N的1.24到1.51倍,99%尾部JCT是MRAS-N的1.44到2.01倍,因此,MRAS-N相比于AntMan可将平均JCT缩短61%到80%,Makespan缩短19%到33%。Tiresias调度方案下平均JCT是MRAS-N的1.45到3.13倍,Makespan是MRAS-N的1.40到1.58倍,99%尾部JCT是MRAS-N的1.41到2倍,因此,MRAS-N相比于Tiresias可将平均JCT缩短31%到69%,Makespan缩短29%到50%。Themis调度方案下平均JCT是MRAS-N的1.28到2.29倍,Makespan是MRAS-N的1.44到1.58倍,99%尾部JCT是MRAS-N的1.29到2.18倍,因此,MRAS-N相比于Tiresias可将平均JCT缩短21%到56%,Makespan缩短30%到36%。
当任务执行时间未知时,MRAS缩短平均JCT的效果比任务执行时间已知时好,因为任务执行时间未知时决定优先调度哪些任务以降低任务平均JCT更具有挑战性,此时SRTF的性能优于Tiresias和Themis,并且MRAS可以同时执行更多的任务,所以任务的优先级正确选择对平均JCT影响较小。AntMan由于采用基于FIFO的非抢占式调度,并不适用于缩短平均JCT的调度场景,但它采用GPU共享调度,缩短Makespan和99%尾部JCT的效果好于Tiresias和Themis。
将任务队列中任务提交时间均设置为0时,集群中的任务密度变大,多任务合并带来的加速训练效果更加明显,MRAS缩短任务Makespan的效果好于任务按照泊松分布时间间隔到达的情况。
(3)不同任务种类数量下调度策略对比
表1中选取的深度学习任务包含四种类型的八个模型,他们分别在内存、CPU、GPU和网络资源上存在瓶颈。如图11所示,在任务执行时间已知和未知情况下,随着队列中任务种类数量增加,MRAS缩短平均JCT的效果均逐渐变好。当任务队列中只存在一类任务时,资源交叉使用机会有限,资源争抢导致GPU合并共享的效果并不明显,MRAS的表现类似于SRTF和Tiresias。当任务队列中存在多类任务时,合并共享GPU的任务可以交叉使用不同类型的资源,到达良好的加速训练效果。只有两种任务类型时,MRAS-Y相比于SRTF可将平均JCT缩短22%,MRAS-N相比于Tiresias可将平均JCT缩短40%。队列中任务类型达到四种时,MRAS-Y相比于SRTF可将平均JCT缩短53%,MRAS-N相比于Tiresias可将平均JCT缩短68%。
(4)不同合并任务数量限制下调度策略对比
将MRAS-N中共享同一GPU的合并任务数从2调整到4,分别用MRAS-N-2、MRAS-N-3和MRAS-N-4表示。为了更好的说明合并任务数的影响,选取任务到达时间均为0时刻的四个队列进行实验。如图12所示,任务执行时间未知时MRAS-N在不同队列长度和不同合并任务数下的性能均优于AntMan。MRAS-N策略下平均JCT和Makespan与合并任务数呈负相关,表明多任务共享GPU的有效性。合并任务数为2和3时,MRAS-N在平均JCT和Makespan上的改进相差不大,说明将更多的任务进行合并可能会带来更激烈的资源抢占,影响了任务合并带来的加速训练效果,合并任务数为4时带来了足够的加速训练效果。
本发明实施例中,通过大规模集群模拟实验将所提出的多资源感知的GPU共享动态资源调度方法与多个GPU共享调度方法进行对比,在任务执行时间已知时,该方案与SRTF相比可将平均任务完成时间缩短34%到53%,与SRSF相比可缩短25%到54%。任务执行时间未知时,该方法与AntMan相比可将平均任务完成时间缩短61%到80%,与Tiresias相比可缩短31%到69%,与Themis相比可缩短21%到56%。并验证了不同算法设计、不同任务类型比例和不同合并任务数量限制下该调度方法均具有良好的加速训练效果。
图13是本发明的一种多资源感知的GUP共享动态资源调度系统示意图,所述系统200用于上述的多资源感知的GUP共享动态资源调度方法,所述系统200包括:
集群资源监控模块210,用于离线获取每个深度学习任务在不同GPU数量上的平均单次迭代时间;
任务多资源需求分析模块220,用于离线记录每次迭代中的数据加载、数据预处理、前向和反向传播、参数同步四个阶段的平均持续时间作为每种资源类型的占用时间;
任务资源调度模块230,用于根据集群空闲资源和任务的不同资源需求决定任务合并共享GPU的最优分组策略和在集群中的最优放置策略,将任务下发至计算节点执行,完成多资源感知的GUP共享动态资源调度。
优选地,任务资源调度模块230,进一步用于根据不同深度学习任务的不同阶段资源需求差异,进行多资源感知的GPU共享资源调度的分析;
将优化问题扩展至多GPU深度学习任务,放开共享GPU的任务数限制,考虑参数同步并行的等待时间;
基于KM算法的多轮启发式算法寻找每个深度学习任务的最优GPU共享分组计划;
根据集群空闲GPU资源和任务总GPU资源需求情况,将GPU独占式调度和GPU共享调度结合使用;使用二维优先级策略,在固定时间间隔进行轮转调度,完成多资源感知的GUP共享动态资源调度。
优选地,任务资源调度模块230,进一步用于基于深度学习任务的迭代特性,在任务层面执行一次多资源感知的GPU合并共享资源调度,运行多次迭代交叉使用不同资源。
优选地,基于深度学习任务的迭代特性,在任务层面执行一次多资源感知的GPU合并共享资源调度,包括:
对于每个任务,GPU资源需求度可定义为GPU资源阶段占一次迭代时间的比例如下述公式(1)所示:
其中,tg表示任务使用GPU资源的持续时间,t表示该任务单独运行一次迭代的持续时间。γg越大则任务在GPU资源上存在瓶颈。
优选地,运行多次迭代交叉使用不同资源,包括:
定义任务i使用资源j的持续时间为当交叉两个任务的不同阶段时,两个任务一次迭代的持续时间T如下述公式(2)所示:
对于资源j,它在两个任务合并交叉后的空闲时间为空闲时间的比例是
对于两种资源类型,空闲时间的平均比例ηi如下述公式(3)所示:
则两个任务的二维资源需求差异度定义如下述公式(4)所示:
优选地,从考虑多资源的单GPU深度学习任务出发,将共享GPU的任务数量限制为两个,引入任务分类策略避免将具有同类型资源瓶颈的任务进行合并带来干扰,将双任务共享GPU问题建模为二分图最大权完美匹配问题,采用KM算法寻找最大化总资源需求差异度的最优任务分组计划。
优选地,将双任务共享GPU问题建模为二分图最大权完美匹配问题,采用KM算法寻找最大化总资源需求差异度的最优任务分组计划,包括:
将最优分组问题转化为二分图最大权完美匹配问题,构建一个二分图G(V,E),顶点V可分割为两个互不相交的子集(X,Y),并且图中的每条边(x,y)所关联的两个顶点x和y分别属于这两个不同的顶点集,其中子集X和Y分别代表GPU资源敏感组和非GPU资源敏感组,每个节点υ∈V代表一个任务,每条边(x,y)∈E表示将任务x和任务y合并分组,使用资源需求差异度ηx,y作为每条边的权重,二分图G的匹配M是一组边,其中没有两条边共享一个顶点。
本发明实施例中,根据不同深度学习任务的不同阶段资源需求差异,分析多资源感知的GPU共享资源调度的可行性及优势。从考虑多资源的单GPU深度学习任务出发,将共享GPU的任务数量限制为两个,引入任务分类策略避免将具有同类型资源瓶颈的任务进行合并带来干扰,将双任务共享GPU问题建模为二分图最大权完美匹配问题,采用KM算法寻找最大化总资源需求差异度的最优任务分组计划。然后将优化问题扩展至多GPU深度学习任务,放开共享GPU的任务数限制,考虑参数同步并行的等待时间,提出基于KM算法的多轮启发式算法寻找每个深度学习任务的最优GPU共享分组计划。采用贪心的任务放置策略,最小化GPU资源碎片化。并根据集群空闲GPU资源和任务总GPU资源需求情况,将GPU独占式调度和GPU共享调度结合使用。同时摆脱分布式训练的架构限制,使用二维优先级策略,以固定时间间隔进行轮转调度。
图14是本发明实施例提供的一种电子设备300的结构示意图,该电子设备300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)301和一个或一个以上的存储器302,其中,所述存储器302中存储有至少一条指令,所述至少一条指令由所述处理器301加载并执行以实现下述多资源感知的GUP共享动态资源调度方法的步骤:
S1、线获取每个深度学习任务在不同GPU数量上的平均单次迭代时间;
S2、离线记录每次迭代中的数据加载、数据预处理、前向和反向传播、参数同步四个阶段的平均持续时间作为每种资源类型的占用时间;
S3、根据集群空闲资源和任务的不同资源需求决定任务合并共享GPU的最优分组策略和在集群中的最优放置策略,将任务下发至计算节点执行,完成多资源感知的GUP共享动态资源调度。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述多资源感知的GUP共享动态资源调度方法。例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

Claims (10)

1.一种多资源感知的GUP共享动态资源调度方法,其特征在于,方法步骤包括:
S1、离线获取每个深度学习任务在不同GPU数量上的平均单次迭代时间;
S2、离线记录每次迭代中的数据加载、数据预处理、前向和反向传播、参数同步四个阶段的平均持续时间作为每种资源类型的占用时间;
S3、根据集群空闲资源和任务的不同资源需求决定任务合并共享GPU的最优分组策略和在集群中的最优放置策略,将任务下发至计算节点执行,完成多资源感知的GUP共享动态资源调度。
2.根据权利要求1所述的方法,其特征在于,所述步骤S3中,根据集群空闲资源和任务的不同资源需求决定任务合并共享GPU的最优分组策略和在集群中的最优放置策略,将任务下发至计算节点执行,完成多资源感知的GUP共享动态资源调度,包括:
根据不同深度学习任务的不同阶段资源需求差异,进行多资源感知的GPU共享资源调度的分析;
将优化问题扩展至多GPU深度学习任务,放开共享GPU的任务数限制,考虑参数同步并行的等待时间;
基于KM算法的多轮启发式算法寻找每个深度学习任务的最优GPU共享分组计划;
根据集群空闲GPU资源和任务总GPU资源需求情况,将GPU独占式调度和GPU共享调度结合使用;使用二维优先级策略,在固定时间间隔进行轮转调度,完成多资源感知的GUP共享动态资源调度。
3.根据权利要求1所述的方法,其特征在于,所述根据不同深度学习任务的不同阶段资源需求差异,进行多资源感知的GPU共享资源调度的分析,括:
基于深度学习任务的迭代特性,在任务层面执行一次多资源感知的GPU合并共享资源调度,运行多次迭代交叉使用不同资源。
4.根据权利要求3所述的方法,其特征在于,所述基于深度学习任务的迭代特性,在任务层面执行一次多资源感知的GPU合并共享资源调度,包括:
对于每个任务,GPU资源需求度可定义为GPU资源阶段占一次迭代时间的比例如下述公式(1)所示:
其中,tg表示任务使用GPU资源的持续时间,t表示该任务单独运行一次迭代的持续时间。γg越大则任务在GPU资源上存在瓶颈。
5.根据权利要求4所述的方法,其特征在于,所述运行多次迭代交叉使用不同资源,包括:
定义任务i使用资源j的持续时间为当交叉两个任务的不同阶段时,两个任务一次迭代的持续时间T如下述公式(2)所示:
对于资源j,它在两个任务合并交叉后的空闲时间为空闲时间的比例是
对于两种资源类型,空闲时间的平均比例ηi如下述公式(3)所示:
则两个任务的二维资源需求差异度定义如下述公式(4)所示:
6.根据权利要求5所述的方法,其特征在于,所述步骤S3还包括:
从考虑多资源的单GPU深度学习任务出发,将共享GPU的任务数量限制为两个,引入任务分类策略避免将具有同类型资源瓶颈的任务进行合并带来干扰,将双任务共享GPU问题建模为二分图最大权完美匹配问题,采用KM算法寻找最大化总资源需求差异度的最优任务分组计划。
7.根据权利要求6所述的方法,其特征在于,所述将双任务共享GPU问题建模为二分图最大权完美匹配问题,采用KM算法寻找最大化总资源需求差异度的最优任务分组计划,包括:
将最优分组问题转化为二分图最大权完美匹配问题,构建一个二分图G(V,E),顶点V可分割为两个互不相交的子集(X,Y),并且图中的每条边(x,y)所关联的两个顶点x和y分别属于这两个不同的顶点集,其中子集X和Y分别代表GPU资源敏感组和非GPU资源敏感组,每个节点υ∈V代表一个任务,每条边(x,y)∈E表示将任务x和任务y合并分组,使用资源需求差异度ηx,y作为每条边的权重,二分图G的匹配M是一组边,其中没有两条边共享一个顶点。
8.一种多资源感知的GUP共享动态资源调度系统,其特征在于,所述系统用于如权利要求1~7任意一项所述的多资源感知的GUP共享动态资源调度方法,所述系统包括:
集群资源监控模块,用于离线获取每个深度学习任务在不同GPU数量上的平均单次迭代时间;
任务多资源需求分析模块,用于离线记录每次迭代中的数据加载、数据预处理、前向和反向传播、参数同步四个阶段的平均持续时间作为每种资源类型的占用时间;
任务资源调度模块,用于根据集群空闲资源和任务的不同资源需求决定任务合并共享GPU的最优分组策略和在集群中的最优放置策略,将任务下发至计算节点执行,完成多资源感知的GUP共享动态资源调度。
9.根据权利要求8所述的系统,其特征在于,所述任务资源调度模块,进一步用于根据不同深度学习任务的不同阶段资源需求差异,进行多资源感知的GPU共享资源调度的分析;
将优化问题扩展至多GPU深度学习任务,放开共享GPU的任务数限制,考虑参数同步并行的等待时间;
基于KM算法的多轮启发式算法寻找每个深度学习任务的最优GPU共享分组计划;
根据集群空闲GPU资源和任务总GPU资源需求情况,将GPU独占式调度和GPU共享调度结合使用;使用二维优先级策略,在固定时间间隔进行轮转调度,完成多资源感知的GUP共享动态资源调度。
10.根据权利要求9所述的系统,其特征在于,所述任务资源调度模块,进一步用于基于深度学习任务的迭代特性,在任务层面执行一次多资源感知的GPU合并共享资源调度,运行多次迭代交叉使用不同资源。
CN202310846865.9A 2023-07-11 2023-07-11 一种多资源感知的gup共享动态资源调度方法及系统 Pending CN116880980A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310846865.9A CN116880980A (zh) 2023-07-11 2023-07-11 一种多资源感知的gup共享动态资源调度方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310846865.9A CN116880980A (zh) 2023-07-11 2023-07-11 一种多资源感知的gup共享动态资源调度方法及系统

Publications (1)

Publication Number Publication Date
CN116880980A true CN116880980A (zh) 2023-10-13

Family

ID=88258110

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310846865.9A Pending CN116880980A (zh) 2023-07-11 2023-07-11 一种多资源感知的gup共享动态资源调度方法及系统

Country Status (1)

Country Link
CN (1) CN116880980A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117376423A (zh) * 2023-12-08 2024-01-09 西南民族大学 一种深度学习推理服务调度方法、系统、设备及存储介质
CN117687802A (zh) * 2024-02-02 2024-03-12 湖南马栏山视频先进技术研究院有限公司 一种基于云平台的深度学习并行调度方法、装置和云平台
CN118093208A (zh) * 2024-04-26 2024-05-28 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种多用户gpu集群的深度学习任务调度方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117376423A (zh) * 2023-12-08 2024-01-09 西南民族大学 一种深度学习推理服务调度方法、系统、设备及存储介质
CN117376423B (zh) * 2023-12-08 2024-03-12 西南民族大学 一种深度学习推理服务调度方法、系统、设备及存储介质
CN117687802A (zh) * 2024-02-02 2024-03-12 湖南马栏山视频先进技术研究院有限公司 一种基于云平台的深度学习并行调度方法、装置和云平台
CN117687802B (zh) * 2024-02-02 2024-04-30 湖南马栏山视频先进技术研究院有限公司 一种基于云平台的深度学习并行调度方法、装置和云平台
CN118093208A (zh) * 2024-04-26 2024-05-28 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种多用户gpu集群的深度学习任务调度方法
CN118093208B (zh) * 2024-04-26 2024-07-26 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种多用户gpu集群的深度学习任务调度方法

Similar Documents

Publication Publication Date Title
CN116880980A (zh) 一种多资源感知的gup共享动态资源调度方法及系统
Verma et al. Two sides of a coin: Optimizing the schedule of mapreduce jobs to minimize their makespan and improve cluster performance
CN112416585B (zh) 面向深度学习的gpu资源管理与智能化调度方法
US20210191765A1 (en) Method for static scheduling of artificial neural networks for a processor
CN104765589B (zh) 基于mpi的网格并行预处理方法
US20130290976A1 (en) Scheduling mapreduce job sets
CN113627871A (zh) 一种基于多目标粒子群算法的工作流调度方法、系统及存储介质
JP2022539955A (ja) タスクスケジューリング方法及び装置
Djigal et al. Task scheduling for heterogeneous computing using a predict cost matrix
US20210390405A1 (en) Microservice-based training systems in heterogeneous graphic processor unit (gpu) cluster and operating method thereof
CN113553103B (zh) 基于cpu+gpu异构处理平台的多核并行调度方法
CN109918182A (zh) 虚拟化技术下的多gpu任务调度方法
CN114647515A (zh) 一种面向gpu集群的动态资源调度方法
US10956225B2 (en) Scalable computation and communication methods for domain decomposition of large-scale numerical simulations
Arabnejad et al. Fair resource sharing for dynamic scheduling of workflows on heterogeneous systems
CN116932201A (zh) 一种面向深度学习训练任务的多资源共享调度方法
CN112925616A (zh) 任务分配方法、装置、存储介质及电子设备
CN110275765B (zh) 基于分支dag依赖的数据并行作业调度方法
CN115202848A (zh) 卷积神经网络的任务调度方法、系统、设备及存储介质
Kedad-Sidhoum et al. Scheduling independent tasks on multi-cores with gpu accelerators
Duan et al. Reducing makespans of DAG scheduling through interleaving overlapping resource utilization
CN116244050B (zh) 一种基于高响应比的气动特性算例调度方法
CN114860417B (zh) 多核神经网络处理器及用于该处理器多任务分配调度方法
CN109670001A (zh) 基于cuda的多边形栅格化gpu并行计算方法
Thanh et al. Parallel stochastic simulation of biochemical reaction systems on multi-core processors

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