分布式机器学习作业性能干扰分析与预测

2022-07-05 08:19李洪亮张弄孙婷李想
计算机应用 2022年6期
关键词:预测性能算法

李洪亮,张弄,孙婷,李想*

分布式机器学习作业性能干扰分析与预测

李洪亮1,2,张弄1,孙婷1,李想1*

(1.吉林大学 计算机科学与技术学院,长春 130012; 2.符号计算与知识工程教育部重点实验室(吉林大学),长春 130012)(*通信作者电子邮箱lxiang@jlu.edu.cn)

通过分析分布式机器学习中作业性能干扰的问题,发现性能干扰是由于内存过载、带宽竞争等GPU资源分配不均导致的,为此设计并实现了快速预测作业间性能干扰的机制,该预测机制能够根据给定的GPU参数和作业类型自适应地预测作业干扰程度。首先,通过实验获取分布式机器学习作业运行时的GPU参数和干扰率,并分析出各类参数对性能干扰的影响;其次,依托多种预测技术建立GPU参数-干扰率模型进行作业干扰率误差分析;最后,建立自适应的作业干扰率预测算法,面向给定的设备环境和作业集合自动选择误差最小的预测模型,快速、准确地预测作业干扰率。选取5种常用的神经网络作业,在两种GPU设备上设计实验并进行结果分析。结果显示,所提出的自适应干扰预测(AIP)机制能够在不提供任何预先假设信息的前提下快速完成预测模型的选择和性能干扰预测,耗时在300 s以内,预测干扰率误差在2%~13%,可应用于作业调度和负载均衡等场景。

分布式机器学习;性能干扰;集群调度;资源共享;干扰预测

0 引言

近年来,机器学习[1]随着大数据的发展得到了飞跃进步,但无论是传统机器学习方法还是现如今流行的神经网络[2]模型,数据和模型的规模都在逐渐扩大,例如ImageNet[3]图片数据集所需要的存储空间大约为1.2×106MB,如果使用ImageNet的数据集训练模型一般需要几个月才能完成。因此为了高效地进行训练,考虑将大规模的数据或模型进行划分,然后分布到各个节点进行训练,即数据并行模式和模型并行模式[4]:前者以单指令流多数据流(Single-Instruction stream Multiple-Data stream, SIMD)的方式将大数据集分割成小的子集进行训练;后者则以多指令流多数据流(Multiple-Instruction stream Multiple-Data stream, MIMD)的方式分割模型并放置到各个节点进行训练。但是对于划分的数据或模型子集,各个节点间以及同一节点内都无法保持子集间的参数同步,因此引入了分布式机器学习(Distributed Machine Learning, DML)[5]框架来支持参数同步,依托DML框架将划分的数据或模型子集分配到一个或多个工作节点上,可以实现对子集间的参数同步。对于DML框架,根据每个工作节点上分配的作业数量可以分为独占型和共享型:前者即单个作业占用节点;而后者是多个作业占用一个节点,共享资源。由于单个作业独占节点可能会造成资源的浪费,所以共享型的DML框架应用更加广泛。图1是参数服务器(Parameter Server, PS)[6]架构,是目前广泛应用的一种共享资源架构。

图1 参数服务器架构

多个作业共享资源可以提高训练效率,但也带来了作业间的性能干扰问题。实验表明,作业ResNet[8]在TeslaP40设备上与其他作业共享资源并行时,由于资源分配不均产生了不同程度的干扰,例如ResNet单独运行时运行时间为548 s,与VGG[9]并行共享时运行时间增加至1 185.67 s,由于性能干扰运行时间增加了116.36%。针对性能干扰问题,本文设计并构建了自适应干扰预测(Adaptive Interference Prediction,AIP)机制,以此预测作业间的性能干扰以更高效地共享设备资源:专门针对大数据量的神经网络作业,对需要并行运行的作业提取各种GPU特征参数;再通过干扰预测机制选择特征值构建预测模型,进行干扰预测;通过预测的干扰率进行资源分配和作业放置以达到减少作业性能干扰和高效共享资源的目的。主要工作如下:

