当前位置:首页 期刊杂志

傅里叶变换和支持向量机的云计算资源分配策略

时间:2024-07-28

解志君

(常州信息职业技术学院 软件学院, 常州 213164)

傅里叶变换和支持向量机的云计算资源分配策略

解志君

(常州信息职业技术学院 软件学院, 常州 213164)

针对当前云计算资源调算法的资源利用率低,资源变化预测精度低的缺陷,提出了傅里叶变换和支持向量机的云计算资源分配算法。根据云服务资源需求的变化特点,将其划分为周期性和非周期性两类服务,采用傅里叶变换分析服务资源需求的周期性,并采用支持向量机预测非周期性的服务资源需求,根据预测结果实现虚拟机的资源分配,并通过对比实验测试可行性和优越性。结果表明,算法提高了虚拟机资源的利用率,避免了出现违反SLA的现象,而且性能要优于对比算法。

云计算系统; 资源分配; 傅里叶变换; 支持向量机

0 引言

随着科学技术的不断发展,传统云计算模式快已经难以适合用户的实际需求,而按需付费资源配置模式受到专家和学者的重视[1]。当前云服务商主要采用粗粒度的资源分配技术,包括Google、Amazon等,其分配的基本单位是虚拟机(Virtual Machine,VM),根据负载变化状况和用户需要实时改变虚拟机的数量,从而实现负载自适应目的[2,3]。然而在实际应用中,当前粗粒度的资源分配技术还存在虚拟机分散配置、资源浪费等缺陷,并且随着云端用户数量的增加,缺陷越来越明显,导致资源利用率低和运营成本高[4-6]。

为了解决虚拟机分配问题,有学者采用启发式算法找到资源的最优分配方案,并通过虚拟机迁移方法解决虚拟机分散问题[7],但只考虑RAM和CPU等参数,在参数增加情况下,计算的复杂度急剧增加[8]。在此基础上,有学者综合考虑CPU、RAM、带宽等条件,采用启发式算法进行求解[9];文献[10]兼顾用户偏好与任务特点,构建了面向任务的资源分配算法,文献[11]提出了在线预测的资源分配算法技术,根据预测结果对虚拟机进行提前配置,响应时间快,但预测精度低,难以实现资源的合理分配[12]。

针对当前资源分配算法存在虚拟机分配不合理、预测精度低等难题,构建了基于傅里叶变换和支持向量机的云计算资源分配算法,实结果表明,该算法提高了虚拟机资源的利用率。

1 支持向量机

对于训练集{(xi,yi)},采用支持向量机建立线性回归函数,如式(1)。

(1)

SVM回归优化目标为式(2)。

s.t.

(2)

式中,γ为惩罚参数;ei为支持向量机的回归误差。

采用拉格朗日乘子αi将式(2)转变为对偶优化问题,即有式(3)。

(3)

根据Mercer条件,核函数定义,为式(4)。

(4)

根据相关的研究,径向基核函数可获得更高的预测精度,具体为式(5)。

(5)

式中,σ为宽度参数。

对于非线性回归问题,支持向量机的回归函数,为式(6)。

(6)

2 云计算资源的分配模型

(7)

式中,r为采样频率。

(8)

随机测试2个周期窗口的相似度,若Ui与Uj的皮尔逊相关系数接近1,就以周期Z(1)进行改变,并通过动态时间归整算法得到X(1)最近1个周期的资源需求序列,使其和当前序列的映射距离最小,得到X(1)在t时刻的资源需求F(l)(t)。

若X(1)不具备周期性,则采用马尔科夫链进行分析,具体如下:

