浙江大学学报(理学版), 2022, 49(4): 467-473 doi: 10.3785/j.issn.1008-9497.2022.04.010

电子科学

一种基于V-TGRU模型的资源调度算法

常晓洁,,, 张华

浙江大学 信息技术中心,浙江 杭州 310058

A resource scheduling algorithm based on V-TGRU model

CHANG Xiaojie,,, ZHANG Hua

Information Technology Center,Zhejiang University,Hangzhou 310058,China

收稿日期: 2021-11-26  

Received: 2021-11-26  

作者简介 About authors

常晓洁(1988—),ORCID:https://orcid.org/0000-0002-9461-3670,女,硕士,工程师,主要从事计算机应用及云计算研究,E-mail:changxj@zju.edu.cn. , E-mail:changxj@zju.edu.cn

摘要

提出了一种在私有云计算环境下基于机器学习V-TGRU模型进行资源预测的算法。通过统计历史记录,将其与当前工作负载下不同任务的先验资源使用情况相结合,同时考虑工作负载特性、主机特征和同一资源池中任务之间的亲和性等因素,动态预测多任务的资源占用情况,并根据预测结果和任务运行现状进行多目标任务优化调度。实验证明,此算法能有效完成对资源的预判选择、减少调度次数、节约调度时间、节省云计算资源和带宽,保障应用任务稳定运行。

关键词: 机器学习 ; 资源预测 ; 任务调度 ; 云计算

Abstract

This paper presents a new algorithm for resource prediction based on machine learning model V-TGRU in private cloud computing environment. The algorithm makes statistics of historical records and combines the prior resource usage of different tasks under the current workload, at the same time, considering the workload characteristics, host characteristics, the affinity between tasks in the same resource pool and other factors. The multi factor data matrix is further standardized and coded. The standardized coded data are modeled by V-TGRU to dynamically predict the resource occupation of multi tasks, and carry out multi-objective task optimal scheduling. Experimental results show that this method can effectively complete the pre-judgment and selection of resources, reduce the scheduling time and times, save cloud resources and bandwidth, and ensure the stable operation of application tasks.

Keywords: machine learning ; resource prediction ; task scheduling ; cloud computing