1)分析了作业性能干扰问题以及其成因,发现GPU参数与作业间的性能干扰有直接联系,提出利用GPU参数预测未知作业集合间的性能干扰率;

2)设计并构建了AIP机制的通用框架,对于给定的GPU设备和作业集合,在自动获取GPU参数后能通过该机制选择不同的预测技术预测干扰,并输出最准确的性能干扰率;

3)基于TensorFlow框架设计了实验,在不同GPU设备和不同实验环境下实现了该机制,并对其效率、准确率以及应用场景进行了分析讨论。

1 相关工作

1.1 分布式机器学习

近年来,机器学习得到飞速发展,然而单机的计算能力却无法跟上机器学习发展的步伐,海量的数据处理和繁杂的模型训练,在单机上会占用几乎全部的内存并且耗费大量的时间,所以分布式机器学习就成了目前解决该问题的最佳方法,它通过分布式框架使用多个计算设备进行机器学习的数据处理和模型训练。DML主要包括参数划分和参数同步两个步骤,前者包含数据并行和模型并行两种模式,而后者包含独占资源架构和共享资源架构。目前广泛应用的DML框架是使用数据并行的共享资源架构,典型代表是TensorFlow[10],除此之外PyTorch[11]和MXNet[11]等也是较为常见的DML框架。

目前依托TensorFlow等分布式框架,多个机器学习作业能在集群中更高效地进行训练,但是也引入了资源分配和作业放置等集群调度问题。传统的集群调度方法,例如Yarn[12]和Mesos[12]都关注作业的公平性,根据主导资源公平算法进行调度,以此保证作业的公平性;但是对于DML作业,以上调度为了作业的适用性,没有突出的优势,也无法根据DML作业的特征提供良好的集群调度,从而导致集群训练的效率低下。而针对DML作业的集群调度,如Optimus[13]和Harmony[14]:前者基于启发式策略,根据DML作业训练过程中的某些特征值构造启发式策略对作业进行调度;后者基于强化学习模型,是作业调度过程到强化学习模型决策过程的转化,通过数据对模型不断优化,实现作业放置。这两种针对DML作业的调度方法可以解决集群中大部分问题,但是对于机器学习作业,其数据处理和模型训练的方法是多变的,因此这些集群调度方法为了适用于大部分作业,往往会忽略一些问题。例如针对集群中某一设备或节点上的调度,其真实情况总是比使用上述方法得到的预期值低,这是因为依托共享型的DML框架,多个作业在同一节点上共享资源,会因为资源分配不均带来性能的干扰,而常见的调度方法很难提前获取同一节点上作业的干扰,因此它们一般会忽略作业间的性能干扰问题。

1.2 作业性能干扰

作业的性能干扰一般发生在集群中的某一设备或节点上,往往是因为多个作业同时抢夺该设备资源而导致资源分配不均,性能干扰的结果一般表现为运行时间的增加。随着集群调度研究的不断深入,越来越多的研究者尝试提高调度方法的效率,因此也不能再忽略由于作业干扰导致的性能下降问题。对于TensorFlow等DML框架,多个作业在某个设备或工作节点上共享资源时,会产生资源的分配不均,从而带来作业性能的干扰,导致性能的下降,为了提高作业执行效率、更高效地共享设备资源以及避免一些因为资源抢夺导致的作业无法运行等问题,需要考虑如何最大限度地降低作业间的性能干扰。

近年来,人们开始针对作业性能干扰问题进行研究,而共享作业放置(Opportunistic Job Placement,OJP)模型[15]是首个针对性能干扰提出的作业调度模型,它类似于灰盒模型,以TensorFlow框架为基础,主要研究了作业间的GPU内存过载问题,并针对该问题进行探究,提出了共享作业的放置问题。该模型使用最少的GPU设备数量来进行作业安置,并保证作业的性能要求,具体方法是以作业的性能干扰程度为依据,在集群中单个设备或工作节点上使用贪心算法和启发式算法选择合适的作业组合,完成作业的放置,从而最大限度地减小作业间的性能干扰。然而对于给定的GPU设备和作业集合,如何获取其性能干扰作为放置依据是值得思考和探究的问题。

