陈斌,东一舟,毛明荣
(南京师范大学 信息化建设管理处,江苏 南京 210023)
摘要:为评定企业级云系统在负载下的响应处理能力,需要对其有直接影响的资源管理能力进行评估和预测。而这种评估的有效性在对紧急资源请求、动态负载变化、消费者并行调节等协同需求因素综合考虑的情况下将显得更加有效。然而,目前尚没有对这些因素进行比较系统的研究报告。针对上述需求,以分层队列和历史建模技术为模型及实验基础,以大量数据实例为背景进行了分析。实验结果显示,以分层队列模型及历史性能建模为指导的新架构可以达到70%的预测准确度。以此为基础,给出了一个基于预测模型的云负载和资源管理算法。
0引言
理论上讲,如果能够使得潜在企业级工作负载完成资源分配的响应时间被预测出来,则可以增强自动化企业级资源负载分担的系统能力。本文针对上述需求,从数量规模上进行分层队列和历史建模技术的比较,也包括了最初对它们之间联系的认知。
本文主要对宿主于云环境的动态企业级系统进行了重点分析,定义并相应地提供对使用历史和分层队列模型的指导原则,另外定义并调整了一个基于预测的云负载和资源管理算法。
1系统建模标准
当环境中有超过一个虚拟服务端在宿主服务端运行时,每一个虚拟服务端都会被分配一个宿主服务端资源最小百分比。基于美国佛罗里达大学控制与信息实验室LIU T等人提出的针对各类服务端应用接入数据库及核心资源系统的分层模型的研究工作,基于队列网络的IBM Websphere(一种先进先出的队列模式)被用于各个应用服务端[1]。每一种服务端都可以通过时间片轮转来处理并发的客户端的请求。以服务级别SLA为标准进行划分,按照工作负载量级为指标所组成的客户端队列,其将会把请求发送到处理系统。分发器由负载管理系统所控制,调整着应用服务器的需求分发路线。这些管理系统可能使用一个预测引擎来帮助其生成决策。
2分层队列模型的定义及实验研究
分层队列模型包含了定义一个应用队列网络,一个该模型的近似解可以通过使用LQNS求解程序自动生成。该解决策略包括将队列划分为多个层级,性能指标通常包括每一个服务层级的平均响应时间、吞吐量和信息利用率[2]。
本实验创建了一个企业级系统的分层队列模型,该模型由应用服务层、数据库服务层、数据库磁盘阵列层所组成,每一层包括了一个队列和相应的处理器。在现实系统环境中,实验过程规避了多种服务级别共存的无队列延迟情况下的测量平均处理时间长的难题。
实验对不同工作负载情况下参数化请求处理时间预测的准确性和资源利用率进行了测试。典型的工作负载是按照最大值来参数化一个建立的应用服务器的。这里的Measurevalue表示共享时间的测量值,Predictedvalue表示队列长度的预测值。预测的准确度计算公式定义如下式:
Accuracy=Predictedvalue-MeasurevalueMeasurevalue×100%
该模式可以解释如下:在较少数量的客户端上拥有更高的平均处理时间,这是由于规模更大的系统以及虚拟机请求所致。图1显示了在不同数量客户端情况下,分层队列建模参数化过程的预测准确度。
最大预测准确度产生在并行化终端数量低于130个的情况下,低于此数量则预测准确度会开始下降。这是由于非连续的平均响应时间在客户端数量绝对值激增的情况下增加的比率将变得最大的缘故,同时吞吐量也将达到最大。按照表1,该结果的预测准确度85%来自于新架构。
3历史性能建模的定义及实验研究
历史建模技术包括了实例化性能指标、按照这些指标进行处理的响应负载度以及核心架构这几个方面的内容[3]。历史模型定义了变量和指标间的相互关系,例如线性方程或指数方程[4]。
MRTL=CLe(λL ×Nclient )(1)
MRTU=βU ×Nclient +KU (2)
实验结果还显示,虽然在本文中没有详细展开研究,使用一个转换关系以解析低中或者中高阶方程[5],可以有助于提高预测准确度。MAXthr对关系模型的影响体现如下:
KL=Λ(KL)×MAXthr+C(KL)(3)
βL = C(ΛL )×MAXthr Λ(βL )(4)
其中Λ(KL)、C(KL)、C(ΛL)、Λ(βL)这几个量值必须依靠历史数据进行参数化处理。对于参数化处理的中间简洁方程这里并没有给出[6]。该方程参数的高阶方程是按照下面的方式进行计算的:以百分之x作为MAXthr的增幅或减幅,βU是按照百分之1/x进行增减幅调整的,KU在此过程中基本保持不变。
在模型中B对MAXthr的影响呈现一种线性关系,由此可以推算出MAXthr达到最大值,同时在B基础上建立的服务器的吞吐量也可以达到最大值。
在一个基于参数化历史性能建模模型的系统上进行了实验性研究,通过实验验证了在第2节中所提及的实验步骤[7]。这使得一个历史队列仅消耗很少一部分资源进行参数化处理,这比仅仅使用分层队列方法作为在系统上进行客户端请求响应的处理更优越。上述模型中的参数通过适配最小二乘法趋势曲线进行历史数据模拟参数化。历史数据包括每一服务器MAXthr,以及每一个方程各自的数据库数据点实例值[8]。
4调节云预测准确度的工作负载及资源管理算法
基于服务满意度SLA的云消费者的企业级系统带来两个主要开销。历史和分层队列模型的使用在本实验中是按照如下步骤进行的。分层队列的方法需要大量的CPU时间以完成每一个平均响应时间的预测。
在实验算法研究所使用实例上,首先使用负载转换算法将每一个云消费者的工作负载分配到属于其自己的共享服务器上,然后观测所有云消费者的SLA失败率。按照松耦合系数SLACK=1.0运行算法,对任意一个云消费者来说,共享服务端的M=0,在表2中给出。一旦负载转换算法被用于每一个云消费者所涉及的迁移负载分配规则,则该预测平均值可以按照未产生SLA失败情况下所获取的服务器标准值作为样本。然而预测的不准确度会随着SLA失败率的产生而提高。表2显示了当设置了松耦合系数SLACK=1.1后对结果的明显影响。
5模型参数化准则及比较评估
实验证实了该快速参数化处理模型对维持动态企业级系统的预测准确度是非常有用的。模型在参数化处理后能快速检查其准确度也同样重要,偶尔的重复参数化处理机制也是必需的。
历史建模技术是在建模工具支撑下的用于帮助收集和分析历史数据的技术,它主要是针对专家级用户而言。分层队列方法也有工具支持,不同的是,无论是初学者或是有经验的用户都可以使用,它的工具集包括了模型效果器、求解程序以及GUI编辑界面。在本实验结论中,分层队列的预测易响应性也得到了提高,这与算法一的推论结果相吻合。通过该附加实验结论,可以推断收集实时历史性能数据的前提不是必需的。
6结论
本研究对比性地评价了在使用云负载和资源管理系统条件下的分层队列和历史性能建模技术。下一步工作包括对云资源管理综合性障碍、企业级云计算商业接受度以及扩展性的研究,解决这些问题以实现可靠而有效的企业级云计算解决方案。
参考文献
[1] 胡冷非. 虚拟机Xen网络带宽分配的研究和改进[D]. 上海:上海交通大学,2009.
[2] 李乔,郑啸. 云计算研究现状综述[J]. 计算机科学, 2011.38(4): 3237.
[3] 甘杉,颜璟仪. 基于云计算架构的电力企业数据中心建设[J]. 电子技术应用, 2014,40(S1): 7173.
[4] 田文洪,赵勇. 云计算资源调度管理(第一版)[M].北京:国防工业出版社, 2011.
[5] 王敏,李静,范中磊. 一种虚拟化资源管理服务模型及其实现[J]. 计算机学报, 2005,28(5): 856863.
[6] 樊晓贺,王娇,杜亮亮. 云计算环境下基于信任属性的混合信任评估模型[J]. 电子技术应用, 2016,42(7): 8591.
[7] 蒋晓艳,李腊元. 多元QoS约束的网格任务调度算法及其GridSim仿真[J]. 武汉理工大学学报(交通科学与工程版), 2006, 30(6): 10041007.
[8]方其庆,刘庆华,彭晓明. QoS全局最优的多目标Web服务选择算法[J]. 计算机应用研究, 2009,26(12): 44424445.