一种云计算中心资源动态调度技术*

2022-09-28 01:40刘清喻学明周结华程士广
计算机与数字工程 2022年8期
关键词:计算中心高斯调度

刘清 喻学明 周结华 程士广

(中国西安卫星测控中心 西安 710043)

1 引言

在云计算中心提供资源服务过程中,通常会面临各宿主服务器实际资源利用率动态波动的问题,需要对其资源进行必要的动态调度。高斯过程是一种服从正态分布的随机过程[1~2],可作为联合正态分布的无限维广义延伸[3~4]因数学期望是一常数进而被核函数完全定义[1,5]。高斯过程具有边缘分布性质,主要应用于各领域的建模和预报,可以结合先验知识对数据做出有效的预测,特别是在时间序列分析中应用场景中可较好地解决时间序列多步前向预报问题[6~7]。云计算中心基础资源的性能数据是典型的时间序列,可利用高斯过程在时间序列多步前向预报方面的优势,对云资源使用趋势进行提前预测,并基于此预测动态迁移各虚拟机在宿主服务器中的部署,以达到均衡各服务器负载和提高服务质量的目的。本文选择高斯过程算法作为云资源预测模型,并优化核函数的加速计算方法和核矩阵求逆的时间复杂度,确定σ和l 两个超参数最优取值,有效解决模型计算开销呈非线性增长问题,对云资源使用时序趋势做出有效预测。基于此预测得到待迁移的虚拟机和目标服务器的关联关系,并通过特定的方法完成虚拟机到目标服务器的迁移工作,以实现提升云计算中心服务质量、均衡资源负载和降低运行成本的目的。

2 云计算中心资源动态调度策略

时间序列趋势主要分为趋势或长期动向、季节性变化、周期性变化和无规则变化[8],时序模型具有时间上的单项有序性和局部性,使得观测值可衍生自历史的观测值,其周期性和趋势性变化可被回归模型较好地预测[8~10]在云计算中心,性能数据是典型的时间序列,可通过性能监控获得。其中,趋势性变化主要受业务增长影响,周期性变化则主要体现在由工作日、昼夜交替所引起的变化。因此可选择回归模型对云计算中心的资源使用情况进行提前预测,并基于此预测结果完成云计算中心资源动态调度

该动态调度主要涉及三个阶段:

1)预测资源时序趋势:设计回归模,基于使用数据预测资源使用的时间序列趋势。

2)确定迁移关联关系:基于预测结果和特定的匹配规则,得到待迁移虚拟机与目标服务器的较优对应关联关系。

3)完成虚拟机的迁移:根据关联关系,采用一种基于内存页混合拷贝的高效可靠方式将选定虚拟机迁移到目标服务器,并关闭其在源服务器中的运行和释放其占用的相关资源。

3 资源预测模型

高斯过程,是无参数化模型,基于联系和相关性的普遍存在这一哲学理论基础,可以得到新数据的有效预测值。高斯过程回归,是使用高斯过程先验对数据进行回归分析的非参数模型[11],采用径向基函数(RBF)作为协方差函数,能直接输出关于预测点值的概率分布,在时间序列分析领域能得到比较好的正则化效果。

3.1 回归模型

本文使用高斯回归过程作为时间序列的预测模型。对回归模型式(1):

高斯过程回归取f(x)函数空间的先验为高斯过程,表示为0 均值高斯过程,经推导可得高斯过程回归的预测形式为式(2)[11]:

其中,X={X1,X2,…,XN},Y={y1,y2,…,yN},为给定N组学习样本。

高斯过程回归使用高斯过程作为先验,核函数通常选择径向基函数(RBF)作为协方差函数描述了学习样本间的相关性,预测结果与核函数有密切联系。

核函数的选择要求满足Mercer定理,可选择核函数为径向基函数核,表示为式(3):

式中,,l 为RBF核的超参数,表示其带宽和特征长度尺度。

可从核函数选择和核矩阵求逆计算优化两个方面引入核函数计算的加速方法进行算法的优化改进,并探讨σ和l两个超参数的最优取值情况。

3.2 核函数计算加速

由模型推导部分可知,高斯过程回归要求计算核矩阵的逆矩阵式(4):

非参数模型特性决定了,每次的推断都需要对所有的数据点进行矩阵求逆,若使用Cholesky分解求逆将导致n个样本点时间复杂度大概是O(n3)[12],空间复杂度是O(n2)[12],难于适用于大量样本的计算场景。

一方面,由于高斯过程回归可基于少量学习样本给出回归问题的可靠估计,因此可考虑从学习样本中合理选择一个微分熵最大的子集,在不对估算造成明显影响的前提下降低核矩阵的大小(m*n),另一方面,可将核矩阵近似为一系列低秩矩阵的乘积以简化求逆计算。此过程的计算复杂度为O(m2n)[13],达到减少计算的目的,在m 取小值时能够简化计算。