2 问题建模

2.1 问题分析

图2是一个作业性能干扰示例,在TeslaP40环境下,5种神经网络作业两两组合并行,可以发现不同作业共享资源时的性能干扰程度不同,例如作业ResNet受作业VGG的影响,干扰程度为116.36%,作业VGG受作业ResNet的影响,干扰程度却仅为40.04%;对于不同的GPU设备,其性能干扰程度也不同。

图2 作业性能干扰示例

对于上述性能干扰问题,因为不同作业间的性能干扰程度不同,且相同作业间也会产生性能干扰,所以性能的干扰与作业的固有属性无关;再结合OJPP策略中性能干扰的分析,本文认为性能下降的现象与GPU参数有关,并以此作出了探究和分析,原因总结如下:

2)即使没有内存过载,仍然观察到不同类型的机器学习作业之间存在各种干扰。这主要是由于GPU共享底层资源(如读写带宽、CPU缓存、磁盘I/O、网络I/O和总线等)时的资源竞争造成的。其中较为常见的是带宽竞争,当多个作业共享同一设备资源时,可能会因为通信产生带宽的竞争,当带宽分配不均时,作业的训练速度会受到影响,从而导致作业的性能下降。

图3 GPU内存过载

根据以上性能干扰的成因,可以发现作业间的性能干扰和GPU参数有直接的联系,刚刚提到的内存过载就明显和GPU参数中的显存有关,而带宽竞争则和参数中的读写带宽有联系。因此,本文提出了通过GPU参数来预测未知作业间性能干扰程度的想法。

2.2 建模与解决方法

对于作业间的性能干扰,一般表现为作业运行时间的增加;而上文提出通过GPU参数来预测性能干扰程度,对于预测,需要一个确切的数值,因此本文使用作业增加的运行时间比来表示作业干扰程度。

定义1 作业单独运行时间。一个作业独占设备资源运行,从开始响应到完成所花费的时间即为单独运行时间。

定义2 作业并行运行时间。多个作业共享同一设备资源并行运行时,其中一个作业从开始响应到完成所花费的时间即为该作业的并行运行时间。

基于此问题建模对2.1节提出的想法给出了详细的解决方法。对于给定的GPU设备和DML作业集合:

1)分别获取所求作业组合单独运行到并行运行时的GPU参数变化;

2)通过干扰预测机制选择合适的GPU参数作为特征值,不同的GPU设备,其参数对作业性能干扰的影响不同;

3)通过干扰预测机制选择适合该GPU设备的预测技术,主要从速度和准确率方面选择;

4)通过特征值和预测技术定位到合适的GPU参数-干扰率模型来预测作业干扰程度。

3 本文自适应干扰预测机制

3.1 模型的构建与评估

基于2.2节中描述的解决方法,干扰预测机制主要包括预测技术的选择、模型的构建以及结果的评估。

对于预测技术的选择,针对预测干扰率需要速度快且适用小数据集的特性,选择了回归机器学习方法作为预测技术,一是因为回归方法和聚类不同可以获取确切的数值;二是因为回归方法都属于传统机器学习,预测速度较快,且可以通过调用函数等方法较为容易地实现。表1中列举了用到的预测技术,以及需要调用的函数和参数等。

表1 预测技术及需要调用的函数和参数说明

预测模型的构建和评估方法对于不同的技术都是一致的,其大致步骤如下:

1)将数据集划分为训练集和测试集,并使用Python中的StandardScaler函数类对其进行标准化和归一化处理。

2)通过训练集选择不同的预测技术进行模型的构建和训练,例如选择表1中的支持向量回归(Support Vector Regression, SVR)技术,构建线性核函数配置的支持向量回归模型时,需要调用Python中的SVR函数,并选择参数为linear。

3)对于不同的模型,使用测试集进行干扰率的预测,并进行评估。由于干扰率存在0的可能性,因此本文没有使用百分比误差作为评估值,而是将真实值与预测值之间的平均绝对值误差(Mean Absolute Error, MAE)作为评估模型的标准。误差越小,该模型的准确率也就越高。