PDF (1291KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

常晓洁, 张华. 一种基于V-TGRU模型的资源调度算法. 浙江大学学报(理学版)[J], 2022, 49(4): 467-473 doi:10.3785/j.issn.1008-9497.2022.04.010

CHANG Xiaojie, ZHANG Hua. A resource scheduling algorithm based on V-TGRU model. Journal of Zhejiang University(Science Edition)[J], 2022, 49(4): 467-473 doi:10.3785/j.issn.1008-9497.2022.04.010

云计算是一种基于可配置网络、存储、服务器、应用软件等计算资源共享池进行计算并按需分配和付费的服务模型1-4。云计算环境下的资源分配和调度是云计算服务领域的核心问题。随着云计算技术的不断发展和应用需求的持续提高,云计算环境的复杂性日益加剧,机器选择过程中基于任务应用行为5、故障表现6、能源效率7、亲和性8等最优调度算法的影响因素研究正吸引越来越多学者的兴趣。机器学习是依靠过去的经验数据创建模型的能力9-10,调度算法的优化需通过机器学习组件提高复杂决策的准确性和有效性11。文献[12-13]提出了基于决策树、支持向量机、神经网络等经典模型的机器学习算法在云计算场景中的应用。文献[14-15]讨论了应用强化的机器学习算法进行权限管理和资源分配。文献[16-20]分别介绍了针对单一资源变量,如CPU或资源请求输入门控循环单元(gate recurrent unit,GRU)、长短期记忆(long short term memory,LSTM)网络以及改进离散检测GRU(IGRU-SD)算法进行资源预测。上述研究均基于单变量环境下的优化策略,在实际应用过程中则需考虑精度、训练时间、参数量、特性数量和变量之间的关系等。

文献[21]研究了虚拟化服务器集群中电源优化的动态配置方法;文献[22]研究了基于信任驱动和服务质量需求的工作流聚类分析调度方法;文献[23]研究了云计算环境下基于分簇的资源调度算法;文献[24]研究了基于分布式深度学习的多个异构神经网络调度模型。这些方法对云资源的充分调度具有一定借鉴意义,但在任务调度过程中,尚存在大量闲散的、未被利用的计算资源以及任务的反复调度所造成的资源浪费。

针对上述云计算环境下资源调度算法的问题,提出在私有云计算环境下基于机器学习变量传输控制GRU(V-TGRU)模型的资源预测算法。

1 资源预测模型

1.1 数据预处理

以用户提交的每个实例为单位进行云计算资源匹配,用户提交的n个实例组成应用集X={X1X2Xn},每个实例要求采集p个参数组成向量矩阵:X={X1X2Xp},其中XRnT/t×p

云环境有n个虚拟资源组成,第i个虚拟资源池状态可表示为Y={Y1YiYq}的向量矩阵,YRmT/t×q

利用云计算环境中虚拟资源的各项属性值、均值以及标准差对采集到的原始应用实例数据和资源池数据进行标准化处理,标准化迭代公式为

rij''=rij-Sjrj min'-r¯jSjrj max'-Sjrj min'

其中,rij表示第i个资源池的第j个参数,rj min'表示第j个参数标准化的最小值, rj max'表示第j个参数标准化的最大值,rj¯表示第j个参数的平均值,Sj表示第j个参数的标准差。

1.2 V-TGRU算法模型

GRU算法的记忆较循环神经网络(recurrent neural network,RNN)算法更长,训练速度较LSTM网络算法更快,但仍存在需要预处理数据包和内存使用率高等问题。为此,引入变量门控递归单元,包括1个调整新输入与前内存合并的重置器、1个控制前内存保存的更新门Z。

图1

图1   V-TGRU模型结构

Fig.1   V-TGRU model structure


在V-TGRU模型框架中,提出了一种具有双向结构和门控递归单元变量w的增强型V-TGRU网络。首先,将双向结构应用于捕获输出,从而提高GRU模型的表达能力。所采用的加权特征平均法简单地导出了每个时间点带中心双加权方案的平均向量。其由两部分组成:双向GRU输出和加权平均特征。变量w和变量激活指变量w中的权重和激活功能与GRU相同,但V-TGRU中的权重w和激活功能采用二值化表征。此外,V-TGRU用编码器自动进行预处理。编码器中输入的为压缩数据,通常比原始输入数据更规整,从而降低内存占用率,解决GRU算法需要预处理数据包和内存使用率高的问题。

V-TGRU预测模型25的算法流程:

输入:采集到的N个实例资源占用情况矢量包Xi={XID,Xlen,Xin,Xout,Xcpu,Xmem,Xnet,Xtk}

输出:测试数据集的评估结果。

步骤1 创建编码器模型。

(1) 添加第一个编码器层e1单元的tanh触发;

(2) 添加第二个编码器层e2单元的tanh触发。

步骤2 创建V-TGRU模型。

(1) 添加第一个V-TGRU层l1单元,退出dropout为d1且循环退出dropout为r1;

(2) 添加第一个V-TGRU层l2单元,退出dropout为d2且循环退出dropout为r2。

步骤3 训练和验证模型。

(1) 当训练模型验证集上的误差不满足早停法条件时;

(2) 当训练数据集不为空时;

(3) 将计算周期数据集作为模型输入;

(4) 计算Hpq)分类交叉熵损失函数;

(5) 用随机梯度下降优化算法更新权重和偏差;

(6) 用验证集验证输出的训练模型。

步骤4 测试模型。

(1) 用测试数据集测试已优化的超参数;

(2) 返回测试数据集的评估结果。

