Load prediction and elastic scaling solutions for cloud platforms
-
摘要: 为提高云平台的性能和资源利用率,文章提出一种基于ARMA-CNN-SVR的负载预测组合模型,通过融合多种预测模型的优点,提高预测云平台资源使用情况的准确率。基于该负载预测组合模型,进一步优化了弹性伸缩策略,有效解决资源调整的滞后性问题,增强了云平台的主动性和智能性,显著提升了资源利用率和服务质量。Abstract: To improve the performance and resource utilization rate of cloud platforms, this paper proposed a load prediction combination model based on ARMA-CNN-SVR, improved the accuracy of predicting cloud platform resource usage by integrating the advantages of multiple prediction models. Based on this load forecasting combination model, the paper further optimized the elastic scaling strategy, effectively solved the lag problem of resource adjustment, enhanced the initiative and intelligence of the cloud platform, and significantly improved resource utilization rate and service quality.
-
Keywords:
- cloud platform /
- load prediction /
- elastic scaling /
- combination model /
- resource utilization rate
-
云计算自兴起以来,因其高效的资源管理、较低的经济成本、灵活的可扩展性等优势而受到广泛关注,已成为数字经济的基础设施和“互联网+”时代的重要支撑[1]。为保障云平台的高可用性和稳定性,通常采取弹性伸缩策略,根据实际负载情况来动态调整应用的资源配额[2]。如主流容器编排平台Kubernetes采用响应式伸缩策略实现容器的水平伸缩,通过内部伸缩控制器周期性地轮询监控应用的负载状态,并根据处理器、内存等资源指标的阈值规则进行动态调整资源分配[3]。这种基于阈值规则的响应式伸缩策略原理简单,是一种根据阈值规则触发的弹性伸缩方法,阈值标准依赖于用户经验,存在指标设定困难、弹性滞后等问题[4]。
相较于传统响应式伸缩方式,主动式伸缩具有更强的主动性和智能性,可以有效提升资源利用率和服务质量。主动式伸缩策略的原理是根据历史负载数据建立预测模型,预测未来需要的资源,并基于预测值提前调整资源供给。主动式伸缩方法实现资源配置的有效性依赖于预测模型的准确度,由于云负载数据时序变化模式多样,具有波动性、持续性、多周期性等特征,构建精确的负载预测模型是一项具有挑战性的任务,需要综合考虑数据收集、特征工程和模型选择等方面[5-6]。针对这一难点问题,进一步优化云平台弹性伸缩策略,对于保障云平台平稳高效运行、提升云服务质量具有重要意义。
基于以上研究,本文分析研究了自回归移动平均(ARMA,Autoregressive Moving Average)、卷积神经网络 (CNN,Convolutional Neural Networks)和支持向量回归(SVR,Support Vector Regression)等3种典型预测模型,并结合3种模型的特点,提出一种基于ARMA-CNN-SVR的负载预测组合模型,提高了负载资源预测的准确度。通过所提出的负载预测模型对云平台中的资源使用情况进行预测,并根据预测的未来资源使用情况优化弹性伸缩策略,最终得出满足云平台高负载运行的弹性伸缩方案。
1 基于负载预测的弹性伸缩方案设计
1.1 典型预测模型
ARMA模型、CNN模型和SVR模型都适用于对时间序列数据的分析和预测,在以时间计容量变化的扩缩容场景中,三者都是匹配度较高的分析预测模型,且具备各自明显特点,在算法融合方面有一定潜力可挖。
(1)ARMA模型是一种常用于时间序列预测的统计模型。它基于时间序列的自相关性和移动平均性质,通过对数据进行拟合来预测未来的观测值[7-8]。其优点在于考虑了过去观测值和误差项之间的相关性,适用于对时间序列数据建模,但对于非线性、非平稳的数据拟合效果较差,难以处理长期依赖关系。
(2)CNN模型是一种深度学习模型,其卷积层和池化层具有强大的计算能力,且能够降低数据在平移过程中的损失率,从而显著减少对特征向量的影响,经过不同的卷积层和池化层,可以有效地控制模型的拟合能力,从而降低拟合过程中特征向量的维数。用于时间序列预测是通过在时间序列上进行卷积操作提取局部特征,并利用池化操作实现特征的降维 [9-10],但对数据前后关系表现不够充分。
(3)SVR模型主要通过历史时间序列数据训练,也可以用于未来时间序列预测[11]。其核心思想是通过核函数将输入的序列数据映射到某个高维空间中,再对其进行线性回归,并将回归结果通过相反的映射方式映射回去,最后得到回归结果,解决了维数问题,其中,算法的复杂度和样本维数都是相互独立的。SVR模型的优点在于使结构化风险降低至最小且对数据拟合表现效果较好。
1.2 负载预测组合模型
ARMA、CNN、SVR等3种预测模型各有优缺点,且存在融洽的优劣互补之势。基于此,本文提出了一种ARMA-CNN-SVR组合模型,先通过ARMA做预测值序列更新,再通过CNN训练数据获取卷积层权重参数,最后将卷积层输出结果作为SVR的输入特征向量进行训练,进行负载资源预测。基于该组合模型的负载预测方法如下。
(1)数据预处理。由于ARMA模型需要时间序列满足平稳性和非白噪声的要求,因此利用差分法来实现数据的平滑处理,得到平稳序列,并通过单位根检验法(ADF,Augmented Dickey-Fuller)进行平稳性检验。
(2)ARMA模型构建。基于信息量准则的方法确定模型阶数,通过最小二乘法确定模型参数,进而完成ARMA模型构建。
(3)时间序列更新。通过构建的ARMA模型进行时间序列预测,并将预测值与原始数据拼接起来,得到新的数据集。
(4)CNN特征提取。构建CNN模型,通过训练更新后的数据集进行特征提取,对ARMA预测进行进一步修正。进行特征提取时,根据实际情况,通过用例进行反复交叉验证(训练)来选择最优的参数。
(5)SVR模型预测。构建SVR模型,使用CNN提取的特征向量作为输入,SVR模型不需要复杂的预处理,直接从输入数据中自动进行特征挖掘和提取,通过输入融合值,将二维输入空间映射到高维空间,在高维空间中构造一个最优函数,处理二维空间中的预测回归问题。
1.3 基于负载预测的弹性伸缩方案
传统响应式伸缩的水平扩展自动缩放(HPA,Horizontal Pod Autoscaler)策略虽然可以实现弹性伸缩,但该策略根据当前数据及阈值规则触发,存在指标设定困难、弹性滞后等问题[12]。本文提出一种基于ARMA-CNN-SVR负载预测组合模型的弹性伸缩方案,根据预测出来的负载值提前对目标Pod 进行弹性伸缩,具体方案如下。
(1)监控模块调用Metrics Server中的应用程序编程接口(API,Application Programming Interface)获取集群中央处理器(CPU,Central Processing Unit)利用率信息,Metrics将得到的CPU利用率信息返回给监控模块,监控模块对数据进行规范化处理后存储到数据库中。
(2)负载预测模块读取数据库中的CPU 利用率数据,将该数据输入到ARMA-CNN-SVR预测组合模型中进行预测,并将预测结果进行处理后存储到数据库中。
(3)监听程序持续监听数据库存储的预测信息是否有更新,当有新的预测结果被存储到数据库时,监听程序将根据预测结果与应用被预测时所拥有的资源信息来判断应用是否需要进行弹性伸缩。
(4)根据CPU利用率预测出的值,计算期望的目标Pod的资源使用量。如果该使用量大于设定的数量,监听程序将启动一个定时触发的命令,在预测时间的前一段时间内向应用控制器发送扩容指令;如果小于设定的数量,则对应用控制器发起缩容指令,至此一个扩容或缩容完成,直到监听程序监听到新的预测信息并存储到数据库为止。
2 实验与结果分析
2.1 模型实验
2.1.1 实验模型选择
本次实验模型选择为:本文组合模型、ARMA模型、CNN模型、SVR模型,其中,本文组合模型为实验组,其余模型为对照组。
2.1.2 测试云环境准备
实验选取信创适配实验室中搭载的云平台作为研究对象,具体配置包括:21台控制节点(鲲鹏920CPU,32Core@2.6 GHz),4台网络节点(鲲鹏920CPU,32Core@2.6 GHz),27台计算节点(鲲鹏920CPU,32Core@2.6 GHz),14台存储服务器。以上节点均运行在Euler v2r10操作系统中。
2.1.3 冷却规则设计
为了防止伸缩动作过于频繁可能影响服务的正常使用,造成应用混乱,伸缩控制需要有冷却时间。伸缩组在冷却时间内,会拒绝由告警策略触发的伸缩活动,其他类型的伸缩策略(如定时策略和周期策略)触发的伸缩活动不受限制。
2.1.4 测试用例
负载单位为标准虚拟机台数。负载变化时间与需求量如表1所示。
表 1 测试用例表时间点 负载需求 时间点 负载需求 08:00 100 20:00 100 09:00 120 21:00 90 10:00 130 22:00 80 11:00 110 23:00 70 12:00 150 00:00 50 13:00 180 01:00 40 14:00 200 02:00 30 15:00 250 03:00 20 16:00 230 04:00 20 17:00 190 05:00 30 18:00 150 06:00 40 19:00 120 07:00 60 2.2 结果分析
使用ARMA模型、CNN模型、SVR模型及本文组合模型得到的负载预测结果如表2和表3所示。
表 2 负载预测模型预测结果时间点 负载
需求ARMA模型 CNN模型 SVR模型 本文组合模型 预测值 预测
偏移量预测值 预测
偏移量预测值 预测偏移量 预测值 预测
偏移量08:00 100 100 0.0% 100 0.0% 100 0.0% 100 0.0% 09:00 120 104 13.3% 100 16.7% 104 13.3% 105 12.5% 10:00 130 110 15.4% 138 6.2% 92 29.2% 126 3.1% 11:00 110 112 1.8% 139 26.4% 103 6.4% 103 6.4% 12:00 150 122 18.7% 128 14.7% 104 30.7% 116 23.0% 13:00 180 138 23.3% 186 3.3% 102 43.3% 158 12.5% 14:00 200 154 23.0% 207 3.5% 127 36.5% 189 5.5% 15:00 250 178 28.8% 218 12.8% 160 36.0% 210 16.0% 16:00 230 202 12.2% 295 28.3% 157 31.7% 157 31.7% 17:00 190 210 10.5% 248 30.5% 192 1.1% 192 1.1% 18:00 150 204 36.0% 226 50.7% 168 12.0% 168 12.0% 19:00 120 188 56.7% 186 55.0% 152 26.7% 143 18.8% 20:00 100 158 58.0% 147 47.0% 131 31.0% 114 14.0% 21:00 90 130 44.4% 118 31.1% 112 24.4% 95 5.6% 22:00 80 108 35.0% 99 23.8% 99 23.8% 86 6.9% 23:00 70 92 31.4% 89 27.1% 83 18.6% 76 8.6% 00:00 50 78 56.0% 79 58.0% 69 38.0% 67 33.0% 01:00 40 66 65.0% 68 70.0% 48 20.0% 48 18.8% 02:00 30 54 80.0% 49 63.3% 45 50.0% 38 26.7% 03:00 20 42 110.0% 39 95.0% 33 65.0% 29 42.5% 04:00 20 32 60.0% 29 45.0% 23 15.0% 21 5.0% 05:00 30 28 6.7% 20 33.3% 28 6.7% 28 6.7% 06:00 40 28 30.0% 39 2.5% 19 52.5% 32 21.3% 07:00 60 34 43.3% 49 18.3% 25 58.3% 42 30.0% 表 3 负载预测模型预测结果对比ARMA模型 CNN模型 SVR模型 本文组合模型 平均偏移量 35.8% 31.8% 27.9% 15.1% 根据实验结果可以得出以下结论。
(1)ARMA模型预测表现出明显的平均回归取向,且在负载变化较大的情况下反应迟钝。其平均预测偏移量达35%以上,在整个实验中成绩最低。
(2)CNN模型预测偏离优于ARMA模型,在算法上有一定优势,平均偏移量为31%左右,与ARMA模型35.8%的成绩相比,提高有限。
(3)SVR模型预测偏离优于CNN模型,平均偏移量在30%以内,且出现了实验中的最小偏离值1.1%,从结果上看,模型有效性得到进一步验证。
(4)本文组合模型通过3种模型的融合和参数调整,最终结果有了显著的进步,平均偏移量达到了15.1%。
3 结束语
本文研究分析了ARMA、CNN和SVR等3种负载预测模型,并结合这3种负载预测模型的优缺点,提出一种基于ARMA-CNN-SVR的负载预测组合模型,从实验结果可以得出,组合后的预测模型提高了预测结果的准确度。结合负载预测,进一步优化云平台弹性伸缩策略,从而更好地应对负载的波动和变化,有效地避免了资源浪费和不足的问题,提高系统的利用率,降低运营维护成本,提升用户体验。展望未来,云平台的性能优化在网络流量、响应时间等其他指标方面还有进一步的研究和改进空间。通过持续改进和创新,云平台有望在未来为大规模系统的管理和运营维护带来更多的便利和效益。
-
表 1 测试用例表
时间点 负载需求 时间点 负载需求 08:00 100 20:00 100 09:00 120 21:00 90 10:00 130 22:00 80 11:00 110 23:00 70 12:00 150 00:00 50 13:00 180 01:00 40 14:00 200 02:00 30 15:00 250 03:00 20 16:00 230 04:00 20 17:00 190 05:00 30 18:00 150 06:00 40 19:00 120 07:00 60 表 2 负载预测模型预测结果
时间点 负载
需求ARMA模型 CNN模型 SVR模型 本文组合模型 预测值 预测
偏移量预测值 预测
偏移量预测值 预测偏移量 预测值 预测
偏移量08:00 100 100 0.0% 100 0.0% 100 0.0% 100 0.0% 09:00 120 104 13.3% 100 16.7% 104 13.3% 105 12.5% 10:00 130 110 15.4% 138 6.2% 92 29.2% 126 3.1% 11:00 110 112 1.8% 139 26.4% 103 6.4% 103 6.4% 12:00 150 122 18.7% 128 14.7% 104 30.7% 116 23.0% 13:00 180 138 23.3% 186 3.3% 102 43.3% 158 12.5% 14:00 200 154 23.0% 207 3.5% 127 36.5% 189 5.5% 15:00 250 178 28.8% 218 12.8% 160 36.0% 210 16.0% 16:00 230 202 12.2% 295 28.3% 157 31.7% 157 31.7% 17:00 190 210 10.5% 248 30.5% 192 1.1% 192 1.1% 18:00 150 204 36.0% 226 50.7% 168 12.0% 168 12.0% 19:00 120 188 56.7% 186 55.0% 152 26.7% 143 18.8% 20:00 100 158 58.0% 147 47.0% 131 31.0% 114 14.0% 21:00 90 130 44.4% 118 31.1% 112 24.4% 95 5.6% 22:00 80 108 35.0% 99 23.8% 99 23.8% 86 6.9% 23:00 70 92 31.4% 89 27.1% 83 18.6% 76 8.6% 00:00 50 78 56.0% 79 58.0% 69 38.0% 67 33.0% 01:00 40 66 65.0% 68 70.0% 48 20.0% 48 18.8% 02:00 30 54 80.0% 49 63.3% 45 50.0% 38 26.7% 03:00 20 42 110.0% 39 95.0% 33 65.0% 29 42.5% 04:00 20 32 60.0% 29 45.0% 23 15.0% 21 5.0% 05:00 30 28 6.7% 20 33.3% 28 6.7% 28 6.7% 06:00 40 28 30.0% 39 2.5% 19 52.5% 32 21.3% 07:00 60 34 43.3% 49 18.3% 25 58.3% 42 30.0% 表 3 负载预测模型预测结果对比
ARMA模型 CNN模型 SVR模型 本文组合模型 平均偏移量 35.8% 31.8% 27.9% 15.1% -
[1] 李 涛. 云平台的资源监控与弹性伸缩技术研究与实现[D]. 北京:北京邮电大学,2016. [2] 曹 壮. 容器云环境下的负载预测与容器调度技术研究[D]. 西安电子科技大学,2022. [3] 胡陈慧. 基于负载预测和强化学习的容器弹性伸缩策略研究[D]. 杭州:杭州电子科技大学,2023. [4] 翁湦元,单杏花,阎志远,等. 基于Kubernetes的容器云平台设计与实践[J]. 铁路计算机应用,2019,28(12):49-53. [5] 秦利南,董路熙. 城市轨道交通客流预测算法研究[J]. 交通工程,2021,21(1):40-47, DOI: 10.13986/j.cnki.jote.2021.01.008 [6] 何鸿杰,陈先龙. 基于指数平滑法和残差网络的短时交通流预测方法[J]. 交通工程,2023,23(3):97-106, DOI: 10.13986/j.cnki.jote.2023.03.015 [7] 邹柏贤,刘 强. 基于ARMA模型的网络流量预测[J]. 计算机研究与发展,2002,39(12):1645-1652. [8] 李 恒,谭拂晓,孙 刚,等. 带有色公共干扰噪声的ARMA模型多传感器信息融合系统辨识[J]. 计算机应用,2013,33(S2):296-298. [9] 周飞燕,金林鹏,董 军. 卷积神经网络研究综述[J]. 计算机学报,2017,40(6):1229-1251. [10] 谭朋柳,徐光勇,张露玉,等. 基于卷积神经网络和Adaboost的心脏病预测模型[J]. 计算机应用,2023,43(S1):19-25. [11] 邹长忠. 无线传感器网络中基于SVR的节点数据预测算法[J]. 计算机应用,2010,30(1):127-129,136. [12] 靖 杰. 云环境中基于负载预测的弹性伸缩方案研究与实现[D]. 西安:西北大学,2022. -
期刊类型引用(6)
1. 吴志伟,孔垂云,钟立民,黄永亮,高达. 货运车站物流效率多指标优化方法研究. 铁路计算机应用. 2023(02): 18-22 . 本站查看
2. 陈闯,于健,王铭,王超,陈广泰,姜正. 基于5G应用的HXD_(2B)型机车智能运维平台设计与实现. 铁道机车车辆. 2023(06): 83-89 . 百度学术
3. 林艳. 从货装角度探寻贵冶降低铁路货车延时实践. 铜业工程. 2021(06): 91-94 . 百度学术
4. 袁任,罗保平. 铁路货运票据电子化优化策略研究. 中国铁路. 2020(04): 37-40 . 百度学术
5. 苏默佳. 提升铁路货运服务质量的途径与措施. 黑龙江交通科技. 2020(11): 236-237 . 百度学术
6. 杨闻彪. 上海局集团公司电商特快班列货运组织优化. 铁道货运. 2019(10): 26-29 . 百度学术
其他类型引用(2)
计量
- 文章访问数: 59
- HTML全文浏览量: 30
- PDF下载量: 19
- 被引次数: 8