基于上述步骤,本文设计并构建了预测模型的构建与评估(Predictive model Construction and Evaluation, PCE)算法,如算法1所示,是上述步骤的通用算法。对于需要构建和评估的预测模型,输入其需要的特征值数据集和预测技术集合,可以输出该模型的干扰率误差值(即MAE),其中步骤1)、2)、3)和5)的代码是不变的,而根据需要选取的预测技术不同,步骤4)会调用算法2,输入不同的预测技术作为参数,并返回模型的预测结果。

算法1 PCE。

输入 特征值数据集;待构建预测模型;预测技术集合(SVR、K-最近邻(K-Nesrest Neighbor, KNN)、集成学习等);

输出 预测模型评估误差MAE。

//步骤1:数据集划分(训练集和测试集)。

1)= data[:, 0:-1]

2)= data[:, -1]

3)= data_test[:, 0:-1]

4)= data_test[:, -1]

//步骤2:数据标准化,归一化处理。

5)= StandardScaler()

6)= sscaler_X.fit_transform()

7)= sscaler_X.transform()

8)= StandardScaler()

9)= sscaler_Y.fit_transform(.reshape(-1, 1))

10)= sscaler_Y.transform(.reshape(-1, 1))

/*步骤3:根据待构建的预测模型,从预测技术集合中选择合适的技术*/

11)预测技术 ← 预测技术集合;

/*步骤4:调用模型训练和预测算法,完成模型训练和预测,并返回模型的预测结果*/

12)模型预测结果 ← MTP(预测技术);

//步骤5:预测模型评估。

13)MAE= mean_absolute_error(.

inverse_transform(),

.inverse_transform(模型预测结果));

14) return 预测模型评估误差MAE;

算法2是模型训练和预测(Model Training and Prediction, MTP)算法,其输入参数是某个预测技术,返回的是模型的预测值。MTP算法中的代码示例是线性核函数配置的SVR模型的实现代码。PCE算法会根据预测技术的不同来选择参数,再输入参数调用MTP算法。

算法2 MTP。

输入 某个预测技术;

输出 模型预测结果。

1)根据预测技术调用函数和参数构建模型;

//例如:= SVR(kernel="linear")

2)使用训练集进行模型的训练;

//例如:.fit()

3)对训练模型使用测试集预测;

4) return 模型预测结果;

//例如:=.predict()

3.2 自适应干扰预测(AIP)算法

上述的模型构建和评估算法是为了模型的选择做铺垫,第2章中解决方法提到需要通过干扰预测选择机制选择合适的GPU参数和预测技术,并以此定位到合适的GPU参数-干扰率模型,该方法的重点是模型的选择机制。通过这个选择机制,能在给定的GPU设备和作业集合下按实际的需求选择预测模型并快速、准确地预测干扰率,为此本文设计了AIP算法,以此支持该机制的选择功能。

如算法3示例:对于给定的作业集合和GPU设备,自动获取其各个GPU参数从并行运行到单独运行的变化率,包括显存、读写带宽变化等,并与作业集合和预测技术集合一同作为算法的输入;接着通过作业的性能干扰分析可以得出影响作业的GPU参数,选择对干扰影响最显著的参数作为预测模型的特征值;然后遍历预测技术集合中的预测技术,调用算法PCE,使用已经选择好的特征值分别构建GPU参数-干扰率预测模型,并返回各个模型的干扰率误差,存储到一个一维数组中;最后遍历该数组,选择其中最小的干扰率误差,即选择准确率最高的预测模型,并将其误差值作为作业性能的干扰率返回。

算法3 AIP。

输出 干扰率。

1) if 作业性能干扰受显存影响大 then

2)预测模型特征参数 ←;

3) else if 作业性能干扰受带宽影响大 then

4)预测模型特征参数 ←;

5) else

6)预测模型特征参数 ← 其他GPU参数变化;

7) end if

8)初始化数组

9) for 预测技术集合=1 todo

10)数组← PCE(特征参数,);

