基于ARMA模型的云平台资源调度策略研究和实现

中国科技纵横 / 2018年07月01日 13:05

新闻

杨暘++陈奇

【摘 要】云平台的诞生,大幅降低了计算成本。目前,企业通过搭建各类应用云为企业内部员工和外部客户提供大量具有弹性的计算资源。虚拟化技术则是云平台的核心和基础技术要点。将不同的物理计算设备集中形成云平台中单个的虚拟主机,这样能够有效发挥硬件平台计算能力。不过,随着用户对各类计算资源需求的增加,导致了云平台中的虚拟主机数量日益庞大,如何高效合理地对这些虚拟主机资源进行分配,成为云平台管理员亟待解决的问题。本文从对预测模型研究入手,结合云平台虚拟主机的特点,提出一种基于预测模型面向库存管理的虚拟主机调度算法。

【关键词】虚拟主机资源调度 预测 云计算平台

【Abstract】 The birth of the cloud computing takes a significant reduction in the cost of computing. At present, the enterprise can provide a large number of flexible computing resources for internal employees and external customers by cloud computing platform. Virtualization technology is the core and basic technical points of the cloud platform. It can enhance computing ability of hardware to focus different physical devices on the formation of a single cloud platform. However, with the increase of all kinds of computing demands, it cause a large number of virtual hosts being created on cloud platform, and it also become a problem that needs to be solved urgently in the cloud platform by administrator to how to distribute virtual hosts efficiently and reasonably. In this paper, we will give a virtual hosts schedule strategy on cloud platform based on prediction model.

【Keywords】 Virtual Host Resource Schedule; Prediction ; Cloud Computing Platform

1 引論

随着云平台的推广和应用,目前国内很多企事业单位都通过搭建IaaS平台[1][2]和虚拟主机平台实现对计算资源的扩容,从而起到集中化管理和降低硬件采购成本的目的。特别在一些员工数量庞大的大型企业里,业务和组织结构十分复杂,通过平台能够有效降低企业信息化基础设施建设和管理成本。

但是,云平台虚拟主机也给企业信息基础设施管理带来新的问题。由于每个企业的云平台中运行着各种各样不同类型、不同业务用途的虚拟主机,这些虚拟主机数目庞大;同时,业务部门根据自身业务发展要求,不断发起新的计算资源使用请求。这就导致了企业内部云平台中出现大量不同层次不同种类的虚拟主机,因此对于这些虚拟主机自动调度和计算资源优化分配是十分有必要的。

本文利用自回归移动平均预测模型[3](Auto-Regressive and Moving Average Model,ARMA),通过用户对虚拟主机访问使用量的预测,从而建立起虚拟主机池,来应对用户对虚拟主机访问的需求,进而形成对云平台虚拟主机的自动化调度和分配。

2 问题描述

假设某一云平台在某一时间段里的对某一类型的虚拟主机调用访问请求量为集合,并对集合Q中的元素进行检验,发现集合Q中的元素在时间序列中是平稳的,且元素两两之间不具有相关性,因此可以认为集合Q中的元素满足泊松分布的条件。平台中可用的某种虚拟主机资源数量为S,用户平均占用平台虚拟主机进行业务计算的时间花费为T,该问题就可描述成一个单请求队列多服务台的排队系统(M/M/S)。另外,在整个计算资源匹配过程中,我们以先发起请求的用户先享受计算服务,这样该问题便可描述为一个单请求队列多服务台按先到先服务的随机队列系统(M/M/S/)。对于一个随机的排队系统而言,其目的就是用有限的资源获得最佳的服务体验,因此能够给出云平台上虚拟主机调度数学期望,即让用户在该等待队列系统中,获得最小的等待时间。

3 问题分析

根据排队理论基本特性,在评估某一个排队系统最优等待方案过程中,必须先获取该排队系统的队长、等待队长、等待时间、服务时间、服务台数等基本参数。在这些参数中,等待时间是该系统的数学期望,而服务台数则是系统的自变量。因此,云平台虚拟主机的调度问题可用函数。为了对该函数问题求解,我们先对历史数据进行了考察,根据统计能够计算得到云平台系统中用户的平均等待时间和平均服务时间,而等待队长能够在云平台队列中进行设定,因此仅需对访问云平台队长进行监测。关于队列队长,目前能够得到云平台的历史访问请求数据,对历史数据进行观测和统计测算后发现用户对云平台中虚拟主机请求访问满足随机泊松分布条件,故我们引入了自回归移动平均预测模型,通过该模型对未来预期的云平台虚拟主机访问请求量进行预测,从而判断该排队系统队列长度,并且利用该预测结果,适度对云平台中某一类虚拟主机数量进行调整,以满足用户随机并发的访问需求。

4 自回归移动平均模型