3.3 超参数取值优化

由于本质上决定了样本点相似性的度量方法,核函数会影响到了整个函数的概率分布的形状,超参数l的变大将会导致函数更加平滑和训练数据点之间预测方差的变小,超参数σ则直接控制方差大小。

要使得式(1)中y 出现的概率最大化,可通过最大化边缘对数似然,得到核函数参数σ和l 最优的取值[14]。

通过具体优化实验可得最优取值为:l=1.2,σ=0.8时最优。

4 动态调度迁移

4.1 迁移机制

在通过预测模型获得云计算中心资源使用预测情况下,可探讨对虚拟机进行必要迁移的时机和规则,以及确定待迁移的虚拟机和目标服务器。

要确定迁移条件,需要提前定义资源负载的上、下门限阈值以均衡服务器的资源负载,定义服务器资源告警梯度以触发迁移,定义迁移优先级以避免迁移导致的拥塞和网络风暴问题,并需要对预测值进行必要的滤波以避免因预测结果的突变而引起的迁入频繁抖动问题,如见表1所示。

表1 迁移条件定义表

其中,为避免因预测结果的突变而引起迁移抖动,要求将持续时间小于30m的变化视为干扰进行平滑处理。资源负载门限有上、下两个阈值,告警有红、黄、绿三个梯度,迁移操作有1 至4 个优先级。当服务器因故障而出现红色告警时,触发优先级为1 级的应用迁移;当服务器资源负载超出门限上阈值而出现红色告警时,为提升服务质量而触发优先级为2 级的优化迁移;当服务器资源负载超出门限下阈值而出现黄色告警时,服务器资源利用率过低,需要触发迁入以提高资源使用效率,或者迁出虚拟机以释放服务器占用,以达到提高云计算中心资源利用率。迁入接受对象是告警为绿色梯度的正常工作服务器。

宿主服务器上通常会运行多个虚拟机,当迁移触发时,需要根据告警梯度、迁移优先级、资源调整效果、迁移开销等因素对虚拟机群进行综合评估,从而找出最佳的迁移关联关系。

在评估迁移关联关系时,假设服务器的因素向量s=[资源负载,滤波条件,告警梯度,优先级,…],进行模糊化处理后可得服务器函数为式(5):

其中,si为第i个服务器的因素向量输入。

假设虚拟机的因素向量v=[重要度,资源占用大小,迁移开销,迁移加权,…]',进行模糊化处理后可得虚拟机函数为式(6):

其中,si为第i个服务器的因素向量输入。

在进行关联处理时,要满足以下原则:

1)满足告警梯度和迁移优先级的响应原则;

2)待迁移虚拟机占用资源大小与触发迁移服务器期望资源大小匹配,且满足贪心算法原则,以尽量避免对虚拟机业务的中断影响。

3)迁移开销最小化原则,降低迁移导致的能耗和网络开销。

4)虚拟机的迁移加权原则,将多次迁移,或者不太活跃的虚拟机设置较高的权重系数,尽量将虚拟机客户的不满意率降到最低。

将服务器函数Si 与虚拟机函数Vj 联合求解可得迁移关联函数为式(7):

从而可以得到迁移目标服务器与待迁移虚拟机之间的对应关系。

4.2 动态迁移

虚拟机动态迁移本质上是处理待迁移虚拟机与相关宿主服务器的资源占用转移,主要涉及存储、网络关系、虚拟机内存等状态。其中,对于存储,因NAS 等共享存储设备的广泛使用,数据中心内的虚拟机迁移能够避免迁移磁盘存储的操作;对于网络关系,数据中心内的局域网环境,能够通过ARP广播方式实现网络连接的迁移。

因此,虚拟机内存等状态将成为迁移的关键内容,相关研究文献提出了虚拟机迁移的原则,并通常划分为推送复制(push)、停机拷贝(slop-andcopy)、按需复制(pull)三个阶段[15]。其中,也有文献[16~17]综合考虑现有迁移方式中存在的问题,提出一种更高效可靠的基于内存页混合拷贝方式的虚拟机在线迁移技术。

为避免虚拟机在目标节点的缺页问题,提高虚拟机迁移后重启阶段在宿主服务器本地对内存数据和vCPU 状态的优先命中率,可在虚拟机内存状态迁移的起始阶段就采用内存页的迭代拷贝设计,以降低虚拟机迁移失败的风险和减少迁移总时间,进一步提保障云计算中心的服务质量。迁移流程如图1 所示。

图1 虚拟机迁移流程示意图