11);

12) end for

13)← min{数组};

14) return 干扰率;

算法3构成了完整的AIP机制的通用框架,主体是算法AIP,而算法AIP通过调用算法PCE获取不同预测技术构建的模型的评估效果,算法PCE则通过调用算法MTP对不同预测模型进行训练和预测,并获取其模型预测结果。对于该干扰预测机制,不同的GPU设备,其影响作业性能的GPU参数是不同的,而且适用于该设备环境的预测技术也是不同的,因此本文选择了不同的GPU设备设计实验,并进行讨论和分析,以此验证该机制的效率和准确率。

4 实验与分析

4.1 实验设置与数据

为了探究给定GPU设备和作业集合下哪些参数对作业性能干扰的影响显著,以及哪些预测技术的效果准确且稳定,本文部署了两个不同的GPU设备,分别利用DML框架模拟了分布式环境进行实验和对比。主要配置如下:显卡包括TeslaP40和RTX3090,并都配置了TensorFlow环境(由于RTX3090显卡不支持TensorFlow1.x的版本,所以选择了2.5版本);作业则选择了5种目前广泛应用且稳定的神经网络作业,包括AlexNet(作业1)[9]、RNN(作业2)[21]、LSTM(作业3)[22]、VGG(作业4)和ResNet(作业5);考虑到训练时间和统一性的问题,测试作业的数据集选择了较小的MNIST数据集和CIFAR10数据集。

基于以上的配置,在不同的GPU设备上对不同的作业组合进行了单独运行和并行运行(包括两种作业并行和三种作业并行的情况),并且获取了运行期间各个作业的GPU参数和运行时间。由于选择的神经网络作业较稳定,其中GPU参数的变化不大,所以对于各种情况都截取了100条参数数据且取平均值作为测试数据;运行时间则取10次实验结果的平均值。

表2记录了实验需要获取的所有GPU参数,为了更好地进行分析和表述,按照属性将参数分为了3个类别,并用符号字母指代:类别1包括GPU运行时的能耗和温度;类别2是显存相关的参数,包括显存中流处理器的使用率和显存的利用率;而类别3是GPU的通信带宽,包括读带宽和写带宽。

表2 实验中所需的GPU参数

通过计算得出这些GPU参数的变化百分比以及干扰率数值,构建了模型的数据集,如表3所示,罗列了部分具有代表性的数据集,数字1~5指代上述作业AlexNet、RNN等,14表示作业1和作业4并行时,作业1的参数变化以及干扰率,245表示作业2、4、5并行时作业2的变化;最后使用数据集完成预测模型的训练和干扰率的预测并以此进行评估分析。

表3 数据集示例

4.2 结果与分析

通过获取的完整数据集进行了预测模型的构建、训练和评估,主要利用第三章介绍的算法PCE和MTP,最后得到统计表4。由表4可以看出,在TeslaP40环境下,选择类别2显存作为特征参数,SVR作为预测技术构建模型时,干扰率误差最小为0.13;而回归树技术干扰率误差过大,多元线性回归、KNN以及集成学习相较于SVR,浮动过大,不够稳定,因此选择SVR最佳。

而在RTX3090环境下,选择类别3读写带宽作为特征参数时,SVR、回归树、KNN以及集成学习这四种预测技术的误差都较低,但是回归树技术和集成学习技术相较于另外两种技术都有不稳定的缺点,因此选择SVR或者KNN最佳。

除此之外,根据干扰率的误差值还得到了不同类别的GPU参数对作业干扰性能的影响比重,如表5所示,在TeslaP40环境下,类别2显存的影响最显著,读写带宽次之,而温度能耗的影响最小;而在RTX3090环境下类别3读写带宽的影响更显著,显存和温度能耗的影响较低。

结合表6,根据两个GPU设备的参数配置可以发现GPU参数对作业性能干扰的影响与GPU设备本身的属性也有联系,最明显的就是RTX3090设备的通信带宽达到了936 Gb/s,而TeslaP40设备的带宽只有346 Gb/s,RTX3090受GPU参数带宽的影响更加显著。