自回归移动平均预测模型[3](Auto-Regressive and Moving Average Model,ARMA)是一种被广泛应用的短期预测模型,该模型具有收敛速度快,同时满足因果关系和时间序列两个特征,在当数据积累并不充分时,该模型也能够提供较为准确的预测结果。

在使用自回归移动平均模型进行云平台虚拟主机请求访问量预测前,首先要对该类型虚拟主机历史访问请求的数据作时间序列上的平稳性检验。该检验目的是为了确认历史访问请求量在既定的时间序列上是完全随机的。这里采用增广迪基-富勒检验法(ADFTest)[4]来对历史数据在时间序列中的平稳性进行检测。

首先随机选取某一设备资源15期的请求访问量,这里样本要求是处于某段时间序列的中段位,这样能够排除检测过程中数据首尾对整体检测结果的影响。对选出的数据集合按时间序列进行顺序排序,得到结果数据集[4,7,7,8,6,10,12,15,11,9,13,15,13,14,5],随后对该段数据进行ADF检验,我们使用了Matlab工具对其进行检验,得出结果为不符合时间序列平稳性要求。按照自回归移动平均模型对预测数据时间序列的平稳性要求,根据富勒检验结果,该段样本数据集并不能够直接满足预测模型对样本数据的要求,故需要对该段非平稳时间序列数据进行平稳性训练。这里采用一阶差分法[5]计算公式对选取的样本数据进行时间序列平稳性训练。经训练后得到新的样本数据集合为[3,0,1,-2,4,2,3,-4,-2,4,2,-2,1,-9]。这里需要再次對结果数据进行时间序列检验,根据富勒检验法检验结果,经过一阶差分处理后的历史样本数据集合满足时间序列平稳性要求。因此,可以使用它来建立自回归移动平均预测模型。

在自回归移动平均模型中,首先对自回归部分参数展开计算。这里,我们采取了普通最小二乘法[6]对自回归移动平均模型中的自回归部分参数进行估计,并采用训练后的样本数据进行自回归部分计算。通过Eviews软件的计算模拟,得到该训练后的时间序列数据满足一阶回归方程。因此,利用普通最小二乘法计对一阶自回归模型参数进行计算,得到结果为0.121。该值即为自回归移动平均模型中自回归部分参数。其次,对移动平均模型部分的参数展开计算。在估参前首先需要确定一阶移动平均模型的自相关系数。自相关系数反映了时间序列数据中过去的数据对现在数据的相关程度,换而言之,在资源调度模型中就是度量过去的请求量对现在的访问量的影响。在得到自相关系数结果后,利用移动平均模型中参数和自相关系数的数学关系,计算得到移动平均模型中的参数估计值,其按样本数据估计得到的结果值约为0.932。

至此,对于自回归移动平均模型中的自回归模型部分和移动平均模型部分的参数估计已经完成,最后将两部分模型相加合并,得到一个一阶的自回归移动平均预测模型Y(t)=0.121*Y(t-1)+0.932*E(t-1),并可利用该模型对样本数据的下一期进行模型预测。

5 基于预测模型的云平台虚拟主机调度流程设计

根据上述对自回归移动平均预测模型计算的分析结果,结合排队论相关理论,对基于预测模型的云平台虚拟主机调度流程给出调度设计方案,其具体流程如图1所示。

图1展示了基于自回归移动平均预测模型的调度流程。在该流程中,首先需要建立一个排队队列,把对平台中的各类资源设备访问的请求,按照时间序列递增顺序存进队列中。在该队列中,根据先到先服务(First In First Service,FIFS)的规则把队列靠前的访问请求,优先进行虚拟主机设备的分配。调度系统在进行分配时,首先会根据请求虚拟主机的类型对云平台中所有虚拟主机的状态进行查询,搜索状态为空闲的资源设备,如存在,则将返回该空闲虚拟主机的网络地址,供用户使用;如该类型下的所有虚拟主机集合状态均为忙碌,则将该次操作请求暂行挂起,反馈等待消息给用户。同时系统为了最大限度减少用户等待时间,对虚拟主机进行创建工作。在创建过程中,首先找到该虚拟主机资源对应的模板集合,根据数据配置模板,进行克隆和创建,最后,将创建完毕的虚拟资源添加到该类型下的资源设备数据列表中,同时将创建结果和网络地址反馈给用户。当用户完成对该虚拟资源使用访问之后,将用户产生的数据进行保存并对该虚拟资源进行释放,以供后续用户的使用,同时将此次请求访问记录保存在数据库中,为之后的预测部分提供数据依据。在既定的时间序列之后,调度程序将对平台上的虚拟主机资源进行整理并对未来的请求量进行预测,将预测结果与实际的设备数量进行对比,对于实际资源数量小于预测结果的资源种类进行差量创建,对实际资源数量大于预测结果的,则暂不进行处理,连续5次的预测数量均小于实际数量后,才将平台中的多余资源进行删除,以释放足够的存储空间。