整个迁移流程,首先在虚拟机正常运行情况下,将某一时刻虚拟机的内存数据保存并迭代拷贝至关联服务器;然后挂起虚拟机,并将此刻该虚拟机的vCPU 状态拷贝至关联服务器;最后在关联服务器本地命中拷贝的虚拟机内存数据和vCPU 状态,命中成功后启动该虚拟机,命中失败时向源服务器发送缺页请求。对于源服务器,如果在设定时间内没有收到目的服务器发送的异常请求,则表明迁移成功,可终止迁移的虚拟机运行和释放其占用的相关资源。

5 实验及验证

在实验中,基于我国自主知识产权的燕云管理平台,部署9 台服务器模拟云计算中心环境,设定触发迁移的相关条件参数取值定义如下表2所示。

表2 迁移触发参数表

将对资源利用率预测结果作为下一次调度开始之前以时序频率为间隔的一系列预测数据点,选择高斯过程回归作为预测模型定期进行云计算中心资源使用情况的时序预测,并根据具体需要预测的步数,代入上面得到的模型公式(2)对未知参数进行估计,使得平均绝对误差或残差平方和最小化,计算出预测结果。

实验对选定的某服务器X 的CPU 实时利用率为负载表征,将00:00 至23:59 资源利用率数据离散记录为151 个数值。分析预测结果,最终得到预测结果与实际观测值的对比如图2所示。

图2 高斯过程回归模型预测结果示意图

上图所示的预测结果示意图中可知,选择的试验服务器X 的CPU 资源预测数据与观测数据基本一致,虽然存在一定波动情况,但可以看出预测模型预测值与实际观测值之间拟合度较好,基本可以达到对资源利用率进行预测的初始目的。

对整个实验环境的9 台服务器,采用本文动态资源调度技术前后在线的服务器数量也呈现明显变化,如图3所示。

图3 服务器在线对比果示意图

由上图4 可知,采用本文动态资源调度技术前9 台服务器均24 小时在线提供基础资源服务。采用本文动态资源调度技术后,在资源使用高峰时需要9 台服务器均在线,以满足资源使用的峰值需求;而在资源使用低谷时,通过虚拟机的在线动态迁移,只需3 台服务器在线提供资源服务即能满足客户的资源使用需求,另外6 台空闲服务器可关闭以节约成本。

基于预测结果和预先定义的迁移触发条件,进行动态资源调度迁移。采用上述相同的统计方法,对服务器X 动态资源调度场景下的CPU 资源占用情况进行采集,并与之前同时段24 小时观测的值进行对比,如下图4所示。

图4 服务器X资源使用对比果示意图

由上图可知,原服务器X 的CPU 资源使用率,随着上下班等周期因素的影响而出现从25%到95%的较大范围波动,平均为58%。采用本文动态资源调度技术后,服务器X的CPU资源使用率平均为85.16%,其曲线能够保持相对平稳。这样,既能保证较好的资源服务质量,又能充分发挥服务器的使用效率。

随着趋势的周期变化,基于资源使用时序预测结果,动态迁移虚拟机使得客户对云计算中心提供的资源服务有较好的满意度,同时通过释放空闲服务器使得服务器资源使用率提高147%左右。

6 结语

云计算中心的资源,使用呈现典型的时间序列变化的周期特征,可使用回归模型对其进行提前的预测,并基于对预测结果的分析处理和特定的虚拟机迁移触发规则,动态调度资源的使用。一方面,基于对云计算中心资源使用预测模型的探讨,选择高斯回归算法作为基础模型,并从核函数计算加速以降低了计算的时间复杂度,确定σ和l 两个超参数分别取值为1.2 和0.8 时高斯过程回归模型推荐效果最优。另一方面,当预测结果触发虚拟机迁移时,采用内存页混合拷贝方式的虚拟机在线迁移技术,动态调度资源的使用,使得提供资源服务的服务器资源利用率能够比较稳定的维持在85%左右。本文研究,通过优化后的高斯过程回归模型能直接输出较好的云计算中心资源利用率预测,并基于此预测结果进行云计算中心内部的统一资源动态调度使用,将资源率用率提高147%左右,达到了保障资源服务质量和节约资源成本的目的,为云计算中心建设提供了一个参考方法。

猜你喜欢
计算中心高斯调度
基于半划分调度的Linux 实时调度算法改进*
水资源平衡调度在农田水利工程中的应用
超级“神算”!中原人工智能计算中心上线
10kV配网调度运行故障及控制对策
面向反应堆设计的高性能计算中心建设及应用
腾讯云首个5G边缘计算中心正式对外开放
数学王子高斯
从自卑到自信 瑞恩·高斯林