编码器编码:X=[x1,x2,xp]T为编码器的输入数据矢量,X=[x1',x2',xp']为编码器的输出数据矢量。利用tanh激活功能,最终接收的节点值为

X'=fx=tanh (WX+b)

用编码器对标准化后的矩阵 XY 编码,得到历史时段占用资源的时间序列矩阵X'=[x1',,xi',,xp]和资源池的性能时间序列矩阵Y'=[y1',,yi',,yq],其中p>q

为提高训练过程的稳定性和收敛速度,采用批量梯度下降法进行训练,同时,采用误差反向传播法调整参数。对于GRU模型,有2种反向传播方式:用最后一个时刻的值作为输出和用各时刻的平均值作为输出,参数更新式为

wt=-ηJw+αw(t-1)

其中,Δw(t)为第t次迭代的加权更新,η为算法的学习率,0≤α<1为动量项,J为成本函数。

V-TGRU在最后一个时间点的隐藏输出可代表任务资源的占用情况,但在V-TGRU中,序列中间区域的信息可能会丢失。考虑序列的起始和结束区域对后向GRU和前向GRU的输出贡献很大,因此,引入加权特征平均提供局部特征序列tk的另一种观点。平均特征序列向量t¯

t¯=k=1Nwktk

其中,wk表示迭代权值,k表示随机时间步长索引。为突出中间局部特征的影响,迭代权值设计为

wk=exp (min (k-1,T-k))j=1Texp (min (j-1,T-j))

其中,j表示随机时间步长参数量,T表示参数总量。

2 基于预测结果的调度模型

本文提出的基于预测结果的调度模型将在调度过程中结合多实例的现在及未来状态值和资源池的现在及未来状态值、实例调度的网络传输时间以及CPU资源计算时间,以实例调度次数最少化、调度总时间最小以及资源预测调度最精确为调度标准。因此先对资源池和实例进行数据预处理,并将预处理数据输入V-TGRU预测模型,得到预测结果;然后按照矢量参数优先级对实例进行排序,同时将预测后的资源池进行聚类分级,优先调度优先级更高的实例至更优的资源池聚类。调度算法流程如下:

输入:Xi = {XID,Xlen,Xin,Xout,Xcpu,Xmem,Xnet,ttk}

其中,XID为实例编号;Xlen为实例计算量,用实例中运行的进程数表示;Xin为实例需要处理的输入数据量;Xout为实例在所有进程运行过程中产生的输出数据量;Xcpu为实例运行占用CPU的核比数;Xmem为实例运行占用的内存;Xnet为实例间交互所需的带宽;Xtk为与第k个实例的亲和度,根据相互调用情况统计。

Yj={YID,Ycpus,Ymems,Ymips,Ybnet}

其中,YID为资源池编号;Ycpus为资源含有CPU的个数;Ymems为资源的存储能力;Ymips为资源的计算能力; Ybnet为资源的网络传输能力。

xi={xID,xlen,xin,xout,xcpu,xmem,xnet,xtj}

为模拟预测实例使用资源情况的输出结果。

yj={yID,ycpus,ymems,ymips,ybnet}

为模拟预测资源池占用情况的输出结果。

输出:Xi,Yj,Ci-j

实例Xi调度至资源池 Yj上执行,Cj属于第i个实例调度到第j个资源池的映射关系。

(1) FunClustering(Yrj) //构建资源池聚类Yrj函数,分类计算调度资源,减少调度计算量。

(2) FunClustering(yrj) //构建预测资源池聚类yrj函数。

(3) SortCluster(yj) //按预处理后的整体情况对资源池聚类进行排序。

(4) SortEarlyDeadlineFirst(Xi)//按实例的运行截止时间进行排序。

(5) SortXi) //对实例资源占用情况逐一排序。

(6) Sort (xi)//对实例资源预测占用情况逐一排序。

(7) INS_runtimeij=NxcpusjNyrjcpusj // 实例Xi在资源池Yj的运行时间取决于实例对CPU的占用需求以及资源池的处理时间。

(8) Schedul_timeij=xileni yrjmips // 实例Xi的调度预测时间取决于Xi的计算量及资源池Yj的计算能力。

(9) TRAN_timeij=xin i+xoutiybnet // 根据预测结果计算第i个实例调度到第j个资源聚类上的传输时间。

(10)WAIT_timeij=xitkXi-1Xtk+1i-1xileni yrjmips //实例Xi等待调度时长取决于排序在Xi前的实例调度时间以及与之前调度实例的亲和度Xtk

(11)Sort (xiINS_runtimeijSchedul_timeij TRAN_timeij) //对实例的资源预测占用情况及调度情况逐一排序。

(12)Ci-jGetClusterType (Deadlinetime_XiSchedul_timeij)//根据截止时间和资源调度排序情况,将排序后的实例映射至最接近截止时间且任务负载最少的资源池。