6 基于预测模型的云平台虚拟主机调度流程实现

6.1 调度流程的实现

在调度流程中,主要实现对虚拟主机资源的获取、类型判别、访问、动态创建和删除。在对调度流程实现过程中,需要调用上述对虚拟主机操作方法。图2为调度系统程序执行的流程图。

在图2中,调度程序首先建立一个全局空队列,将到达的请求装进队列中,根据队列先到先出的特性,在队列中排在队列前面的请求往往会被优先得到满足,后到的操作请求则会放在队尾。之后调度程序对队列进行读取,读取队首的请求获得其请求的设备类型。接着调度程序对针对设备资源类型对虚拟设备资源数据库进行查询,找到设备状态为空闲的第一个满足条件的虚拟设备资源,读取该设备资源的名称和地址访问信息,并将结果反馈给用户,供用户选择使用。如果在该设备资源类型下所有的设备均处于忙碌状态则对该类型资源进行创建,调度程序会读取该类型资源保存的配置模板文件就,随后进行创建,随后将创建成功的设备登记在该类型资源下的设备集合中,同时也将创建后的资源设备地址反馈给用户,供用户使用。在成功完成向用户调度设备操作之后,调度程序会在最后向日志数据库中保存本次设备资源请求结果。

6.2 预测流程的实现

预测流程部分主要利用自回归移动平均预测模型对云平台访问的历史数据进行估计,得出预测模型,并利用该模型对未来远期云平台的访问量进行预测。根据上述对自回归移动平均预测模型的样本检验和估参计算公式,给出部分核心算法及程序伪代码。图3则为一阶差分法核心伪代码。

上述图示中包括了对自相关系数、残差平方和的计算。同时在程序中也包含了自回归移动平均模型的参数估计。

7 结论

本文对自回归移动平均预测模型进行了结果分析,对上述样本数据进行了预测结果和实际结果的比较,如图5所示。

在上图对比中,选取了云平台中某种确定类型的虚拟主机在特定的时间序列中历史访问量的数据集合,蓝色部分为实际结果,橙色部分为预测结果是利用自回归移动平均模型计算得到的结果,为了显示更加直观,不再对前期条件数据进行罗列。分析对比结果能够发现预测趋势基本与实际趋势一致,不过预测模型普遍都存在滞后性,因此最后一期预测结果与实际结果相差过大,该误差会在后一期的预测过程中进行逐步收敛。

8 未来展望

本文对云平台虚拟主机调度遇到的问题和应用前景进行了阐述,利用自回归移动平均预测模型,结合排队系统相关理论知识,对云平台虚拟主机访问调度过程进行调度策略的设计,对预测模型中的核心计算功能给出了程序实现的部分伪代码。

本文力求将该调度策略成为一种对云平台虚拟主机访问调度通用的调度策略,以满足用户的訪问需求,不过对于目前云平台虚拟主机调度过程中,仍具有以下问题以待解决:

(1)云平台硬件限制。

在云平台中,虽然所有的IT基础设施成为了共同访问的虚拟资源,但是受到云平台自身硬件限制,如处理器性能、磁盘存储空间等。这些限制会影响到平台中虚拟主机资源的创建和调度管理,本文提出的虚拟主机调度方案,是基于排除云平台硬件设施的情况下进行的研究。

(2)预测调度的智能化。

云平台中的调度系统除了需要满足性能上的调度需求之外,还应该按照企业具体的业务需求进行调度。作为对企业IT基础设施的支撑,云平台中的虚拟主机资源应该能够符合业务发展的需要。但不同行业拥有不同业务特性,因此在满足业务需求的前提下,对云平台进行智能化的虚拟主机资源调度是今后发展的趋势。

参考文献:

[1]Mitigating Multi-Tenancy Risks in IaaS Cloud Through Constraints-Driven Virtual Resource Scheduling, SACMAT '15: Proceedings of the 20th ACM Symposium on Access Control Models and Technologies[C],Jun 2015.

[2]岳冬利,刘海涛,孙傲冰 IaaS公有云平台调度模型研究[J].计算机工程与设计2011,V01.32,No.6.

[3]邹伯贤,刘强.基于ARMA模型的网络流量预测[J].计算机研究与发展,Vol.39,No.12Dec.2002 P1645-1647.

[4]林慧君,徐荣聪.组合ARMA与SVR模型的时间序列预测[J].-计算机与现代化 2009(8).

[5]闵洁,李潇.基于最小二乘支持向量机的网络流量预测[J].-九江学院学报(自然科学版) 2010(1).

1.环球科技网遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.环球科技网的原创文章,请转载时务必注明文章作者和"来源:环球科技网",不尊重原创的行为环球科技网或将追究责任;3.作者投稿可能会经环球科技网编辑修改或补充。