表4 TeslaP40和RTX3090环境下的干扰率误差

表5 TeslaP40和RTX3090环境下不同类别GPU参数对作业干扰性能的影响比重 单位: %

表6 GPU设备的参数配置

基于以上预测技术的对比和GPU参数影响的分析,对于TeslaP40和RTX3090这两个设备,可以利用3.2节算法AIP构建干扰预测机制,并预测干扰率:前者由于显存影响最为显著,而SVR技术稳定且误差小,所以可以定位到显存-干扰率的SVR模型;而后者的读写带宽影响最大,KNN和SVR的误差小,且相较于其他方法更稳定,所以可以定位到带宽-干扰率的SVR或者KNN模型,最后使用这些模型预测作业的性能干扰。

4.3 干扰预测代价

针对自适应的干扰预测机制,主要分为三个内容:自动获取GPU参数、模型选择以及干扰预测。其中模型的选择和干扰预测可以在10 s内完成。而对于自动获取GPU参数与作业加载等方面有关,如果面对的是已知作业集合,可以根据历史记录获取作业单独运行的GPU参数,然后获取待测作业并行情况的参数,最后以此计算出参数变化率;而如果作业集合未知,则还需获取其单独运行的GPU参数。上述实验是在作业运行时获取100条参数数据,然后终止作业,大约耗费120 s。一般来说,稳定的神经网络作业的GPU参数变化是先增加,然后趋于稳定,最后在一个值上下浮动,增加过程就是作业开始加载的过程,如果作业加载速度足够快,甚至可以选择50条数据或者更少,那么时间将会更短。

表7记录了实验时两张显卡上干扰预测所花费的时间,其中预测模型的训练是构建干扰预测机制需要完成的步骤,而对于一个已经完善的干扰预测机制,花费的代价只包括自动获取参数、模型选择以及干扰预测,从表7中可以看到这三步总共耗费的时间在300 s内,主要耗时是在自动获取GPU参数的步骤,它包含了作业加载的时间,但是模型加载的速度和作业模型本身以及数据集有关,所以无法轻易改变;而对于模型选择和干扰预测,由于参考的预测技术都是回归技术,模型较简单且具有速度快的特性,所以模型选择以及干扰预测耗费的时间很短,可以在10 s以内。

总体来看,虽然获取GPU参数要耗费一定的时间,但是对于一个庞大的,可能需要训练几十个小时、甚至几天的神经网络作业而言,花费的代价是很小的。

表7 TeslaP40和RTX3090上干扰预测所花费的时间

4.4 应用场景

本文设计并构建的AIP机制具有通用性,能适用于多种GPU设备,并能够在不提供任何预先假设信息的前提下,快速、准确地预测给定作业间的性能干扰率,因此在多种场景都可以应用。

该机制可集成在作业调度器中,为作业放置提供性能干扰的参考数据。例如,Optimus策略以作业优先级作为放置的依据,加入干扰预测机制后,只需要提前简单地运行150 s左右来预测性能干扰,就可以依据干扰率选择更高效的调度方案。除此之外,该机制还可作为负载均衡的依据,由上文分析可知,内存过载、带宽竞争等GPU资源分配不均是性能干扰的主要原因,因此可以根据预测的干扰来避免资源分配不均,从而达到负载均衡。

5 结语

根据上述分析与实验可以对分布式机器学习作业提供一个自适应干扰预测机制,通过该机制可以对给定的GPU设备和作业集合按实际需求选择一个或多个合适的GPU参数-干扰率模型进行快速且准确的预测,该机制在效率和准确率方面都有很好的表现,因此可以应用在作业调度和负载均衡等场景。但在实验中我们发现当三种作业并行时,会出现GPU参数影响下降的情况,这与GPU自身的参数配置有关,三种作业并行时可能达到了该参数的阈值,从而干扰了预测,因此未来的工作一方面是优化预测技术,另一方面是增强其通用性。

[1] JORDAN M I, MITCHELL T M. Machine learning: trends, perspectives, and prospects[J]. Science, 2015, 349(6245): 255-260.