算法(1)~(3),通过聚类方法对资源池进行预处理。(4)~(6),按照截止时间、现在和预测情况对实例进行排序,首先处理截止时间较近、资源情况紧缺的实例。(7)~(10),根据预测的实例运行情况和资源池占用情况,预判传输、调度及运行情况。(11)和(12),汇总预判情况,对实例运行情况进行排序,将最接近截止时间、最急需的实例优先调度到任务负载最少的资源池。

3 实验结果分析

3.1 实验环境

硬件环境:华为RH2288V3,CPU规格E5-2680V4×2,56核,内存128 GB和384 GB,硬盘规格800 G[ssd]×12和6 T[sata,7 200 r·min-1]×12,共100个虚拟节点,200个实例,通过观察多个实例的24 h历史数据,整理得到每个实例对应资源需求的时间曲线,描述每个实例每天每个采样点所需的对应资源数量。每隔5 min采集一次,每天288个采集点,连续采集30 d。

3.2 结果分析

3.2.1 预测结果对比

对采集到的数据进行训练和建模,预测数据曲线的走势,并根据预测结果进行资源调度,通过调度实例的精度和F-测量26,判断V-TGRU、GRU、LSTM及IGRU-SD模型预判的准确度。

表1中,“正”表示需要调度的实例;“负”表示不需要调度的实例,TP为实际需要调度,预测也需要调度的实例数;FN为实际需要调度而预测不需要调度的实例数;FP为实际不需要调度而预测需要调度的实例数;TN为实际不需要调度,预测也不需要调度的实例数。

=TP+TNTP+TN+FP+FN
R=TPTP+FN
P=TPTP+FP
F-=2PRP+R

表1   混淆矩阵

Table 1  Confusion matrix

预测-正预测-负
实际-正TPFN
实际-负FPTN

新窗口打开| 下载CSV


4个模型最优、平均及最差状态对比见表2。由表2可知,基于变量门控编码的双向V-TGRU模型较另外3种资源预测模型更准确,也更稳定。

表2   精度与F-测量对比

Table 2  Accuracy vs. F-measure

标准模型
V-TGRUGRU
精度F-测量精度F-测量
最优98.790.890.583.2
平均97.589.687.881.7
最差96.989.586.980.7
标准模型
LSTMIGRU-SD
精度F-测量精度F-测量
最优88.982.296.991.3
平均87.780.796.289.5
最差84.178.595.788.3

新窗口打开| 下载CSV


3.2.2 调度结果对比

V-TGRU与GRU、LSTM、IGRU-SD三种资源模型预测下的调度以及不进行预测的自适应调度算法(adaptive scheduling algorithm,ASQ)的对比见图2~图4。通过对比多任务下的调度执行时间、调度等待时间和调度次数,综合评价调度算法的效率。

图2

图2   多任务实例调度执行时间

Fig.2   Execution time of multi instance task scheduling


图3

图3   多任务实例调度等待时间

Fig.3   Waiting time of multi instance task scheduling


图4

图4   多任务实例调度次数

Fig.4   Times of multi instance task scheduling


图2~图4可知,随着实例数的逐渐增多,4种预测调度算法和ASQ的调度执行时间呈增加趋势,但每个任务的平均调度执行时间均呈不同程度的下降趋势,这是因为当需要调度的实例数在一定范围内增多时,并发处理能力令调度执行时间缩短。由于V-TGRU预测的准确率更高,使无用的调度大大减少,降低了调度过程中的资源浪费,同时由于更及时地调度了所在虚拟计算节点资源相对紧张的实例,提高了实例的稳定性和运行性能,保障了云平台资源的利用率和可靠性。

4 结 语

经实验测试,证明本文算法能更精确预测未来时效内实例占用资源的状况、运行状态以及资源池被占用情况,通过将更准确的预测结果和实时采集到的状态数据相结合进行综合分析调度,能更有效地完成实例对资源的预判选择,减少调度时间,避免实例的反复调度,节省因云资源的强制占用和反复调度消耗的资源及带宽,保证实例更稳定运行,提升用户满意度。下一步工作重点将积累并整合大量运维数据,研究更加高效的调度策略,进一步降低资源浪费,提升调度性能。

http://dx.doi.org/10.3785/j.issn.1008-9497.2022.04.010

参考文献

ARMBRUST MFOX AGRIFFITH Ret al.

A view of cloud computing

[J]. Communications of the ACM, 2010534):50-58. DOI:10.1145/1721654. 1721672