n=(Xlmax-Xlmin

(2) 各个时刻的资源需求量是不同的,采用数学统计法进行求解,即式(9)。

(9)

(3) 设该马尔科夫链是齐次的,利用C-k方程得到t时间范围内每一个时刻的状态概率,为式(10)。

(10)

(5) 综合相上述,可以得到式(11)。

(11)

3 本文的云计算资源分配算法

设Si为虚拟机vi的服务集合,vi在t时刻的资源需求预测结果,为式(12)。

(12)

当前物理机可分配资源量为R,E(R(t,vi))与D(R(t,vi))表示t时间vi的资源使用量的期望与方差,Uadd表示补偿值,其为D(R(t,vi))的线性函数。资源分配过程中,补偿值与预测波动呈正相关,根据虚拟机和p间的映射关系为:R(v,p)把相同p中的v排成1个调整队列,资源分配算法的工作步骤如下:

(1) 对Q进行遍历,如果Si

(2) 对Q2进行遍历,如果物理机剩下的资源R符合调整的条件,对Si进行相应调整,使其变为(R(t,vi))+Uadd,否则把虚拟机置于待调整的Q3之中。

(3) 对R进行轮询,如果R符合Q3对首元素的资源需求,继续进行资源调整。

(4) 如果当前资源分配量大于预测值,则尽快回收资源,称之为资源回收算法,其工作步骤为

(5) 对Q1进行遍历,如果当前分配值大于预测值,把vi置于Q4之中,并且根据Si-(E(R(t,vi))+Uadd)对对Q4进行升序排列。

(6) 对Q3进行轮询,如果其为空,则不进行任务处理,否则调整Q4队首的元素的资源,使其变成Ε(SX)+Uadd,间隔t0以后,接着进行轮询。

4 实验结果及分析

为全面分析本文算法的物理机的占用量、服务等级协议(service level agreement,SLA)等参数,在CloudSim仿真平台上与文献[13]算法进行了对比测试,数据来自于ClusterData2011,统计25台虚拟机1个月负载的均值,选择CPU利用率作为评价标准,具体如表1所示。

表1 CPU状态的取值范围

本文算法和对比算法的虚拟机平均负载情况和物理机使用情况如图1和图2所示。对图1和图2进行分析可以得到如下结论。

(1) 对比算法的平均负载为均衡,存在大量的低负载,而合理负载与高负载相对较少,本文算法合理负载较多,高负载和低负载偏少,有效了提高了虚拟机资源的利用率。

(2) 开始阶段虚拟机分配了12台物理机,工作时间的增加,对比算法的物理机不断增多,使得资源占用率相应上升,降低了资源利的用率。

图1 虚拟机的平均负载情况

图2 物理机使用情况

(3) 本文算法的物理机数目不是始终处于一种上升状态,开始阶段所占物理机和开始阶段相似,随着时间增加,占用物理机的数量慢慢下降,这是由于开始阶段资源分配根据峰值确定,导致物理机的占用率相对较高。

(3) 随着仿真时间的不断延长,可根据具体服务特点对物理机占用的数量进行调整,使各虚拟机的资源利用率处于一种理想状态,虚拟机占用物理机的数量慢慢减小,本文算法和对比算法物理机占用的数量大约为8与17个。 在0~30天内,本文算法和对比算法违反次数如图3所示。

图3 违反SLA次数比较

从图3可知,本文算法违反SLA的次数很少,几乎没有,而且对比算法每周内均会出现违反SLA现象,对比结果表明,本文算法可以有效避免违反SLA问题的发生,具有更好的安全性。

5 总结

针对当前云计算系统分配法存在的不足,提出了傅里叶变换和支持向量机的云计算资源预测分配算法,分别采用傅里叶变换和支持向量机对周期性和非周期性的服务资源需求分析和预测,并根据预测结果实现虚拟机资源分配,对比实验结果,相对于当前其它算法,本文算法提高了服务资源需求的预测精度和资源利用率,有效防止了出现违反SLA现象,能够为用户体验提供良好的保障。

[1] Armbrust M, Fox A, Uriffith R, et al. A view of cloud computing [J]. Communications of the ACM, 2010, 53(4):50-58.

[2] Duan Qiang, Yan Yu Hong, Vasilakos A V. A survey on service oriented network virtualization toward convergence of networking and cloud computing [J]. IEEE Transactions on Network and Service Management, 2012, 9(4): 373-392.

[3] 秦志光,柯涛,刘梦娟,王聪. 面向云平台的资源分配策略研究[J]. 计算机应用, 2013, 33(2):299-303,307.

[4] 华夏渝,郑骏,胡文心. 基于云计算环境的蚁群优化计算资源分配算法[J]. 华东师范大学学报(自然科学版), 2010, 1: 127-134..

[5] Zhou Fangfei, Goel M, Desnoyers P, et al. Scheduler vulnerabilities and coordinated attacks in cloud computing [J]. Journal of Computer Security, 2013, 21(4): 533-559.

[6] Uarg S K, Versteeg S,Buyya R. A framework for ranking of cloud computing services[J]. Future Veneration Computer Systems, 2013, 29(4):1012-1023.

[7] 冯光升, 赵晓宇, 马军, 等. 基于混合预测的云平台资源自适应分配方法[J]. 计算机科学与探索, 20105, 9(10):1172-1179.

[8] Lin J W, Chen C H, Chang J M. QoS-aware data replication for data intensive applications in cloud computing systems[J]. IEEE Transactions on Cloud Computing, 2013, 1(1): 101-115.

[9] 王倩,石振国,孙万捷,等. 基于PEPA的云计算资源分配算法性能评价 [J]. 计算机应用研究, 2015, 32(4): 1179-1183.

[10] 方晓平,陈年生,郭宇,等. 云计算资源分配策略研究[J]. 湖北师范学院学报(自然科学版), 2013, 33(4): 56-61.

[11] 刘文娟,陈华平,郝尚刚,等. 云平台下满足任务截止时间的资源分配策略[J]. 计算机工程, 38(6): 60-63.

[12] 朱匆,刘元君,彭自然,等. 移动云计算中基于协作式博弈模型的资源分配方案[J]. 计算机应用研究, 2014, 31(3): 912-916.

[13] 李卫平,武海燕,杨杰,等. 基于效益博弈的云计算资源动态可协调分配策略研究[J]. 计算机工程与科学, 2016, 38(1): 57-61.

Resource Allocation of Cloud Computing Based on Fourier Transform and Support Vector Machine

Xie Zhijun

(School of Software,Changzhou College of Information Technology,Changzhou 213164,China)

Because the cloud platform resource utilization rate is not high, accurate prediction of the variation of resources lacks, based on hybrid prediction of cloud platform resource an allocation method is designed. The service sources are divided into period service and nonperiod service according to the characteristics of cloud service resource. Fourier transform is used to analyze the period service source, and support vector machine is used to deal with nonperiod ones. Resouces are allocated based on predicted results and comparason is completed to meauere the operatability and optimzation. Experimental results show that the method can improve utilization rate of virtual machine resources, and reduce the number of service-level agreement violations.

cloud computing; resource allocation; Fourier transform; support vector machine

解志君(1977-),男,硕士,讲师,研究方向:计算机软件技术、移动软件开发技术、职业教育教学研究,常州 213164

1007-757X(2017)01-0074-03

TP311

A

2016.08.30)

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!