[2] YU J H, HUANG T. Universally slimmable networks and improved training techniques[C]// Proceedings of the 2019 IEEE/CVF International Conference on Computer Vision. Piscataway: IEEE, 2019: 1803-1811.

[3] DENG J, DONG W, SOCHER R, et al. ImageNet: a large-scale hierarchical image database[C]// Proceedings of the 2009 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2009: 248-255.

[4] 李青坪. 面向分布式深度学习的集群资源调度优化技术研究[D]. 南京:南京大学, 2020:1-3.(LI Q P. Research on cluster resource scheduling optimization for distributed deep learning[D]. Nanjing: Nanjing University, 2020: 1-3.)

[5] PETEIRO-BARRAL D, GUIJARRO-BERDIÑAS B. A survey of methods for distributed machine learning[J]. Progress in Artificial Intelligence, 2013,2(1): 1-11.

[6] LI M, ANDERSEN D G, PARK J W, et al. Scaling distributed machine learning with the parameter server[C]// Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation. Berkeley: USENIX Association, 2014: 583-598.

[7] 王丹. 分布式机器学习集群的资源调度机制研究[D]. 成都:电子科技大学, 2020:6-15.(WANG D. Research on resource scheduling mechanism of distributed machine learning cluster[D]. Chengdu: University of Electronic Science and Technology of China, 2020: 6-15.)

[8] WEN L, LI X Y, GAO L. A transfer convolutional neural network for fault diagnosis based on ResNet-50[J]. Neural Computing and Applications, 2020, 32(10): 6111-6124.

[9] ALIPPI C, DISABATO S, ROVERI M. Moving convolutional neural networks to embedded systems: the AlexNet and VGG-16 case[C]// Proceedings of the 17th ACM/IEEE International Conference on Information Processing in Sensor Networks. Piscataway: IEEE, 2018: 212-223.

[10] ABADI M, BARHAM P, CHEN J M, et al. TensorFlow: a system for large-scale machine learning[C]// Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation. Berkeley: USENIX Association, 2016: 265-283.

[11] PASZKE A, GROSS S, MASSA F, et al. PyTorch: an imperative style, high-performance deep learning library[C/OL]// Proceedings of the 33rd Conference on Neural Information Processing Systems. [2021-05-11].https://proceedings.neurips.cc/paper/2019/file/bdbca288fee7f92f2bfa9f7012727740-Paper.pdf.

[12] GU J C, CHOWDHURY M, SHIN K G, et al. Tiresias: a GPU cluster manager for distributed deep learning[C]// Proceedings of the 16th USENIX Symposium on Networked Systems Design and Implementation. Berkeley: USENIX Association, 2019: 485-500.

[13] PENG Y H, BAO Y X, CHEN Y R, et al. Optimus: an efficient dynamic resource scheduler for deep learning clusters[C]// Proceedings of the 13th European Conference on Computer Systems. New York: ACM, 2018: No.3.

[14] MAHAJAN K, BALASUBRAMANIAN A, SINGHVI A, et al. THEMIS: fair and efficient GPU cluster scheduling[C]// Proceedings of the 17th USENIX Symposium on Networked Systems Design and Implementation. Berkeley: USENIX Association, 2020: 289-304.

[15] LI H L, SUN T, LI X, et al. Job placement strategy with opportunistic resource sharing for distributed deep learning clusters[C]// Proceedings of the IEEE 22nd International Conference on High Performance Computing and Communications/ IEEE 18th International Conference on Smart City/ IEEE 6th International Conference on Data Science and Systems. Piscataway: IEEE, 2020: 620-627.

[16] TRANMER M,ELLIOT M. Multiple linear regression[R/OL]. [2021-05-11].https://hummedia.manchester.ac.uk/institutes/cmist/archive-publications/working-papers/2008/2008-19-multiple-linear-regression.pdf.

[17] WAUTERS M, VANHOUCKE M. Support vector machine regression for project control forecasting[J]. Automation in Construction, 2014, 47: 92-106.