[本文引用: 1]

曾志周永福杜震洪.

云环境下基于Entropy-KNN算法的节点选择策略

[J]. 浙江大学学报(理学版),2015423):359-364. DOI:10.3785/j.issn.1008-9497.2015.03.021

ZENG ZZHOU Y FDU Z Het al.

A strategy for the computational node choosing using Entropy-KNN on the attribute information in the cloud computing

[J]. Journal of Zhejiang University (Science Edition), 2015423):359-364. DOI: 10.3785/j.issn.1008-9497.2015.03.021

MFULA HNURMINEN J K.

Self-healing cloud services in private multi-clouds

[C]// 2018 International Conference on High Performance Computing & Simulation (HPCS). OrléansHPCS2018165-170. DOI:10.1109/HPCS.2018.00041

LUO MZHANG L J.

Context sensitive efficient automatic resource scheduling for cloud applications

[C]// International Conference on Cloud Computing: Cloud Computing-CLOUD 2018. ChamSpringer2018391-397. DOI:10.1007/978-3-319-94295-7_27

[本文引用: 1]

DELIMITROU CKOZYRAKIS C.

Paragon: QoS-aware scheduling for heterogeneous datacenters

[J]. ACM SIGPLAN Notices, 2013411):77-88. DOI:10.1145/2490301.2451125

[本文引用: 1]

YANG RZHANG YGARRAGHAN Pet al.

Reliable computing service in massive-scale systems through rapid low-cost failover

[J]. IEEE Transactions on Services Computing, 201710969-983.DOI:10. 1109/TSC.2016.2544313

[本文引用: 1]

MORENO I SYANG RXU Jet al.

Improved energy-efficiency in cloud datacenters with interference-aware virtual machine placement

[C]// 2013 IEEE 11th International Symposium on Autonomous Decentralized Systems (ISADS). MexicoIEEE2013. DOI:10.1109/ISADS.2013. 6513411

[本文引用: 1]

VAZQUEZ CMORENO GTOMAS Let al.

A cloud scheduler assisted by a fuzzy affinity-aware engine

[C]// 2015 IEEE International Conference on Fuzzy Systems. IstanbulIEEE2015. DOI:10. 1109/FUZZ-IEEE.2015.7337931

[本文引用: 1]

BERRAL J LGAVALDA RTORRES J.

Adaptive scheduling on power-aware managed data-centers using machine learning

[C]// Proceedings of the IEEE/ACM 12th International Conference on Grid Computing. LyonIEEE2011. DOI:10.1109/Grid.2011.18

[本文引用: 1]

YANG R YOUYANG XCHEN Y Fet al.

Intelligent resource scheduling at scale: A machine learning perspective

[C]// 2018 IEEE International Symposium on Service Oriented System Engineering. RomeIEEE2018. DOI: 10.1109/SOSE.2018.00025

[本文引用: 1]

HUANG M.

Forecasting the competitiveness of technological innovation talents using least squares support vector machine

[C]// 2015 8th International Conference on Intelligent Computation Technology and Automation (ICICTA). NanchangIEEE2015429-432. DOI:10.1109/ICICTA.2015.113

[本文引用: 1]

SCHULTE OKHOSRAVI HARTHUR Eet al.

Modelling relational statistics with bayes nets

[J]. Machine Learning, 2014941): 105-125 .DOI:10. 1007/s10994-013-5362-7

[本文引用: 1]

LEE J ASCHLEIF F MMARTINETZ T.

Advances in artificial neural networks, machine learning, and computational intelligence

[J]. Neurocomputing,2011749): 1299-1300. DOI:10. 1016/j.neucom.2011.02.003

[本文引用: 1]

WANG BLIU F GLIN W W.

Energy-efficient VM scheduling based on deep reinforcement learning

[J]. Future Generation Computer Systems, 2021125616-628. DOI:10.1016/j.future.2021.07.023

[本文引用: 1]

AMIHAI ICHIOUA MGITZEL Ret al.

Modeling machine health using gated recurrent units with entity embeddings and K-means clustering

[C]// 2018 IEEE 16th International Conference on Industrial Informatics (INDIN). PortugalIEEE2018212-217.DOI:10.1109/INDIN.2018.8472065

[本文引用: 1]

陈盛炜.

