CN115904666A - 面向gpu集群的深度学习训练任务调度系统 - Google Patents
面向gpu集群的深度学习训练任务调度系统 Download PDFInfo
- Publication number
- CN115904666A CN115904666A CN202211620686.5A CN202211620686A CN115904666A CN 115904666 A CN115904666 A CN 115904666A CN 202211620686 A CN202211620686 A CN 202211620686A CN 115904666 A CN115904666 A CN 115904666A
- Authority
- CN
- China
- Prior art keywords
- task
- training
- gpu
- tasks
- batch size
- 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种面向GPU集群的深度学习训练任务调度系统,包括:离线性能刻画模块和在线任务调度部署模块,离线性能刻画模块分别预测不同训练任务的相似度以确定新提交任务的待采集硬件指标集以及两个训练任务混合部署后产生的性能下降程度,即性能干扰度,并离线采集训练任务在独占GPU模式下不同批大小的计算时间以拟合得到其批大小‑计算时间关系;在线任务调度部署模块从任务队列中取出待调度任务并根据批大小‑计算时间关系以及性能干扰度生成待调度任务的GPU亲和性和批大小分布策略,根据用户提交的训练任务及用户指定的GPU数量分为其分配合适的GPU,即混合部署后性能干扰最小的GPU以最小化平均作业完成时间并提高集群资源利用率,彻底解决GPU集群中,对于部分训练任务无法单独充分利用GPU资源和需要遵守组调度原则的条件下,最大化系统整体吞吐并提高集群资源利用率的问题。
Description
技术领域
本发明涉及的是一种神经网络应用领域的技术,具体是一种面向GPU集群的深度学习训练任务调度系统。
背景技术
现有许多数据中心仍采用通用的集群调度器例如Yarn,Borg等,这些调度系统针对传统大数据应用例如MapReduce而设计。在这些调度系统中,一个DNN训练任务被简单的视作另一类大数据应用,调度系统根据某项调度算法选择任务,对其分配需要的一组GPU并在这组GPU上独占式运行直到结束。
发明内容
本发明针对现有的调度系统无法感知待训练任务的模型和工作负载、不支持对GPU进行共享、无法充分利用GPU的计算能力以及容易出现负载不均衡、某个子任务拖累全局任务的问题,提出一种面向GPU集群的深度学习训练任务调度系统,彻底解决GPU集群中,对于部分训练任务无法单独充分利用GPU资源和需要遵守组调度原则的条件下,最大化系统整体吞吐并提高集群资源利用率的问题。
本发明是通过以下技术方案实现的:
本发明涉及一种面向GPU集群的深度学习训练任务调度系统,包括:离线性能刻画模块和在线任务调度部署模块,其中:离线性能刻画模块分别预测不同训练任务的相似度以确定新提交任务的待采集硬件指标集以及两个训练任务混合部署后产生的性能下降程度,即性能干扰度,并离线采集训练任务在独占GPU模式下不同批大小的计算时间以拟合得到其批大小-计算时间关系;在线任务调度部署模块从任务队列中取出待调度任务并根据批大小-计算时间关系以及性能干扰度生成待调度任务的GPU亲和性和批大小分布策略,根据用户提交的训练任务及用户指定的GPU数量分为其分配合适的GPU,即混合部署后性能干扰最小的GPU以最小化平均作业完成时间并提高集群资源利用率。
所述的GPU亲和性是指:待调度任务部署在GPU上之后的计算速度,计算速度越快,亲和性越高。
所述的离线性能刻画模块将用户提交的训练任务部署在单个预留的专用GPU,收集该训练任务的模型结构特征信息,利用任务相似度预测模型判断该训练任务与系统数据库中现有任务相似度以确定待采集硬件指标集,随后通过少数几次迭代计算收集该任务运行时的硬件指标数据;再根据新训练任务的运行时的硬件指标数据和集群中各GPU上训练中任务相应的硬件指标数据一起输入性能干扰度预测模型,估计得到两个训练任务共享GPU时各自导致的性能下降程度,为在线任务调度部署模块对新训练任务的GPU分配决策提供指导。
由于在线任务调度部署模块允许两个训练进程共享同一个GPU,这种动态混合部署模式将导致分布式训练任务可能存在部分训练进程所在GPU被共享,部分训练进程独占GPU的情况,该情况下被共享GPU的进程由于资源竞争的影响计算速度下降而成为滞后者,使得其他训练进程需要进行同步等待从而延长任务完成时间。通过动态改变训练任务各个进程的批大小保持负载相对均衡状态以消除滞后者影响,即离线性能刻画模块首先对训练任务的<批大小,训练时间>进行采样,获得训练任务在独占GPU下的性能曲线,即批大小-计算时间关系,根据该独占式性能曲线和性能干扰度预测模型推导出训练任务在任意GPU上运行时的批大小-计算时间关系,从而对训练任务的全局批大小进行重新分配以确保各个训练进程在新的批大小分布下计算时间基本相同。
本发明涉及一种基于上述系统的面向GPU集群的深度学习训练任务调度方法,通过对待训练任务进行离线采集和性能刻画后相应将训练任务加入任务调度队列并进行在线资源分配,确定待处理训练任务的目标GPU以及各个GPU上的训练数据量。
所述的离线采集是指:将待训练任务运行在专用预留GPU上,在数据采集过程中修改该训练任务单次迭代计算所处理的样本数,即批大小,并采集<批大小,计算时间>格式的数据样本并计算该训练任务的预计运行时间。
所述的性能刻画是指:根据预计运行时间将待训练任务分类为长作业和短作业,当为长作业时,收集长作业的全部待采集硬件指标数据并将其加入任务调度队列;当为短作业时,收集短作业的结构特征信息用于预测该训练任务与运行中任务的相似度,使用最相似的运行中训练任务对应的非核心硬件指标数据替代新训练任务的对应硬件指标数据后,将其加入任务调度队列。
所述的在线资源分配是指:通过批大小-计算时间关系以及预测出的性能干扰度,根据基于性能干扰度最小原则的调度算法确定待处理训练任务的目标GPU以及各个GPU上的训练数据量。
技术效果
本发明利用模型结构特征信息数据预测不同训练任务的相似性,相比现有技术能够显著缩短短作业的离线采集硬件指标数据所需时间占比,降低离线性能刻画开销。
附图说明
图1为本发明流程图;
图2为利用任务相似度确定待采集硬件指标集示意图;
图3为基于GPU亲和性的调度器执行流程示意图;
图4为实施例流程图。
具体实施方式
本实施例涉及一种面向GPU集群的深度学习训练任务调度系统,包括:离线性能刻画模块和在线任务调度部署模块,其中:离线性能刻画模块分别预测不同训练任务的相似度以确定新提交任务的待采集硬件指标集以及两个训练任务混合部署后产生的性能下降程度,即性能干扰度,并离线采集训练任务在独占GPU模式下不同批大小的计算时间以拟合得到其批大小-计算时间关系;在线任务调度部署模块从任务队列中取出待调度任务并根据批大小-计算时间关系以及性能干扰度生成待调度任务的GPU亲和性和批大小分布策略,根据用户指定的GPU数量分为其分配合适的GPU,即混合部署后性能干扰最小的GPU以最小化平均作业完成时间并提高集群资源利用率。
所述的离线性能刻画模块包括:任务相似度预测单元、硬件信息收集单元、批大小计算时间刻画单元以及性能干扰度预测单元,其中:任务相似度预测单元根据用户提交的训练任务计算图信息,进行计算图的遍历,得到该训练任务的结构特征信息,将其与各个已完成任务的对应结构特征信息共同输入到任务相似度预测模型,得到待处理任务与其他任务的相似度以确定硬件采集指标集;硬件信息收集单元根据任务相似度预测单元确定的硬件采集指标集在专用GPU上部署待处理任务,并利用NSIGHT工具收集对应硬件指标;批大小计算时间刻画单元根据待处理任务在专用GPU上运行时采样的不同批大小对应计算时间,进行数据拟合,得到该任务的批大小-计算时间关系;性能干扰度预测单元将待处理训练任务的硬件指标数据和GPU上运行中任务的硬件指标数据共同输入到性能干扰度预测模型中,得到该两个训练任务共享GPU后各自的性能下降程度。
所述的在线任务调度部署模块包括:基于GPU亲和性的任务调度器、在线任务批大小分配单元以及混部干扰传导效应修正单元,其中:基于GPU亲和性的任务调度器根据非线性整数规划问题,进行贪心算法处理,得到待处理任务的目标部署GPU,在线任务批大小分配单元对待调度任务的批大小进行重新分配,目标为最小化所有训练进程的最大迭代计算时间混部干扰传导效应修正单元单元根据已知部署决策,对所有待处理任务的目标部署GPU进行遍历,对因部署新的训练任务导致的出现严重负载不均衡现象的运行中任务进行批大小重新分配,得到全局的均衡负载状态。
所述的任务相似度是指:当两个任务与基准测试集中的各个训练任务在共享GPU时产生的性能干扰度分布趋势相似度与性能干扰度值相似度的加权和SI=w1SI1+w2SI2,其中:w1,w2为趋势相似度和值相似度权重系数,趋势相似度值相似度<sl11,sl12,...,sl1n>表示模型1与基准测试集中的n个模型共享GPU运行时产生的性能干扰度向量,<sl11,sl12,...,sl1n>表示模型2的性能干扰度向量。
针对每对训练任务a和训练任务b部署到同一GPU上的混部组合<a,b>,分别记录独占GPU和共享GPU状态下100轮迭代的计算时间,计作tsolo_a,tsolo_b,tcolo_a,tcolo_b;则该混部组合对应的性能干扰度为:在建立训练数据集后,以模型的结构特征信息为输入特征,相似度为标签训练预测模型,并采用10折交叉验证选择合适的预测模型。
本实施例中,任务相似度预测模型采用XGBOOST模型。
本实施例涉及基于上述系统的面向GPU集群的深度学习训练任务调度方法,通过对待训练任务进行离线采集和性能刻画后相应将训练任务加入任务调度队列并进行在线资源分配,确定待处理训练任务的目标GPU以及各个GPU上的训练数据量。
本实施例总结具有代表性的深度学习微基准测试并采用斯皮尔曼相关系数筛选出如表1所示14个有很强相关性的硬件指标数据。
表1DNN训练任务混合部署干扰强度与运行指标的相关性
指标 | 斯皮尔曼相关系数 | 指标 | 斯皮尔曼相关系数 |
SM占用率 | -0.85 | Grid大小 | -0.77 |
SM吞吐 | -0.8 | 每个Block的共享内存 | -0.78 |
Kernel运行时间 | -0.76 | 每个线程的寄存器数 | -0.76 |
内存吞吐 | -0.78 | SharedMemory配置大小 | -0.77 |
SMActiveCycles | -0.77 | PCIe读数据量 | - |
L2缓存吞吐 | -0.82 | PCIe写数据量 | - |
DRAM吞吐 | -0.81 | Block限制寄存器数 | 0.72 |
本实施例通过改变两个混和部署任务的硬件指标数据在预测模型输入数据中的相对位置预测不同任务面临的性能干扰度:将任务a与任务b各自对应的运行时硬件指标数据进行拼接作为性能干扰度预测模型的输入则混合部署后任务a的性能干扰度作为输出;任务b与任务a对应的运行时硬件指标数据进行拼接作为性能干扰度预测模型的输入则混合部署后任务b的性能干扰度作为输出。通过采集的528个混合部署实例,本实施例建立性能干扰度预测模型的训练数据集,采用10折交叉验证选择合适的预测模型。
如表2所示,为使用线性回归(LR),K近邻回归,随机森林回归(RFR)和XGBOOST的平均绝对误差,其中:XGBOOST性能最好,因此本发明的性能干扰度预测模型选择XGBOOST。
表2不同预测方法下的性能干扰度平均绝对误差
线性回归 | K近邻回归 | 随机森林回归 | XGBOOST | |
平均绝对误差 | 0.158 | 0.176 | 0.077 | 0.051 |
由于神经网络模型算子数量大的特点,对14个硬件指标数据全部进行性能刻画的时间开销较大。因此,将所有训练任务分为长作业和短作业两类,分类标准为预计运行时间阈值t0。对于每个新训练任务,当其为长作业(预计训练时间大于t0),将对其收集表2所示的全部14个硬件指标,记为S0;若其为短作业,仅收集5个最相关的硬件指标(SM占用率,L2缓存吞吐,DRAM吞吐,PCIe读数据量,PCIe写数据量),记为S1,剩余指标值采用与其最相似的运行中任务的对应数据。基于此,提出利用模型结构特征信息挖掘不同训练任务的相似性。
所述的结构特征信息包括:浮点运算数、模型参数数量、卷积层数量、归一化层数量、激活层数量和输入数据大小。
所述的非线性整数规划问题是指:对于分布式DNN训练任务,由于参数更新的同步要求,每轮迭代时间取决于所有工作进程中的最长计算时间,即:其中:为DNN训练任务j的一次迭代计算时间,Pj为任务j的并行度,即其所需的GPU数量,为训练任务j的第i个训练进程进行一次迭代计算的时间。
训练进程进行一次迭代的计算时间与批大小和任务放置情况有关,即: 其中:bsi为训练任务j的第i个训练进程所分配的批量大小,gji为将任务j的第i个训练任务放置到gji号GPU上。更近一步的,利用离线性能刻画模块采集的数据进行拟合可以得到该训练进程独占GPU时在不同批大小下的预计计算时间。
同时,根据混部性能预测模型得到一次迭代的计算时间其中:SL(gji)为将训练任务进程放置在第gji个GPU上所产生的性能干扰度,当第gji个GPU处于空闲状态,则干扰度为1,否则收集第gji个GPU上运行中任务的相关硬件信息利用离线训练的XGBOOST模型进行预测;Tb(bsji)则为训练进程i在独占模式下工作负载为bsi时的预计计算时间,当调度系统需要部署新的DNN训练任务时,为使得系统吞吐达到最大,调度决策为:目标:其中TPk为待部署任务的训练吞吐,非线性函数∑j∈JTPj为系统运行中任务的训练吞吐之和;约束: 其中:确保训练任务j的所有工作进程的负载总和等于该训练任务的指定工作负载。基于GPU亲和性的任务调度器不仅希望新部署任务所受性能干扰降到最低从而提高该任务的吞吐,同时希望运行中的任务所受干扰同样较小,因此总目标为最大化所有任务吞吐总和。
如图3所示,所述的基于GPU亲和性的任务调度器通过贪心算法寻找近似最优解,具体为:从任务队列中取出待部署任务以及离线性能刻画模块所收集的该任务的运行时硬件指标数据,接着将该任务的运行时硬件指标数据和各个GPU上运行中任务相应数据共同作为输入利用性能干扰度预测器模型预测待调度任务部署在各个GPU上后待调度任务和被共享任务的各自性能干扰度并选择二者之和最小的所需GPU后,通过在线任务批大小分配单元调整待部署任务的批大小分布以均衡工作负载,再通过混部干扰传导效应修正单元对待部署任务的批大小分布调整引起的干扰传导效应进行修正,最后按照生成的GPU和批大小决策部署运行该任务。
所述的调整待部署任务的批大小分布,具体包括:
a)通过离线性能刻画模块得到的批大小-计算时间关系获取各个训练进程在均分批大小下独占GPU的迭代计算时间向量tj={tj1,tj2,...,tjp},该计算时间乘以对应的性能干扰度即为其在混部模式下的预计计算时间t′j=tj·SLj,其中:J为待部署训练任务,BS为总的批大小,p为并行度,即需要的GPU数量,tj为训练任务J在当前配置下采用独占GPU模式的迭代计算时间向量,SLj为各个训练进程在待部署GPU上的预测性能干扰度向量,SLj={slj1,slj2,...,sljp}
b)计算所有训练进程迭代计算时间的极值范围当该极值范围大于计算时间差异阈值,则进行负载均衡操作,具体为:将批大小调整值个样本从计算时间最长的训练进程转移到计算时间最短的训练进程并逐步减小批大小调整值,直到调整后的极值范围值小于时间差异阈值。
c)当确定待调度任务J的部署方案(GPU分配和批大小分配)后,由于该部署策略同样会对被共享GPU的运行中任务产生性能干扰,从而打破运行中任务已有的均衡负载状态。因此本实施例需要对被影响的运行中任务进行批大小重新分配,但对运行中任务进行批大小重新分配会再次影响其他任务的均衡负载状态,即混部干扰传导效应。
所述的对待部署任务的批大小分布调整引起的干扰传导效应进行修正是指:对所有待调度任务的目标部署GPU进行遍历,对因部署新的训练任务导致的出现严重负载不均衡现象的运行中任务进行批大小重新分配,得到全局的均衡负载状态。为防止频繁的进行批大小重新分配,设置一个调整阈值ηsl,当被影响任务存在某个训练进程的性能干扰度变化,即由于待调度任务的部署导致该运行中任务性能干扰度产生的变化差超过阈值时调用批大小重新分配算法,对该任务进行批大小重新分配。
经过具体实际实验,采用测试的深度神经网络模型的基本参数如下所示
模型名称 | 并行度 | 数据集 | 训练周期数 |
ResNet-50 | [1,2,4] | CIFAR-10 | Random(3,10) |
ResNet-152 | [1,2,4] | CIFAR-10 | Random(3,10) |
Vgg11 | [1,2,4] | CIFAR-10 | Random(3,10) |
Vgg19 | [1,2,4] | CIFAR-10 | Random(3,10) |
mobilenet_v3_small | [1,2,4] | CIFAR-10 | Random(3,10) |
mobilenet_v3_large | [1,2,4] | CIFAR-10 | Random(3,10) |
mnasnet0_5 | [1,2,4] | CIFAR-10 | Random(3,10) |
shufflenet_v2_x1_0 | [1,2,4] | CIFAR-10 | Random(3,10) |
squeezenet1_0 | [1,2,4] | CIFAR-10 | Random(3,10) |
根据上述神经网络模型规格,随机生成共42个训练任务,两个训练任务的提交间隔为1到10分钟不等。
本实施例采用First In First Out(FIFO)进行性能对比,FIFO是指:从调度队列中选择提交时间最早的任务,并采用独占GPU模式进行资源分配。
对于42个训练任务,不同调度算法性能比较
相比于独占GPU训练模式,本发明可以降低平均任务完成时间27.91%。
与现有技术相比,本发明利用训练任务数据处理的并行性和GPU的算力特征得到通过采样少数样本数据可以精确预测训练任务单个迭代运行时间与工作负载的关系从而建立对应的时间模型;其次建立训练任务混合部署时的性能干扰模型,利用GPU上所有训练任务的运行时硬件信息准确预测各个训练任务受到的干扰程度,最后进行任务部署时基于最小干扰原则确定所需资源的物理位置。本发明采用最小干扰原则调度的同时考虑分布式训练任务的负载平衡问题,消除训练过程中由于资源异构性和动态混部带来的滞后者问题,可以有效提高GPU利用率,同时减少高并行度任务的排队时间,提高系统吞吐。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。
Claims (10)
1.一种面向GPU集群的深度学习训练任务调度系统,其特征在于,包括:离线性能刻画模块和在线任务调度部署模块,其中:离线性能刻画模块分别预测不同训练任务的相似度以确定新提交任务的待采集硬件指标集以及两个训练任务混合部署后产生的性能下降程度,即性能干扰度,并离线采集训练任务在独占GPU模式下不同批大小的计算时间以拟合得到其批大小-计算时间关系;在线任务调度部署模块从任务队列中取出待调度任务并根据批大小-计算时间关系以及性能干扰度生成待调度任务的GPU亲和性和批大小分布策略,根据用户提交的训练任务及用户指定的GPU数量分为其分配合适的GPU,即混合部署后性能干扰最小的GPU以最小化平均作业完成时间并提高集群资源利用率;
所述的离线采集是指:将待训练任务运行在专用预留GPU上,在数据采集过程中修改该训练任务单次迭代计算所处理的样本数,即批大小,并采集<批大小,计算时间>格式的数据样本并计算该训练任务的预计运行时间;
所述的性能刻画是指:根据预计运行时间将待训练任务分类为长作业和短作业,当为长作业时,收集长作业的全部待采集硬件指标数据并将其加入任务调度队列;当为短作业时,收集短作业的结构特征信息用于预测该训练任务与运行中任务的相似度,使用最相似的运行中训练任务对应的非核心硬件指标数据替代新训练任务的对应硬件指标数据后,将其加入任务调度队列;
2.根据权利要求1所述的面向GPU集群的深度学习训练任务调度系统,其特征是,所述的批大小分布策略是指:通过动态改变训练任务各个进程的批大小保持负载相对均衡状态以消除滞后者影响,即离线性能刻画模块首先对训练任务的<批大小,训练时间>进行采样,获得训练任务在独占GPU下的性能曲线,即批大小-计算时间关系,根据该独占式性能曲线和性能干扰度预测模型推导出训练任务在任意GPU上运行时的批大小-计算时间关系,从而对训练任务的全局批大小进行重新分配以确保各个训练进程在新的批大小分布下计算时间基本相同。
3.根据权利要求1所述的面向GPU集群的深度学习训练任务调度系统,其特征是,所述的离线性能刻画模块将用户提交的训练任务部署在单个预留的专用GPU,收集该训练任务的模型结构特征信息,利用任务相似度预测模型判断改训练任务与系统数据库中现有任务相似度以确定待采集硬件指标集,随后通过少数几次迭代计算收集该任务运行时的硬件指标数据;再根据新训练任务的运行时的硬件指标数据和集群中各GPU上训练中任务相应的硬件指标数据一起输入性能干扰度预测模型,估计得到两个训练任务共享GPU时各自导致的性能下降程度,为在线任务调度部署模块对新训练任务的GPU分配决策提供指导。
5.根据权利要求3所述的面向GPU集群的深度学习训练任务调度系统,其特征是,所述的离线性能刻画模块包括:任务相似度预测单元、硬件信息收集单元、批大小计算时间刻画单元以及性能干扰度预测单元,其中:任务相似度预测单元根据用户提交的训练任务计算图信息,进行计算图的遍历,得到该训练任务的结构特征信息,将其与各个已完成任务的对应结构特征信息共同输入到任务相似度预测模型,得到待处理任务与其他任务的相似度以确定硬件采集指标集;硬件信息收集单元根据任务相似度预测单元确定的硬件采集指标集在专用GPU上部署待处理任务,并利用NSIGHT工具收集对应硬件指标;批大小计算时间刻画单元根据待处理任务在专用GPU上运行时采样的不同批大小对应计算时间,进行数据拟合,得到该任务的批大小-计算时间关系;性能干扰度预测单元将待处理训练任务的硬件指标数据和GPU上运行中任务的硬件指标数据共同输入到性能干扰度预测模型中,得到该两个训练任务共享GPU后各自的性能下降程度。
6.根据权利要求3或5所述的面向GPU集群的深度学习训练任务调度系统,其特征是,所述的硬件指标数据包括:SM占用率、SM吞吐、Kernel运行时间、设备内存吞吐、SM活跃周期数、L2缓存吞吐、DRAM吞吐、Grid大小、每个Block的共享内存大小、每个线程的寄存器数、共享内存配置大小、PCIe读数据量、PCIe写数据量和Block限制寄存器数;
所述的结构特征信息包括:浮点运算数、模型参数数量、卷积层数量、归一化层数量、激活层数量和输入数据大小;
7.根据权利要求2或4所述的面向GPU集群的深度学习训练任务调度系统,其特征是,所述的对训练任务的全局批大小进行重新分配是指:
a)通过离线性能刻画模块得到的批大小-计算时间关系获取各个训练进程在均分批大小下独占GPU的迭代计算时间向量tj={tj1,tj2,...,tjp},该计算时间乘以对应的性能干扰度即为其在混部模式下的预计计算时间t′j=tj·SLj,其中:J为待部署训练任务,BS为总的批大小,p为并行度,即需要的GPU数量,tj为训练任务J在当前配置下采用独占GPU模式的迭代计算时间向量,SLj为各个训练进程在待部署GPU上的预测性能干扰度向量,SLj={slj1,slj2,...,sljp};
b)计算所有训练进程迭代计算时间的极值范围th=max(t′j)-min(t′j),当该极值范围大于计算时间差异阈值,则进行负载均衡操作,具体为:将批大小调整值个样本从计算时间最长的训练进程转移到计算时间最短的训练进程并逐步减小批大小调整值,直到调整后的极值范围值小于时间差异阈值;
c)当确定待调度任务J的部署方案,即GPU分配和批大小分配后,由于该部署策略同样会对被共享GPU的运行中任务产生性能干扰,从而打破运行中任务已有的均衡负载状态,因此本实施例需要对被影响的运行中任务进行批大小重新分配,但对运行中任务进行批大小重新分配会再次影响其他任务的均衡负载状态,即混部干扰传导效应。
8.根据权利要求4所述的面向GPU集群的深度学习训练任务调度系统,其特征是,所述的修正是指:对所有待调度任务的目标部署GPU进行遍历,对因部署新的训练任务导致的出现严重负载不均衡现象的运行中任务进行批大小重新分配,得到全局的均衡负载状态,为防止频繁的进行批大小重新分配,设置一个调整阈值ηsl,当被影响任务存在某个训练进程的性能干扰度变化,即由于待调度任务的部署导致该运行中任务性能干扰度产生的变化差超过阈值时调用批大小重新分配算法,对该任务进行批大小重新分配。
9.一种基于权利要求1-8中任一所述系统的面向GPU集群的深度学习训练任务调度方法,其特征在于,通过对待训练任务进行离线采集和性能刻画后相应将训练任务加入任务调度队列并进行在线资源分配,确定待处理训练任务的目标GPU以及各个GPU上的训练数据量。
10.根据权利要求9所述的深度学习训练任务调度方法,其特征是,所述的在线资源分配是指:通过批大小-计算时间关系以及预测出的性能干扰度,根据基于性能干扰度最小原则的调度算法确定待处理训练任务的目标GPU以及各个GPU上的训练数据量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211620686.5A CN115904666A (zh) | 2022-12-16 | 2022-12-16 | 面向gpu集群的深度学习训练任务调度系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211620686.5A CN115904666A (zh) | 2022-12-16 | 2022-12-16 | 面向gpu集群的深度学习训练任务调度系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115904666A true CN115904666A (zh) | 2023-04-04 |
Family
ID=86485820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211620686.5A Pending CN115904666A (zh) | 2022-12-16 | 2022-12-16 | 面向gpu集群的深度学习训练任务调度系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115904666A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115984827A (zh) * | 2023-03-06 | 2023-04-18 | 安徽蔚来智驾科技有限公司 | 点云感知方法、计算机设备及计算机可读存储介质 |
CN116108764A (zh) * | 2023-04-14 | 2023-05-12 | 中国科学院长春光学精密机械与物理研究所 | 光学智能优化方法、装置、设备、介质 |
CN116244159A (zh) * | 2023-05-08 | 2023-06-09 | 浪潮电子信息产业股份有限公司 | 一种训练时长预测方法、装置、多元异构计算设备及介质 |
CN116432743A (zh) * | 2023-04-19 | 2023-07-14 | 天津大学 | 一种提高强化学习系统吞吐量的方法 |
CN117632444A (zh) * | 2024-01-26 | 2024-03-01 | 之江实验室 | 一种计算机集群的npu容错调度系统 |
-
2022
- 2022-12-16 CN CN202211620686.5A patent/CN115904666A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115984827A (zh) * | 2023-03-06 | 2023-04-18 | 安徽蔚来智驾科技有限公司 | 点云感知方法、计算机设备及计算机可读存储介质 |
CN115984827B (zh) * | 2023-03-06 | 2024-02-02 | 安徽蔚来智驾科技有限公司 | 点云感知方法、计算机设备及计算机可读存储介质 |
CN116108764A (zh) * | 2023-04-14 | 2023-05-12 | 中国科学院长春光学精密机械与物理研究所 | 光学智能优化方法、装置、设备、介质 |
CN116432743A (zh) * | 2023-04-19 | 2023-07-14 | 天津大学 | 一种提高强化学习系统吞吐量的方法 |
CN116432743B (zh) * | 2023-04-19 | 2023-10-10 | 天津大学 | 一种提高强化学习系统吞吐量的方法 |
CN116244159A (zh) * | 2023-05-08 | 2023-06-09 | 浪潮电子信息产业股份有限公司 | 一种训练时长预测方法、装置、多元异构计算设备及介质 |
CN116244159B (zh) * | 2023-05-08 | 2023-08-11 | 浪潮电子信息产业股份有限公司 | 一种训练时长预测方法、装置、多元异构计算设备及介质 |
CN117632444A (zh) * | 2024-01-26 | 2024-03-01 | 之江实验室 | 一种计算机集群的npu容错调度系统 |
CN117632444B (zh) * | 2024-01-26 | 2024-06-11 | 之江实验室 | 一种计算机集群的npu容错调度系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115904666A (zh) | 面向gpu集群的深度学习训练任务调度系统 | |
CN110619595B (zh) | 一种基于多fpga加速器互联的图计算优化方法 | |
Yeung et al. | Horus: Interference-aware and prediction-based scheduling in deep learning systems | |
CN105487930B (zh) | 一种基于Hadoop的任务优化调度方法 | |
CN107193652B (zh) | 容器云环境中流数据处理系统的弹性资源调度方法及系统 | |
Simakov et al. | A slurm simulator: Implementation and parametric analysis | |
US20190294469A1 (en) | Techniques to dynamically partition tasks | |
Kang et al. | Lalarand: Flexible layer-by-layer cpu/gpu scheduling for real-time dnn tasks | |
Zhang et al. | Virtual machine placement strategy using cluster-based genetic algorithm | |
Kim et al. | Application performance prediction and optimization under cache allocation technology | |
JP2016218503A (ja) | 並列化コンパイル方法、並列化コンパイラ、及び車載装置 | |
Escobar et al. | Energy‐aware load balancing of parallel evolutionary algorithms with heavy fitness functions in heterogeneous CPU‐GPU architectures | |
CN112434785A (zh) | 一种面向超级计算机的分布式并行深度神经网络性能评测方法 | |
KR100834408B1 (ko) | 분산처리시스템에서의 태스크 할당방법 및 시스템 | |
CN106844024B (zh) | 一种自学习运行时间预测模型的gpu/cpu调度方法及系统 | |
KR100935361B1 (ko) | 가중치 기반 멀티큐 부하분산 병렬처리 시스템 및 방법 | |
CN116360921A (zh) | 一种面向电力物联网的云平台资源优化调度方法及系统 | |
CN112035234A (zh) | 分布式批量作业分配方法及装置 | |
US20120042322A1 (en) | Hybrid Program Balancing | |
Wang | A parallel computing application of the genetic algorithm for lubrication optimization | |
Chhabra et al. | Qualitative Parametric Comparison of Load Balancing Algorithms in Distributed Computing Environment | |
Benhammadi et al. | Independent task scheduling in heterogeneous environment via makespan refinery approach | |
Loukopoulos et al. | Improved genetic algorithms and list scheduling techniques for independent task scheduling in distributed systems | |
CN111651866A (zh) | 一种基于动态负载迁移及时间同步的仿真执行方法及系统 | |
Wang et al. | Performance optimization for CPU-GPU heterogeneous parallel system |
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 |