CN114462524A - 一种面向数据中心批处理作业的聚类方法 - Google Patents
一种面向数据中心批处理作业的聚类方法 Download PDFInfo
- Publication number
- CN114462524A CN114462524A CN202210098427.4A CN202210098427A CN114462524A CN 114462524 A CN114462524 A CN 114462524A CN 202210098427 A CN202210098427 A CN 202210098427A CN 114462524 A CN114462524 A CN 114462524A
- Authority
- CN
- China
- Prior art keywords
- matrix
- layer
- task
- batch processing
- equal
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 69
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000013528 artificial neural network Methods 0.000 claims abstract description 27
- 238000010276 construction Methods 0.000 claims abstract description 15
- 238000000605 extraction Methods 0.000 claims abstract description 15
- 239000011159 matrix material Substances 0.000 claims description 130
- 238000011176 pooling Methods 0.000 claims description 28
- 238000012549 training Methods 0.000 claims description 25
- 239000013598 vector Substances 0.000 claims description 21
- 238000004364 calculation method Methods 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 9
- 238000003064 k means clustering Methods 0.000 claims description 8
- 230000003044 adaptive effect Effects 0.000 claims description 7
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 claims description 4
- 210000002569 neuron Anatomy 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 4
- 238000003062 neural network model Methods 0.000 claims description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 2
- 230000004913 activation Effects 0.000 claims description 2
- 230000003416 augmentation Effects 0.000 claims description 2
- 230000003190 augmentative effect Effects 0.000 claims description 2
- 238000013461 design Methods 0.000 claims description 2
- 238000013507 mapping Methods 0.000 claims description 2
- 238000013439 planning Methods 0.000 abstract description 4
- 239000000284 extract Substances 0.000 abstract description 2
- 230000000694 effects Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000011056 performance test Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000013523 data management Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012733 comparative method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种面向数据中心批处理作业的聚类方法,分为五个步骤:初始化、批处理作业原始资源使用特征建模、批处理作业隐层特征提取模型构建、批处理作业聚类方法构建、批处理作业分类。本发明针对批处理作业,提取了数据中心日志中作业的依赖结构与任务的资源使用特征属性集。基于所提取的特征与依赖关系,利用基于图卷积神经网络的自编码器构建批处理作业聚类方法。通过本发明提供的聚类方法,可以更准确的对批处理作业进行分类,进而提高容量规划、负载生成结果的准确性。
Description
技术领域
本发明属于大数据计算领域,具体涉及数据中心集群中批处理作业的聚类方法。
背景技术
数据中心是互联网及相关产业的信息化基础设施。一个数据中心内部署了多种应用,负载也越来越多样化。批处理作业是数据中心集群中的一类负载,主要特点是非延迟敏感、离线运行,多用于操作大容量静态数据集。通常一个批处理作业包含多个任务,每个任务执行不同的功能逻辑,任务之间往往存在数据依赖。一个任务只有在其所依赖的一个或多个任务完成后才会开始执行。每个任务通过执行多个实例实现并行计算。实例是批处理作业资源消耗的最小单位。
为了进行数据中心的容量规划、负载生成等,首先需要为负载的资源使用特征建立模型。当下负载的复杂多样导致难以提取准确的负载模型,为降低负载的复杂性,可以使用聚类算法,经过聚类使多样的负载分割为多个相似的负载子集,每个子集中选取代表性负载作为子集中所有负载的表示。通过聚类降低负载建模复杂度,提高负载建模的准确性。
既有数据中心批处理作业聚类工作存在以下缺陷:1)无法处理任务间依赖的特征。作业中任务的依赖关系通常使用有向无环图(Directed Acyclic Graph,DAG)表示。批处理作业的资源使用特征受任务依赖关系的影响,相同的任务集在不同的依赖关系下,往往产生不同的资源使用波动性和并发性,构成不同的资源使用模式。既有面向批处理作业的聚类方法只能根据作业资源使用的统计特征,例如平均值和峰值,无法对不同资源消耗模式的作业进行分类。2)多针对任务级别,缺乏针对作业级的聚类方法。针对任务级的聚类方法无法感知到在批处理作业执行过程中的动态资源需求。少数针对作业级别负载进行聚类的方法使用了任务的统计信息,缺乏细粒度的任务信息。使用任务的统计信息导致缺失了任务的具体信息,不能区分开部分作业直接的差异。
本发明旨在针对具有依赖结构的数据中心批处理作业,根据批处理作业的任务依赖特征与资源使用特征进行分类。得到的作业分类结果可用于容量规划、负载生成等。
发明内容
基于以上问题,本发明提出了一种面向数据中心批处理作业聚类方法。本发明针对批处理作业,提取了数据中心日志中作业的依赖结构与任务的资源使用特征属性集。基于所提取的特征与依赖关系,利用基于图卷积神经网络的自编码器构建批处理作业聚类方法。通过本方法所构建的模型,可以更准确的对批处理作业进行分类,进而提高容量规划、负载生成结果的准确性。
本方法所提出的数据中心批处理作业聚类方法主要由五个步骤组成:初始化、批处理作业原始资源使用特征建模、批处理作业隐层特征提取模型构建、批处理作业聚类方法构建、批处理作业分类。在本方法中,有以下重要参数:第1至3层图卷积神经网络的输出矩阵列数c(1)、c(2)、c(3),池化层的输出矩阵行数P,K均值聚类的聚类数量k。c(1)、c(2)、c(3)可根据图卷积常用推荐参数得到,P可根据日志中每个作业中任务的平均数量得到,k可根据肘部法则确定。c(1)取32,c(2)取32,c(3)取8,P取15,k取8。
执行本方法前,将所需日志数据读入。
(1)初始化
使用日志中的批处理作业信息来进行数据的初始化,令日志中包含的属性全集为A={a1,a1...aF},从中选取与任务资源使用特征相关的属性,包括涉及到CPU、内存、执行时间、网络带宽的属性,定义属性子集为S为属性子集T中属性个数。日志中包含的作业集合为W={w1,w2...wZ},其中Z为日志中作业的总数。W中的第i个作业wi由多个任务组成,可表示为wi={wti1,wti2...wtiH},1≤i≤Z,其中H为作业wi中的任务总数,每一个任务由多个执行逻辑相同的并行实例组成,第j个任务可表示为wtij={wiij1,wiij2...wiijV,},1≤i≤Z,1≤J≤H,其中V为任务wtij中的实例总数。实例wiijq的开始时间可定义为time_wiijq,1≤i≤Z,1≤J≤H,1≤q≤V。任务的开始时间为该任务中最早开始执行的实例的开始时间,任务wtij的开始时间可表示为timeij,timeij=min(time_wiij1,time_wiij2,…,time_wiijV)。
(2)批处理作业原始资源使用特征建模
2.1)对于任意作业wi,1≤i≤Z,Z为日志中的总作业数量,其批处理作业原始资源使用特征包含依赖结构与任务资源属性特征,首先通过邻接矩阵定义作业的依赖结构,邻接矩阵形式如下
该矩阵的行数与列数均为H,H的含义为作业wi中包含的任务数量。矩阵的每一行代表一个任务,每一列代表一个任务。矩阵的任一元素mua,1≤u≤H,1≤a≤H,表示批处理作业中任务wtia是否依赖于任务wtiu。若存在依赖,则mua=1;否则mua=0。依赖的定义如背景技术中所述,任务间是否存在依赖可根据wtia是否只有在任务wtiu结束后才能开始判断,如果是则存在依赖。
2.2)对于任一作业wi,1≤i≤Z,使用任务特征矩阵定义每个任务的资源使用特征,其形式如下:
矩阵的行数为H,列数为S。其中S为从日志中选取的与任务资源使用特征相关的属性总数,矩阵任意元素fj,q,1≤j≤H,1≤q≤S,表示作业wi中,任务wtij在属性tq上的属性值。
2.3)对于每一个作业wi,根据其依赖结构,初始化邻接矩阵Mi,根据其任务资源使用特征,初始化特征矩阵Fi。
(3)批处理作业隐层特征提取模型构建
3.1)使用自编码神经网络作为批处理作业隐层特征提取模型的设计结构,自编码神经网络由编码器与解码器构成,编码器由三层图卷积层、卷积层、池化层以及层全连接层组成。解码器由层全连接层、反池化层、反卷积层、以及三层反图卷积层组成。通过减小编码器的输入与解码器输出之间的差异训练自编码神经网络,训练完成后使用编码器部分输出作业的隐层特征向量。
模型的输入为尺寸为H×H的邻接矩阵M与尺寸为H×S的特征矩阵F,输出为批处理作业的隐层特征向量,该特征向量汇集了作业在依赖结构与资源使用上的特征。学习率普遍推荐为0.01或0.001,设置自编码神经网络的学习率为0.01,训练的批尺寸为日志样本数据集全集规模。
编码器中的图卷积层计算方法如公式(1)至公式(3)所示。首先计算作业w的增广邻接矩阵计算公式如公式(1)所示,其中M为作业w的邻接矩阵,I为与M相同行数的单位矩阵。之后计算作业w的增广对角度矩阵计算公式如公式(2)所示,其中表示矩阵和第i行、第j列的数值,表示矩阵中第i行、第q列的数值,H为矩阵的行数,也是作业w中的任务总数。公式(3)是图卷积层的迭代计算公式,其中G(m)是第m层图卷积的输入矩阵,G(0)为作业w的特征矩阵F。θ(m)是图卷积操作的参数矩阵,具体数值需要通过训练得到,通过θ(m)将第m层具有c(m)维特征的矩阵G(m)映射至c(m+1)维,θ(m)是行数为c(m)、列数为c(m+1)的实数矩阵。ξ(·)是tanh激活函数。在三次图卷积后,得到矩阵G(3)。
图卷积层后为卷积层,在卷积开始前根据作业中每个任务的开始时间timeij重新对图卷积层的输出矩阵G(3)进行排序,矩阵G(3)中每一行代表一个任务,重新排序后,开始时间timeij小的任务所对应的行将位于矩阵上方,开始时间晚的任务所对应的行则位于矩阵下方。将作业中每个任务在DAG中的层数l添加至矩阵中对应行的右侧,层数l为根任务(不依赖于其他任务)至该任务的最短路径,此时矩阵G(3)的列数变为c(3)+1。卷积层的卷积核尺寸为2×(c(3)+1),步长为1,即卷积核的列数与输入矩阵列数相等。池化层由自适应平均池化与带权值的自适应平均池化构成。自适应平均池化的参数为输出矩阵的尺寸output_size,output_size=(P,1)。通过output_size与输入矩阵的尺寸input_size计算得到池化的参数步长stride与核数kernel_size,计算如公式(4)与公式(5)所示,其中floor()函数为向下取整。池化层的计算公式如公式(6)所示,P为输出矩阵的行数,H为输入矩阵的行数,adaptiveAvgPool()为自适应平均池化。池化层输出矩阵的尺寸为P×2。全连接层输出作业的特征向量Vw,神经元个数为8。
stride=floor(input_size÷output_size)#(4)
kernel_size=input_size-(output_size-1)×stride#(5)
解码器中的全连接层的神经元数量为2P。反池化层计算如公式(7)所示,avgUnpool()函数为反平均池化,参数与编码器中的自适应池化相同。反卷积层的参数与编码器中卷积层相同。之后根据编码器中的排序,将卷积层的输出矩阵中的每行还原至原始位置。反图卷积层的计算公式同公式(1),第一层反卷积层的参数与第三层卷积层相同,第二层反卷积层的参数与二层卷积层相同,以此类推。
训练时损失值根据输入矩阵F和解码器输出的差异计算,具体公式如公式(8)所示。其中F为编码器输入的特征矩阵,为解码器的输出矩阵,||·||F为Frobenius范数,H为作业w中的任务数量,N为日志中具有H个任务的作业样本数量,Z为日志中作业样本的总数。
3.2)使用批处理作业集W训练自编码神经网络模型AE。
3.2.1)训练构建好的自编码神经网络AE,将作业集W中的所有作业wi作为样本数据,wi代表作业集中的第i个作业。邻接矩阵Mi与特征矩阵Fi作为模型的输入值,根据损失值通过向前传播算法和Adam优化器更新模型参数进行训练,重复输入直到所有作业训练完毕
3.2.2)重复3.2.1)的过程,对模型进行多轮参数更新,直到两次迭代的损失值差异小于2%时停止迭代。在参数更新结束后作业训练完成。
(4)批处理作业聚类模型构建
4.1)选取批处理作业的隐层特征向量X作为聚类所需的特征值,使用K均值聚类算法进行聚类,定义K均值聚类簇数k=8,聚类后的批处理作业类簇CL={cl1,cl2,…,clk}。初始化随机选取k个簇的的中心点,中心点集合为CT={c1,c2,…ck},其中ci代表第i个簇的中心点样本ci→cli。
4.2)遍历作业集W,对任意wi按照公式(9)计算其与k个中心点的距离。其中Xi为作业wi的特征向量,Xj为第j个类簇的中心点的特征向量,||·||F为Frobenius范数。与任务wi间距离最小的中心点所在的簇作为任务wi的归属,如公式(10)所示,其中cluster()函数返回所属的簇,将wi加入集合cluster(wi)中。遍历作业集W,W中任意作业wi存在归属簇后,重新计算每个簇的中心点,按照公式(11)所示更新每个簇的中心点,ci为簇cli的中心点,n为簇cli中元素数量,Xj所对应的wi∈cli。
4.3)重复步骤4.2),直到簇的中心点不再变化,至此完成作业集W的聚类,得到聚类模型。
4.4)根据聚类结果,将批处理作业数据集分为簇,每个簇中的作业具有相似的DAG结构与资源消耗模式。
(5)批处理作业分类
5.1)对于任一任务w,输入其邻接矩阵M与特征矩阵F至步骤3)中的自编码神经网络中,使用自编码神经网络进行隐层特征提取,自编码神经网络的编码器部分输出批处理作业的特征向量X。
5.2)重复步骤5.1)直到完成所有批处理作业的特征提取。
5.3)对任意批处理作业w,计算作业w的特征向量X与批处理聚类模型中每个中心点的距离,计算公式如公式(9)所示。其中距离作业w距离最小的中心点所属的簇即为作业w所属的簇,至此完成作业w的分类。
附图说明
图1为面向数据中心批处理作业聚类方法依附的集群平台。
图2为本发明的架构图。
图3为本发明的流程图。
图4为批处理作业原始资源使用特征建模的流程图。
图5为批处理作业隐层特征提取模型构建的流程图。
图6为批处理作业聚类方法构建的流程图。
具体实施方式
下面结合附图和具体实施方式对本发明加以说明。
本发明所提出的面向数据中心批处理作业的聚类方法搭建在多台连接的服务器上,通过编写相应的功能实现,图1是本方法搭建的平台的部署图。该平台由多个计算机服务器(平台节点)组成,服务器间通过网络连接,分布式的存储数据和执行任务。平台节点分为两类:包括一个管理节点和多个计算节点。本发明方法所搭建的平台包含三类核心软件模块:数据管理模块、数据接收模块、数据处理模块。其中,数据管理模块负责为数据接收模块分配所需的日志数据,并收集管理数据结果,仅在管理节点上部署;数据接收模块负责拉取所需的日志数据,需要在每个计算节点上部署;数据处理模块负责运行相应算法,将结果返回到资源管理模块,该模块在计算节点上部署。上述三类软件模块都在平台启动时部署运行。
图2为本发明方法的架构图,本发明以数据中心非侵入式日志为输入,首先为每一个作业生成对应的邻接矩阵与特征矩阵。基于生成的邻接矩阵与特征矩阵集合,为批处理作业构建自编码神经网络模型,通过对模型进行训练,得到批处理作业隐层特征提取模型,将任意作业样本的邻接矩阵与特征矩阵输入到特征提取模型中,得到作业的隐层特征向量。对作业集构建聚类模型,进行训练后得到不同分类的中心点。将任意作业的隐层特征向量输入至聚类模型中,即可得到该作业的分类结果。
下面结合图3发明内容总流程说明本方法的具体实施方法。在本实施方法中,基本参数设置如下:第一层图卷积神经网络的输出矩阵列数c(1)=32,第二层图卷积层输出矩阵列数c(2)=32,第三层图卷积层输出矩阵列数c(3)=8,池化层的输出矩阵行数P=15,K均值聚类的聚类数量k=8。
具体实施方法可分为以下步骤:
1.初始化
本发明所使用的日志中共有49个日志属性,包含的属性全集为A={a1,a1...a49},与任务相关的属性有23个,从中人工选取所需的属性子集T={t1,t2...t4},分别为执行时间duration、包含实例的数量instance、CPU利用率cpu、内存利用率mem。日志中包含的作业共有4201014个,作业集合为W={w1,w2...w4201014};以作业w1为例,作业w1由12个任务组成,w1={wt1,1,wt1,2...wt1,12},每个任务的开始时间为timeij,例如作业w1中的任务wt1,1的开始时间为362010。
2.批处理作业原始资源使用特征建模
2.1)对于每一个作业wi根据作业及其任务的实际执行情况,完成邻接矩阵与特征矩阵构建。以作业w5为例,w5所属的任务共有6个任务,w5={wt1,1,wt1,2,…,wt1,6},属性子集T={t1,t2...t4},故按照发明内容中步骤2.1)以及2.2)的方法定义其邻接矩阵M5和特征矩阵F5,其形式如下:
2.2)对于每一个作业wi,在2.1)构建的模型基础上进行作业Mi和Fi的初始化以及数据填充。
2.2.1)选择一个未生成邻接矩阵与特征矩阵的作业wi,以作业w5为例,通过发明内容中步骤2.3)的方法建立作业w5的邻接矩阵与特征矩阵。作业w5中的任务wt1,2、wt1,3、wt1,4依赖于wt1,1,wt1,5依赖于wt1,2、wt1,3,wt1,6依赖于wt1,4、wt1,5,因此构建邻接矩阵M5如下:
继续构建特征矩阵F5,根据每个任务的duration、instance、cpu、mem特征值填充矩阵,特征矩阵如下:
2.2.2)重复步骤2.2)~2.2.1)直到对所有作业建立邻接矩阵与特征矩阵。
3.批处理作业特征提取模型构建
3.1)根据基本参数构建自编码神经网络的基本结构,第一层图卷积神经网络的输出矩阵列数c(1)=32,第二层图卷积层输出矩阵列数c(2)=32,第三层图卷积层输出矩阵列数c(3)=8,池化层的输出矩阵行数P=15,设置神经网络学习率为0.01,训练批尺寸为总样本数量。
3.2)训练自编码神经网络。
3.2.1)以作业集W为例,样本的输入为作业集中每个作业的邻接矩阵与特征矩阵,不同样本的邻接矩阵大小不同。通过发明内容中步骤3.2)的方法进行训练,直到作业集W中的作业全部训练完毕。
3.3)重复3.2.1)的过程,对模型进行多轮参数更新,直到两次轮的损失值差异小于2%时停止迭代。在参数更新结束后训练完成,完成自编码神经网络AE的构建。
4.批处理作业聚类模型构建
4.1)构建K均值聚类模型,设置簇数为8。初始化模型,在作业集W随机选取8个样本,作为每个簇的中心点。
4.2)训练批处理作业聚类模型。
4.2.1)按照发明内容中步骤4.2)中的方法对模型中每个簇的中心点进行更新。
4.2.2)重复步骤4.2.2)直到模型中的中心点不再变化,完成聚类模型的训练。
5.批处理作业分类
5.1)以作业集W中的作业w5为例,将其邻接矩阵M5与特征矩阵F5输入至特征提取模型中,自编码神经网络的编码器输出作业w5的特征向量X5,其形式如下:
X5={0.1,1.2,-3.1,…,2.1}
5.2)重复步骤5.1)直到完成所有批处理作业的特征提取。
5.3)对任意批处理作业wi按照发明内容中步骤5.3)的方法进行分类,得到作业wi的所属类型,至此完成批处理作业分类。
根据本发明所提出的面向数据中心批处理作业聚类方法,发明人进行了相关的性能测试。测试结果表明本发明方法可适用于具有数据体量庞大的阿里巴巴数据中心日志。采用本方法可较准确地对数据中心日志中的作业进行分类。
性能测试将本方法与现存的聚类方法进行比较,以体现本发明提出的方法在干扰程度预测准确率上的优势。对比方法如下:
(1)基于资源使用情况数据的K-Means聚类方法
该方法使用批处理作业的资源使用情况作为样本的多个特征维度,使用基本的K-means算法作为聚类方法。
(2)针对单个特征维度聚类再组合的聚类方法
该方法为使用批处理作业的资源使用情况作为特征,针对每个特征维度单独进行聚类。之后对类型进行组合,得到样本最终的分类归属。
性能测试运行于由1台计算机,硬件配置包括:Intel E5-2660@2.20GHz的CPU、64GB DDR4 RAM。
轮廓系数(Silhouette Coefficient)与CH指数(Calinski-Harabaz Index)常被用于评估聚类模型的分类效果。轮廓系数的计算方法如公式(12)所示,其中a是与它同类别中其他样本的平均距离,b是与它距离最近不同类别中样本的平均距离。CH指数的计算方法如公式(13)所示,其中m为训练集样本数,k为类别数,Bk为类别之间的协方差矩阵,Wk为类别内部数据的协方差矩阵,tr为矩阵的迹。
性能测试选择阿里巴巴日志中的批处理作业,针对依赖的图结构特征(包括节点数量、关键路径长度、最大并行度、边密度)的评估结果如表1所示。针对资源使用特征(执行时间、CPU、内存使用)的评估结果如表2所示。
表1针对图结构特征的聚类效果对比结果
表2针对资源使用特征的聚类效果对比结果
由表1和表2的数据可以得出,相对于对比方法,本发明方法在图结构特征上的指标提升较高,轮廓系数提高0.33,CH指数提高52倍。在资源使用特征上本发明方法与对比方法差距不大。综上,本发明方法在保证资源使用特征的聚类效果同时,在图结构特征上具有较大提升。
最后应说明的是:以上示例仅用以说明本发明而并非限制本发明所描述的技术,而一切不脱离发明的精神和范围的技术方案及其改进,其均应涵盖在本发明的权利要求范围当中。
Claims (1)
1.一种面向数据中心批处理作业的聚类方法,其特征在于:由五个步骤组成:初始化、批处理作业原始资源使用特征建模、批处理作业隐层特征提取模型构建、批处理作业聚类方法构建、批处理作业分类:
有以下重要参数:第1至3层图卷积神经网络的输出矩阵列数c(1)、c(2)、c(3),池化层的输出矩阵行数P,K均值聚类的聚类数量k;c(1)、c(2)、c(3)根据图卷积常用推荐参数得到,P根据日志中每个作业中任务的平均数量得到,k根据肘部法则确定;c(1)取32,c(2)取32,c(3)取8,P取15,k取8;
(1)初始化
使用日志中的批处理作业信息来进行数据的初始化,令日志中包含的属性全集为A={a1,a1...aF},从中选取与任务资源使用特征相关的属性,包括涉及到CPU、内存、执行时间和网络带宽的属性,定义属性子集为T={t1,t2...tS}, S为属性子集T中属性个数;日志中包含的作业集合为W={w1,w2...wZ},其中Z为日志中作业的总数;W中的第i个作业wi由多个任务组成,表示为wi={wti1,wti2...wtiH},1≤i≤Z,其中H为作业wi中的任务总数,每一个任务由多个执行逻辑相同的并行实例组成,第j个任务表示为wtij={wiij1,wij2...wiijV,},1≤i≤Z,1≤j≤H,其中V为任务wtij中的实例总数;实例wiijq的开始时间定义为time_wiijq,1≤i≤Z,1≤j≤H,1≤q≤V;任务的开始时间为该任务中最早开始执行的实例的开始时间,任务wtij的开始时间表示为timeij,timeij=min(time_wiij1,time_wiij2,…,time_wiijV);
(2)批处理作业原始资源使用特征建模
2.1)对于任意作业wi,1≤i≤Z,Z为日志中的总作业数量,其批处理作业原始资源使用特征包含依赖结构与任务资源属性特征,首先通过邻接矩阵定义作业的依赖结构,邻接矩阵形式如下
该矩阵的行数与列数均为H,H的含义为作业wi中包含的任务数量;矩阵的每一行代表一个任务,每一列代表一个任务;矩阵的任一元素mua,1≤u≤H,1≤a≤H,表示批处理作业中任务wtia是否依赖于任务wtiu;若存在依赖,则mua=1;否则mua=0;任务间是否存在依赖根据wtia是否只有在任务wtiu结束后才能开始判断,如果是则存在依赖;
2.2)对于任一作业wi,1≤i≤Z,使用任务特征矩阵定义每个任务的资源使用特征,其形式如下:
矩阵的行数为H,列数为S;其中S为从日志中选取的与任务资源使用特征相关的属性总数,矩阵任意元素fj,q,1≤j≤H,1≤q≤S,表示作业wi中,任务wtij在属性tq上的属性值;
2.3)对于每一个作业wi,根据其依赖结构,初始化邻接矩阵Mi,根据其任务资源使用特征,初始化特征矩阵Fi;
(3)批处理作业隐层特征提取模型构建
3.1)使用自编码神经网络作为批处理作业隐层特征提取模型的设计结构,自编码神经网络由编码器与解码器构成,编码器由三层图卷积层、卷积层、池化层以及层全连接层组成;解码器由层全连接层、反池化层、反卷积层、以及三层反图卷积层组成;通过减小编码器的输入与解码器输出之间的差异训练自编码神经网络,训练完成后使用编码器部分输出作业的隐层特征向量;
模型的输入为尺寸为H×H的邻接矩阵M与尺寸为H×S的特征矩阵F,输出为批处理作业的隐层特征向量,该特征向量汇集了作业在依赖结构与资源使用上的特征;学习率为0.01或0.001,设置自编码神经网络的学习率为0.01,训练的批尺寸为日志样本数据集全集规模;
编码器中的图卷积层计算方法如公式(1)至公式(3)所示;首先计算作业w的增广邻接矩阵计算公式如公式(1)所示,其中M为作业w的邻接矩阵,I为与M相同行数的单位矩阵;之后计算作业w的增广对角度矩阵计算公式如公式(2)所示,其中表示矩阵中第i行、第j列的数值,表示矩阵中第i行、第q列的数值,H为矩阵的行数,也是作业w中的任务总数;公式(3)是图卷积层的迭代计算公式,其中G(m)是第m层图卷积的输入矩阵,G(0)为作业w的特征矩阵F;θ(m)是图卷积操作的参数矩阵,具体数值需要通过训练得到,通过θ(m)将第m层具有c(m)维特征的矩阵G(m)映射至c(m+1)维,θ(m)是行数为c(m)、列数为c(m+1)的实数矩阵;ξ(·)是tanh激活函数;在三次图卷积后,得到矩阵G(3);
图卷积层后为卷积层,在卷积开始前根据作业中每个任务的开始时间timeij重新对图卷积层的输出矩阵G(3)进行排序,矩阵G(3)中每一行代表一个任务,重新排序后,开始时间timeij小的任务所对应的行将位于矩阵上方,开始时间晚的任务所对应的行则位于矩阵下方;将作业中每个任务在DAG中的层数l添加至矩阵中对应行的右侧,层数l为根任务至该任务的最短路径,此时矩阵G(3)的列数变为c(3)+1;卷积层的卷积核尺寸为2×(c(3)+1),步长为1,即卷积核的列数与输入矩阵列数相等;池化层由自适应平均池化与带权值的自适应平均池化构成;自适应平均池化的参数为输出矩阵的尺寸output_size,output_size=(P,1);通过output_size与输入矩阵的尺寸input_size计算得到池化的参数步长stride与核数kernel_size,计算如公式(4)与公式(5)所示,其中floor()函数为向下取整;池化层的计算公式如公式(6)所示,P为输出矩阵的行数,H为输入矩阵的行数,adaptiveAvgPool()为自适应平均池化;池化层输出矩阵的尺寸为P×2;全连接层输出作业的特征向量Vw,神经元个数为8;
stride=floor(input_size÷output_size) (4)
kernel_size=input_size-(output_size-1)×stride (5)
解码器中的全连接层的神经元数量为2P;反池化层计算如公式(7)所示,avgUnpool()函数为反平均池化,参数与编码器中的自适应池化相同;反卷积层的参数与编码器中卷积层相同;之后根据编码器中的排序,将卷积层的输出矩阵中的每行还原至原始位置;反图卷积层的计算公式同公式(1),第一层反卷积层的参数与第三层卷积层相同,第二层反卷积层的参数与二层卷积层相同,以此类推;
训练时损失值根据输入矩阵F和解码器输出的差异计算,具体公式如公式(8)所示;其中F为编码器输入的特征矩阵,为解码器的输出矩阵,||·||F为Frobenius范数,H为作业w中的任务数量,N为日志中具有H个任务的作业样本数量,Z为日志中作业样本的总数;
3.2)使用批处理作业集W训练自编码神经网络模型AE;
3.2.1)训练构建好的自编码神经网络AE,将作业集W中的所有作业wi作为样本数据,wi代表作业集中的第i个作业;邻接矩阵Mi与特征矩阵Fi作为模型的输入值,根据损失值通过向前传播算法和Adam优化器更新模型参数进行训练,重复输入直到所有作业训练完毕;
3.2.2)重复3.2.1)的过程,对模型进行多轮参数更新,直到两次迭代的损失值差异小于2%时停止迭代;在参数更新结束后作业训练完成;
(4)批处理作业聚类模型构建
4.1)选取批处理作业的隐层特征向量X作为聚类所需的特征值,使用K均值聚类算法进行聚类,定义K均值聚类簇数k=8,聚类后的批处理作业类簇CL={cl1,cl2,…,clk};初始化随机选取k个簇的的中心点,中心点集合为CT={c1,c2,…ck},其中ci代表第i个簇的中心点样本ci→cli;
4.2)遍历作业集W,对任意wi按照公式(9)计算其与k个中心点的距离;其中Xi为作业wi的特征向量,Xj为第j个类簇的中心点的特征向量,||·||F为Frobenius范数;与任务wi间距离最小的中心点所在的簇作为任务wi的归属,如公式(10)所示,其中cluster()函数返回所属的簇,将wi加入集合cluster(wi)中;遍历作业集W,W中任意作业wi存在归属簇后,重新计算每个簇的中心点,按照公式(11)所示更新每个簇的中心点,ci为簇cli的中心点,n为簇cli中元素数量,Xj所对应的wi∈cli;
4.3)重复步骤4.2),直到簇的中心点不再变化,至此完成作业集W的聚类,得到聚类模型;
4.4)根据聚类结果,将批处理作业数据集分为簇,每个簇中的作业具有相似的DAG结构与资源消耗模式;
(5)批处理作业分类
5.1)对于任一任务w,输入其邻接矩阵M与特征矩阵F至步骤3)中的自编码神经网络中,使用自编码神经网络进行隐层特征提取,自编码神经网络的编码器部分输出批处理作业的特征向量X;
5.2)重复步骤5.1)直到完成所有批处理作业的特征提取;
5.3)对任意批处理作业w,计算作业w的特征向量X与批处理聚类模型中每个中心点的距离,计算公式如公式(9)所示;其中距离作业w距离最小的中心点所属的簇即为作业w所属的簇,至此完成作业w的分类。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210098427.4A CN114462524A (zh) | 2022-01-19 | 2022-01-19 | 一种面向数据中心批处理作业的聚类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210098427.4A CN114462524A (zh) | 2022-01-19 | 2022-01-19 | 一种面向数据中心批处理作业的聚类方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114462524A true CN114462524A (zh) | 2022-05-10 |
Family
ID=81412061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210098427.4A Pending CN114462524A (zh) | 2022-01-19 | 2022-01-19 | 一种面向数据中心批处理作业的聚类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114462524A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242724A (zh) * | 2022-07-21 | 2022-10-25 | 东南大学 | 一种基于两阶段聚类的高速网络流量服务分类方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020215560A1 (zh) * | 2019-04-26 | 2020-10-29 | 平安科技(深圳)有限公司 | 自编码神经网络处理方法、装置、计算机设备及存储介质 |
CN112667591A (zh) * | 2021-01-12 | 2021-04-16 | 北京工业大学 | 一种基于海量日志的数据中心任务干扰预测方法 |
CN113128600A (zh) * | 2021-04-23 | 2021-07-16 | 湖北珞珈环创科技有限公司 | 一种结构化深度非完整多视角聚类方法 |
CN113157957A (zh) * | 2021-03-05 | 2021-07-23 | 北京工业大学 | 一种基于图卷积神经网络的属性图文献聚类方法 |
WO2021227787A1 (zh) * | 2020-05-09 | 2021-11-18 | 华为技术有限公司 | 训练神经网络预测器的方法、图像处理方法及装置 |
-
2022
- 2022-01-19 CN CN202210098427.4A patent/CN114462524A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020215560A1 (zh) * | 2019-04-26 | 2020-10-29 | 平安科技(深圳)有限公司 | 自编码神经网络处理方法、装置、计算机设备及存储介质 |
WO2021227787A1 (zh) * | 2020-05-09 | 2021-11-18 | 华为技术有限公司 | 训练神经网络预测器的方法、图像处理方法及装置 |
CN112667591A (zh) * | 2021-01-12 | 2021-04-16 | 北京工业大学 | 一种基于海量日志的数据中心任务干扰预测方法 |
CN113157957A (zh) * | 2021-03-05 | 2021-07-23 | 北京工业大学 | 一种基于图卷积神经网络的属性图文献聚类方法 |
CN113128600A (zh) * | 2021-04-23 | 2021-07-16 | 湖北珞珈环创科技有限公司 | 一种结构化深度非完整多视角聚类方法 |
Non-Patent Citations (1)
Title |
---|
殷云华: "基于混合卷积自编码极限学习机的RGB-D物体识别", 《红外与激光工程》, no. 2, 28 February 2018 (2018-02-28), pages 61 - 68 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242724A (zh) * | 2022-07-21 | 2022-10-25 | 东南大学 | 一种基于两阶段聚类的高速网络流量服务分类方法 |
CN115242724B (zh) * | 2022-07-21 | 2024-05-31 | 东南大学 | 一种基于两阶段聚类的高速网络流量服务分类方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Taddy et al. | Dynamic trees for learning and design | |
Papakostas et al. | Towards Hebbian learning of fuzzy cognitive maps in pattern classification problems | |
US8156056B2 (en) | Method and system of classifying, ranking and relating information based on weights of network links | |
Li et al. | OLPS: a toolbox for on-line portfolio selection | |
Malavé et al. | Neural network-based design of cellular manufacturing systems | |
US20170330078A1 (en) | Method and system for automated model building | |
CN111695042B (zh) | 基于深度游走和集成学习的用户行为预测方法及系统 | |
CN111582350A (zh) | 一种基于距离加权LSSVM的过滤因子优化AdaBoost方法及系统 | |
Li et al. | Heterogeneous ensemble learning with feature engineering for default prediction in peer-to-peer lending in China | |
CN112149045A (zh) | 一种适用于大规模数据的降维、关联分析方法 | |
CN113221475A (zh) | 一种用于高精度流场分析的网格自适应方法 | |
CN113032367A (zh) | 面向动态负载场景的大数据系统跨层配置参数协同调优方法和系统 | |
CN114462524A (zh) | 一种面向数据中心批处理作业的聚类方法 | |
CN111695260B (zh) | 一种材料性能预测方法及系统 | |
KR100842215B1 (ko) | 서포트 벡터 도메인 묘사를 이용한 다범주 분류 방법 및장치와 그에 사용되는 컴퓨터 판독가능 저장매체 | |
CN112667591A (zh) | 一种基于海量日志的数据中心任务干扰预测方法 | |
CN115344386A (zh) | 基于排序学习的云仿真计算资源预测方法、装置和设备 | |
Gauraha | Stability feature selection using cluster representative lasso | |
CN115081856A (zh) | 一种企业知识管理绩效评价装置及方法 | |
Li et al. | Time series clustering based on relationship network and community detection | |
Rios et al. | Back to meshes: Optimal simulation-ready mesh prototypes for autoencoder-based 3D car point clouds | |
CN113191540A (zh) | 一种产业链路制造资源的构建方法及装置 | |
Mukherjee | t-SNE based feature extraction technique for multi-layer perceptron neural network classifier | |
CN112948115A (zh) | 一种基于极限学习机的云工作流调度器压力预测方法 | |
Perez et al. | Bottleneck-aware task scheduling based on per-stage and multi-ml profiling |
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 |