基于深度学习的虚拟机CPU利用率预测模型研究

[D].上海上海交通大学2019. DOI: 10. 27307/d.cnki.gsjtu.2019.001917

[本文引用: 1]

CHEN S W.

A Neural Approach to Predicting CPU Utilization of Virtual Machine

[D]. ShanghaiShanghai Jiaotong University2019. DOI:10.27307/d.cnki.gsjtu.2019.001917

[本文引用: 1]

LU YLIU LPANNEERSELVAM Jet al.

A GRU-Based prediction framework for intelligent resource management at cloud data centres in the age of 5G

[J]. IEEE Transactions on Cognitive Communications and Networking, 202062): 486-498. DOI:10.1109/TCCN.2019.2954388

RAZA M RHUSSAIN WMERIGÓ J M.

Cloud sentiment accuracy comparison using RNN, LSTM and GRU

[C]// 2021 Innovations in Intelligent Systems and Applications Conference (ASYU). ElazigIEEE20211-5. DOI: 10.1109/ASYU52992.2021.9599044

贺小伟徐靖杰王宾.

基于GRU-LSTM组合模型的云计算资源负载预测研究

[J/OL].计算机工程,20211-11. [2021-11-22]/[2021-12-23]. DOI:10. 19678/j.issn.1000-3428.0062452

HE X WXU J JWANG Bet al.

Cloud computing resource load forecasting using GRU-LSTM hybrid network

[J/OL]. Computer Engineering, 20211-11. [2021-11-22]/[2021-12-23]. DOI:10.19678/j.issn.1000-3428.0062452

黄炜陈田吴入军.

基于门控循环单元与误差修正的短期负荷预测

[J].浙江大学学报(工学版),2021559):1625-1633. DOI:10.3785/j.issn.1008-973X.2021.09.003

[本文引用: 1]

HUANG WCHEN TWU R J.

Short term load forecasting based on gated recurrent unit and error correction

[J]. Journal of Zhejiang University (Engineering Science), 2021559):1625-1633. DOI:10.3785/j.issn.1008-973X.2021.09.003

[本文引用: 1]

PETRUCCI VLOQUES OMOSS´E D.

A dynamic optimization model for power and performance management of virtualized clusters

[C]//In Proceedings of the 1st International Conference on Energy-Efficient Computing and Networking. New YorkAssociation for Computing Machinery2010225-233. DOI:10.1145/1791314.1791350

[本文引用: 1]

LI W JWU J YZHANG Q Fet al.

Trust-driven and QoS demand clustering analysis based cloud workflow scheduling strategies

[J].Cluster Computing, 2014173):1013-1030. doi:10.1007/s10586-013-0340-1

[本文引用: 1]

江务学魏文国丁度坤

异构云环境下基于分簇的云资源感知任务调度方案

[J].计算机应用研究,20163311):3422-3425. DOI: 10.3969/j.issn.1001-3695.2016.11.049

[本文引用: 1]

JIANG W XWEI W GDING D Ket al.

Task scheduling scheme based on clustering in heterogeneous cloud computing platform

[J]. Application Research of Computers, 20163311): 3422-3425. DOI:10.3969/j.issn.1001-3695.2016.11.049

[本文引用: 1]

CUI D LLIN J PPENG Z Pet al.

Cloud workflow task and virtualized resource collaborative adaptive scheduling algorithm based on distributed deep learning

[C]// 2020 IEEE International Conference on Advances in Electrical Engineering and Computer Applications(AEECA).DalianIEEE2020137-140. DOI: 10.1109/AEECA49918. 2020.9213622

[本文引用: 1]

常晓洁徐锋王佶.

一种基于V-TGRU模型进行资源预测的私有云任务调度方法

ZL 2019 1 0576026.3[P]. 2021-09-24.

[本文引用: 1]

CHANG X JXU FWANG Jet al.

A private cloud task scheduling method based on V-TGRU model for resource prediction

ZL 2019 1 0576026.3[P]. 2021-09-24.

[本文引用: 1]

HAO YSHENG YWANG J.

Variant gated recurrent units with encoders to preprocess packets for payload-aware intrusion detection

[J]. IEEE Access, 2019749985-49998.DOI:10.1109/ACCESS. 2019.2910860

[本文引用: 1]

/