Use of Time-series Based Forecasting Technique for Balancing Load and Reducing Consumption of Energy in a Cloud Data Center
年份:2017
摘要:
由于工作负载分配不均,一些服务器变得过载,而另一些服务器仍处于欠载状态。 为了实现负载平衡,需要从过度使用的节点迁移一些虚拟机。 但是与此不同的是,本文提出了一种负载预测算法,该算法将根据系统的当前以及将来的工作量来决定是否迁移。 因此,一旦声明节点过载,我们提出的技术就不会立即启动虚拟机迁移。 我们的算法已在CloudSim中进行了仿真,并将其性能与现有的基准算法进行了比较。 结果证明,所提出的技术不仅使数据中心更节能,而且更有效地平衡了工作量。
介绍
当前的大多数研究工作[5-12]基于系统的当前利用率。 如果服务器当前过载,则VM迁移将立即启动[7]。 但是由于迁移的开销,不必要的VM迁移可能会导致违反SLA。 结果,每次VM迁移都会增加运营成本。 因此,问题在于确定何时应开始迁移,以使与SLA违规和额外能耗有关的成本降至最低。 为此,提出了一种基于时间序列的负载预测方法,该方法决定了VM迁移的决策。 当主机的利用率水平超过动态上限时,该主机将被声明为过度利用。 如果服务器现在过载,并且下一个预测的负载也大于动态上限,则将进行迁移。 负载预测模型使我们的算法能够成功减少VM迁移的数量,并通过提供绿色IT解决方案来节省能源。
相关工作
动态比较和平衡算法(DCABA)算法使用了两个云优化概念。 首先是在物理机器级别上优化云系统,其次是根据用户应用程序的行为使用自适应阈值对其进行优化[13]。当节点的负载大于预定义的上阈值时,该节点被视为过度使用。 因此,算法会将此主机的额外负载转移到另一台主机。 这是通过自适应比较和平衡负载平衡方法执行的。 在这里,选择另一台主机的概率为p [k],该主机具有可以接受此负载而不会变得过载的最小虚拟机。当主机负载低于预定义的下限阈值时,则声明为负载不足。 因此,应用服务器整合算法将该主机的负载转移到另一台计算机,并且关闭源计算机以节省能源并降低云的运营成本。 放置迁移后的VM的目标主机不得过载。 与DCABA不同,我们提出的算法基于动态上限阈值
在[14]中,作者已经通过使用负载预测模型准确地预测了应用程序的未来资源使用情况。 但是他们仅在动态虚拟机整合中使用了此方法。 如果未充分利用的服务器的预计负载很高,则将不会进行VM迁移。 它减少了VM迁移的数量和过载节点的数量。 与[14]不同,我们使用负载预测模型来确定是否从过载节点迁移。
Khanna等。 [15]监视物理机和虚拟机的资源(CPU和内存)。 他们提出了固定阈值的想法,这将限制资源的最大利用。 如果资源超过预定义的阈值,并且有可能违反SLA,则系统会将VM迁移到另一台物理计算机。 与此不同,我们提出的方法使用动态阈值和负载预测模型的概念来决定迁移。
在[8]安东等。 已经提出了用于将虚拟机节能映射到合适的物理机的算法。 作者认为,保持工作阈值不变是不明智的决定,因为工作负荷在不断变化。 在[7]中,作者提出了IQR(四分位间距),MAD(中值绝对偏差)和LR(局部回归)方法来动态地找到主机的自适应上限阈值。 在云环境中,动态阈值的概念远远优于静态阈值。 但是,在启动迁移时,作者只专注于当前负载,因此有时由于负载的瞬时峰值会发生不必要的迁移,在我们建议的工作中,考虑服务器的当前以及未来负载可以将这种迁移降至最低。 我们已使用基于时间序列的预测技术来根据过去的数据计算服务器的未来利用率。
在[16]中,作者提出了一个名为Sandpiper的系统,该系统可以自动进行热点检测并确定虚拟到物理资源的新映射,并在虚拟化数据中心内启动必要的迁移。为了确保一个小的临时峰值不会引发不必要的迁移,如果持续时间内超过阈值,则会发出热点信号。仅当n个最近的观测值中至少k个且下一个预测值超过阈值时才发生迁移。作者考虑的阈值是静态的。作者在这里使用自动回归方法来计算下一个预测值。检测到热点后,将迁移其卷体积比(VSR)最大的VM。当系统的整体负载很高时,移动具有最高VSR的VM是不可行的。因此,为减少热点,虚拟机被交换了。但是,此过程在高峰时段无法高效运行,因为交换虚拟机不必要地增加了迁移开销。与[16]不同,我们在提出的方法中提出了动态阈值。简单指数技术和双指数技术用于预测系统的未来负载.
诺曼(Norman)等人。 在[18]中,已经开发了一种用于将VM动态分配给物理服务器的管理算法。 该算法包括三个步骤:i)测量历史数据,ii)预测未来需求,并且iii)将VM重新映射到PM,因此被称为Measure-Forecast-Remap(MFR)。 结合了装箱启发式和基于时间序列的预测技术,以减少支持工作负载所需的物理机数量。 在该算法中,使用预测方法找到单个VM的资源需求。 根据预测值,VM以非递增顺序排列。 然后,使用首选拟合试探法迁移VM。 我们提出的算法使用预测的负载来从过度使用的节点中进行迁移决策。
预测方法
我们提出的方法将根据使用时间序列预测技术预测的当前和将来负载来决定是否确实需要迁移VM。 时间序列是一系列数据点,由一个时间段[17]上的连续测量组成。 借助时间序列预测模型,可以基于历史数据预测未来值。 指数平滑技术是一种特殊类型的加权移动平均值方法,已应用于时间序列数据.在移动平均线中,所有过去的数据都具有同等的重要性。 但是有时最好优先考虑最近的观察结果.这是通过对数据分配不同的权重来实现的,它是加权移动平均法,因此,与旧观测值相比,最新观测值对预测值的影响更大。 以下公式显示了指数平滑技术的最简单形式:
在我们提出的方法{x1,x2«[t-1}中,该集合包含在持续时间t的过去时间间隔内物理主机的总CPU利用率历史记录。 它实际上是该主机上运行的所有活动VM的CPU利用率的总和。 {s1,s2……st-1}是相应的CPU利用率预测值。 使用以下公式从这组值中计算出MSE(均方误差):
当数据遵循某种趋势时,简单的指数平滑将无法产生最佳结果[19]。 为了处理这种情况,使用了“双指数平滑”或“二阶指数平滑”方法。 “ Holt-Winters双指数平滑”就是这样一种技术。 它的工作原理几乎与简单平滑类似,不同的是每个阶段都必须更新两个组件-水平和趋势[19]。 级别给出了数据值的平滑估计,趋势是每个周期结束时平均增长的平滑估计。 使用的公式是:
其中γ 是趋势平滑因子,0 <γ <1 并且α与之前相同。 {st}和{xt}与简单的平滑技术相同。 {bt}是在时间t处趋势的最佳估计。 该算法的输出即Ft + m,即在时间t + m,m> 0时x的估计值是:
存在几种方法来选择St和bt的初始值。 通常,s1设置为x1。 b1的三个可能值是:
我们提出的算法不直接使用预测值。 而是用来决定迁移的关键决定。 因此,我们算法的效率并不直接取决于预测的准确性,而是取决于有关迁移的决策的准确性。
4 PROPOSED WORK
VM迁移问题可分为三个部分:I)何时迁移II)迁移哪个VM以及III)迁移到哪里[26]。 我们提出的方法处理迁移的第一个问题。
上述算法将主机作为输入,并给出迁移决定(第1行)。该决定基于动态上限阈值策略。在此策略中,如果主机的利用率高于上限,则将其声明为过度使用。中位数绝对偏差(MAD)技术用于查找上限阈值(第5行),如[7]中所述。阈值随着工作量的变化而动态变化。提议的方法首先将当前的CPU利用率(在第3行中计算)与上限阈值进行比较,类似于传统方法(第6行)。如果主机没有被过度利用,那么迁移将不会发生,并且现有流程不会发生任何变化。但是,如果主机被声明为过载,并且我们至少有10个旧的CPU利用率数据,则与传统流程不同,未来的CPU利用率是使用基于时间序列的预测模型(第9行)来计算的。简单和双指数平滑技术(SES和DES)。为了正确地预测未来价值,必须将足够的过去数据传递给预测技术。在这里,我们采用了通过实验找到的最小数据长度10。在[7]中,作者使用最小数据长度作为12来计算MAD。在我们的实验中,我们发现该算法在数据长度为10的情况下效果很好。他们使用数据长度为10的数据通过局部回归方法预测了未来的负荷。如果预测的CPU使用率高于上限(第10行),则主机将包括在过度使用的节点列表中(第11行),并且将进行迁移。否则,将不会发生迁移,因为预计在不久的将来主机将不会保持过载。因此,可以在短时间内以违反SLA的代价减少迁移数量。
5. 性能分析
本节将分析我们提出的算法的性能。 在像云这样的高度动态的环境中,很难以可重复和可靠的方式进行实验。 这就是为什么我们选择Cloudsim仿真工具[20]来测试我们的算法,然后再将它们部署到真实的云中。
A.环境安装
我们的算法使用了[7]中提出的动态上限阈值的概念。 因此,为了比较它们的性能,此处使用了[7]的实验设置。
B.工作量数据
使用Bitbrains工作负载跟踪[21]进行了实验。 所使用的数据来自代表业务关键型企业应用程序的Bitbrains托管中心的500个VM的CPU使用率。 每隔5分钟测量一次数据。 详细的工作负载特征在[21]中。
C.性能计量
为了将我们提出的算法与现有算法的性能进行比较,我们选择了四个参数:物理资源的总能耗,发生的VM迁移的总数,过度使用的节点的总数以及SLA违规百分比,这些百分比描述了分配的次数 资源少于所需的资源。
D.仿真结果
我们已经将我们提出的方法的性能与文献[7]中提出的算法之一进行了比较。 此方法使用中位数绝对偏差(MAD)技术来找到动态上限阈值。 与我们的方法相反,它在主机被声明为过载时立即启动迁移。 该算法已在Cloudsim中实现。 我们使用两种预测方法来模拟我们的算法。 简单指数平滑技术(SES)和双指数平滑技术(DES)。
图1比较了上述三种技术的能耗(单位:千瓦)。 表1显示,能源消耗随着迁移数量的减少而减少。 减少幅度从18.36%到23.39%。 图2比较了生成的过度利用节点的总数。 SES显示最小减少量为46.03%,而DES最大减少量为48.47%。 过载节点数量的减少证明了我们的基于预测的算法成功解决了负载平衡问题。 图3显示VM迁移数量最多减少了28.00%。 由于我们根据当前以及将来的负载来决定迁移,因此根据预测算法的准确性,可以将因CPU利用率的瞬时提高而产生的迁移最小化。 反过来,它将减少迁移的总数。
过度的迁移会降低系统的整体性能。 因此,迁移的数量应满足服务质量(QoS)要求,同时迁移开销要少。 SES能够产生最佳的迁移数量,从而将平均违反SLA的情况降低2.19%。 但是DES将违反SLA的百分比提高了4.86%。 因此,要在能耗和性能之间进行权衡。
结论和将来的工作
从以上讨论可以得出结论,我们提出的方法比采取立即迁移决策的方法性能更好。 我们已经成功降低了能耗,但是在性能方面还有一定的改进空间。 从环境的角度来看,所提出的算法是更好的,因为最小的能源消耗将减少冷却系统的成本和二氧化碳的排放。 根据服务质量要求,提供商可以选择任何算法。
Use of Time-series Based Forecasting Technique for Balancing Load and Reducing Consumption of Energy in a Cloud Data Center的更多相关文章
- 10 Best TV Series Based On Hacking And Technology
Technology is rapidly becoming the key point in human lives. Here we have discussed top TV shows whi ...
- Paper: A novel method for forecasting time series based on fuzzy logic and visibility graph
Problem Forecasting time series. Other methods' drawback: even though existing methods (exponential ...
- CNCF CloudNative Landscape
cncf landscape CNCF Cloud Native Interactive Landscape 1. App Definition and Development 1. Database ...
- CNCF LandScape Summary
CNCF Cloud Native Interactive Landscape 1. App Definition and Development 1. Database Vitess:itess i ...
- ARVE: Augmented Reality Applications in Vehicle to Edge Networks
ARVE:车辆到边缘网中的增强现实应用 本文为SIGCOMM 2018 Workshop (Mobile Edge Communications, MECOMM)论文. 笔者翻译了该论文.由于时间仓促 ...
- SSL加速卡调研的原因及背景
SSL加速卡调研的原因及背景 SSL加速卡调研的原因及背景 网络信息安全已经成为电子商务和网络信息业发展的一个瓶颈,安全套接层(SSL)协议能较好地解决安全处理问题,而SSL加速器有效地提高了网络安全 ...
- Distributed Management Task Force----分布式管理任务组
http://baike.baidu.com/link?url=Y9HGLs8Qj6pXbbgY6xPdfiGDsQO8Eu1e80B4giQtQ_hAfGNF59byxnLoERYri4Duw7Gw ...
- top 9 Cloud Computing Failures
top 9 Cloud Computing Failures Outages, hacks, bad weather, human error and other factors have led t ...
- An overview of time series forecasting models
An overview of time series forecasting models 2019-10-04 09:47:05 This blog is from: https://towards ...
随机推荐
- PHP防止SQL注入攻击和XSS攻击
代码如下: /** * 防SQL注入和XSS攻击 * @param $arr */ function SafeFilter (&$arr) { $ra=Array('/([\x00-\x08, ...
- Java 单文件、多文件上传 / 实现上传进度条
博客地址:https://ainyi.com/76 日常,工作 在这里总结一下上传吧(是以前做过的练习,就汇总到个人博客吧) java ssm 框架实现文件上传 实现:单文件上传.多文件上传(单选和多 ...
- Spring IOC 总结
IOC 简介 IOC是(Inversion of Control,控制反转)的简写.Spring提供IOC容器,将对象间的依赖关系交由Spring进行控制,避免硬编码所造成的的过度程序耦合.它由DI( ...
- MySQL Install--编译安装MySQL 5.7
MySQL 编译相关选项配置和说明 [MySQL安装的根目录] -DCMAKE_INSTALL_PREFIX=/export/servers/mysql/ [MySQL数据库文件存放目录] -DMYS ...
- BootstrapValidator 表单验证超详细教程
一. 引入js 和css文件 在有jquery和bootstrap的页面里引入 bootstrapValidator.js bootstrapValidator.css 链接: https://pan ...
- MySQL存储过程01
过程:封装了若干条语句,调用时,这些封装体执行 函数:是一个由返回值的’过程‘ 过程是没有返回值的函数 我们把若干条sql封装起来,起个名字---过程 把此过程存储在数据库中------存储过程 存储 ...
- Pthon面向对象-特殊属性
Pthon面向对象-特殊属性 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.特殊属性 #!/usr/bin/env python #_*_conding:utf-8_*_ ...
- go语言笔记1
Go语言学习整理 本文基于菜鸟教程,对于自己不明白的点加了点个人注解,对于已明确的点做了删除,可能结构不太清晰,看官们可移步Go语言教程 1 Go语言结构当标识符(包括常量.变量.类型.函数名. ...
- [Reproduced] How to Improve Code Quality?
How to Improve Code Quality? Ref: https://www.perforce.com/blog/sca/what-code-quality-and-how-improv ...
- 51nod 2502 最多分成多少块
小b有个长度为n的数组a,她想将这个数组排序. 然而小b很懒,她觉得对整个数组排序太累了,因此她请你将a分成一些块,使得她只需要对每一块分别排序,就能将整个数组排序. 请问你最多能把a分成多少块. 保 ...