[18] LOH W Y. Classification and regression tree methods[M]// RUGGERI F, KENETT R S, FALTIN F W. Encyclopedia of Statistics in Quality and Reliability. Hoboken, NJ: John Wiley & Sons, Inc., 2008: 315-323.

[19] HAMERLY G, ELKAN C. Learning thein-means[C]// Proceedings of the 16th International Conference on Neural Information Processing Systems. Cambridge: MIT Press, 2003: 281-288.

[20] JACKSON D. Employability skill development in work-integrated learning: barriers and best practice[J]. Studies in Higher Education, 2015, 40(2): 350-367.

[21] LeCUN Y, BENGIO Y, HINTON G. Deep learning[J]. Nature, 2015, 521(7553): 436-444.

[22] GREFF K, SRIVASTAVA R K, KOUTNÍK J, et al. LSTM: a search space odyssey[J]. IEEE Transactions on Neural Networks and Learning Systems, 2017, 28(10): 2222-2232.

Performance interference analysis and prediction for distributed machine learning jobs

LI Hongliang1,2, ZHANG Nong1, SUN Ting1, LI Xiang1*

(1,,130012,;2(),130012,)

By analyzing the problem of job performance interference in distributed machine learning, it is found that performance interference is caused by the uneven allocation of GPU resources such as memory overload and bandwidth competition, and to this end, a mechanism for quickly predicting performance interference between jobs was designed and implemented, which can adaptively predict the degree of job interference according to the given GPU parameters and job types. First, the GPU parameters and interference rates during the operation of distributed machine learning jobs were obtained through experiments, and the influences of various parameters on performance interference were analyzed. Second, some GPU parameter-interference rate models were established by using multiple prediction technologies to analyze the job interference rate errors. Finally, an adaptive job interference rate prediction algorithm was proposed to automatically select the prediction model with the smallest error for a given equipment environment and job set to predict the job interference rates quickly and accurately. By selecting five commonly used neural network tasks, experiments were designed on two GPU devices and the results were analyzed. The results show that the proposed Adaptive Interference Prediction (AIP) mechanism can quickly complete the selection of prediction model and the performance interference prediction without providing any pre-assumed information, it has comsumption time less than 300 s and achieves prediction error rate in the range of 2% to 13%, which can be applied to scenarios such as job scheduling and load balancing.

distributed machine learning; performance interference; cluster scheduling; resource sharing; interference prediction

This work is partially supported by National Key Research and Development Program of China (2017YFC1502306), National Natural Science Foundation of China (61602205).

LI Hongliang, born in 1983, Ph. D., associate professor. His research interests include distributed computing, high performance computing.

ZHANG Nong, born in 1999, M. S.candidate. His research interests include distributed computing, high performance computing.

SUN Ting, born in 1996, M. S. Her research interests include cloud computing, high performance computing.

LI Xiang, born in 1983, M. S., engineer. Her research interests include computer network.

TP338.8

A

1001-9081(2022)06-1649-07

10.11772/j.issn.1001-9081.2021061404

2021⁃08⁃05;

2021⁃10⁃14;

2021⁃10⁃20。

国家重点研发计划项目(2017YFC1502306);国家自然科学基金资助项目(61602205)。

李洪亮(1983—),男,吉林长春人,副教授,博士,CCF会员,主要研究方向:分布式计算、高性能计算;张弄(1999—),男,四川南充人,硕士研究生,主要研究方向:分布式计算、高性能计算;孙婷(1996—),女,吉林洮南人,硕士,主要研究方向:云计算、高性能计算;李想(1983—),女,吉林长春人,工程师,硕士,主要研究方向:计算机网络。

猜你喜欢
预测性能算法
UIO-66热解ZrO2负载CoMoS对4-甲基酚的加氢脱氧性能
夏季五招提高种鹅繁殖性能
选修2—2期中考试预测卷(B卷)
选修2—2期中考试预测卷(A卷)
桌面端,GTX 1650并不是千元价位的显卡好选择
Travellng thg World Full—time for Rree
学习算法的“三种境界”
算法框图的补全
算法初步知识盘点
《福彩3D中奖公式》:提前一月预测号码的惊人技巧!