Corresponding author: ZHANG Bin, E-mail: zhangbin@mail.neu.edu.cn
云环境中的资源(CPU个数、内存大小等)是按需付费的,因此往往希望能够尽可能准确地估计在给定资源数量下的服务性能.为此,通常需要建立能够描述资源与服务性能之间关系的服务性能模型.
为了构建服务性能模型,现有研究大多采用回归分析、排队论模型、机器学习等方法.文献[1]采用多重线性回归模型预测不同资源(CPU时间、磁盘、网络)利用率下的组件性能.文献[2]基于M/M/n/PS排队模型建立服务性能模型,并用于预测服务的平均响应时间.文献[3]基于人工神经网络的方法针对不同虚拟化架构下影响应用性能的关键资源类型进行建模.然而,这些方法在获取资源与服务性能关系方面各有不足:应用性能与分配的资源量之间往往不存在线性关系[4],因此不易采用回归分析建模;现有排队论建模方法多为分析CPU资源与服务性能的关系,而实际影响服务性能的资源还可能包括内存、带宽等;机器学习方法通常需要大量训练数据,因此在训练数据有限的服务初始部署阶段,性能模型的预测准确率往往较低.
针对现有方法的不足,本文提出了一种将适用于非线性关系建模的协同过滤推荐(collaborative filtering recommendation,CFR)算法[5]与支持向量回归(support vector regression,SVR)算法[6]相结合的服务性能动态建模方法(CFR & SVR based dynamic modeling of service performance,CSDM).
与已有研究不同,本文的CSDM方法在性能日志有限的服务初始部署阶段采用CFR算法建模,从而提高数据有限情形下的预测准确率;随着性能日志增加而逐渐采用SVR算法建模,该算法鲁棒性好、计算复杂度低,对于非线性、高维训练数据具有良好的建模能力[7].
1 服务性能模型及其构建过程根据应用目标不同,可以采用多种属性度量服务性能,如响应时间、吞吐量等,本文选择服务的平均响应时间(单位:s)作为其性能属性,并基于此给出服务性能模型的定义.
1.1 服务性能模型定义1 服务性能模型(service performance model,SPM).SPM是一个描述资源状态与服务性能之间映射关系的模型,表示为Θ: R→Q,其中,,表示资源状态向量,表示第i个资源类型的值;Q表示服务的平均响应时间;Θ表示 R 到Q的映射函数.
为了说明CSDM方法的基本过程且不失一般性,本文为资源状态向量选择4种常用的资源类型,即CPU个数、内存大小、网络带宽和存储能力,分别以r1,r2,r3,r4表示,其单位:CPU(个)、内存(MB)、网络带宽(MB/s)、存储(GB).
1.2 服务性能模型的构建过程定义2 服务性能日志项(service performance log item,SPLI).SPLI是记录服务在某种资源状态下平均响应时间的一条数据,可用6元组小<ServiceID,CPU_Count,Mem_Size,BW_Size,Vol_Size,AResTime>表示,各项分别表示服务标识号、CPU个数、内存大小、网络带宽、存储容量,以及服务的平均响应时间.
在预测服务性能时要根据准确率选择性能模型,本文采用平均绝对误差(mean absolute error,MAE)来度量性能模型的准确率:
式中:表示性能预测值;q表示性能观测值;n表示验证数据的条数.为了减少模型的离线训练时间,当CFR性能模型或SVR性能模型的预测准确率连续多次占优时,则认为该模型具有更高的准确率,并且在服务的后续运行过程中仅对其更新.因此,设定一个择优阈值来确定唯一的性能模型,从而避免不必要的模型训练,本文以其在增量性能日志上的MAE连续低于另一个性能模型的次数m作为选择该模型的阈值.
具体的CSDM建模过程如图 1所示.
如图 1所示,服务性能模型的构建包括两个阶段:离线阶段和在线阶段,离线阶段负责训练性能模型,而在线阶段负责选择模型来预测给定资源状态下的服务性能.
2 CFR与SVR性能建模 2.1 基于CFR构建性能模型类似推荐系统中用户(User)和项目(Item)的概念,定义由服务性能日志中的M个资源状态向量和N个服务项目构成的用户-项目矩阵Q,简称RSV-SI矩阵.矩阵Q的每一项qi,j表示服务项目Sj在资源状态向量 Ri下的平均响应时间.如果Sj未在 Ri下执行过,则qi,j=null.
2.1.1 计算相似度与文献[5]类似,为了降低在少量服务上具有相同平均响应时间但实际并不相似的资源状态向量的影响,修正皮尔逊相关系数相似度,得到资源状态向量e与r的相似度:
服务项目f与s的相似度:
2.1.2 预测RSV-SI矩阵中的缺失值根据文献[5]中的CFR算法,选取相似邻居,并基于协同过滤方法补齐矩阵中的缺失值.
1) 选取相似邻居.与r相似的资源状态向量集合:
与f相似的服务项目集合:
2) 计算缺失值.
2.1.3 预测服务性能利用式(6)预测新的资源状态向量r下服务f的性能.如果r与f在矩阵中不存在相似邻居,则令
2.2 基于SVR构建性能模型SVR是支持向量机在函数回归领域的推广,是支持向量机在实函数域的研究内容.
2.2.1 SVR方法构建回归模型由于资源与服务性能通常是非线性关系,因此采用非线性的SVR模型[8].通过引入核函数 ,SVR性能模型可由求解式(8)的二次规划问题得到.
求解上式,可得资源状态向量与服务平均响应时间的非线性模型:
2.2.2 核函数选取与SVR模型求解本文选择RBF核函数进行非线性转换,即
为了求解式(8)规划问题,采用序列最小优化(sequential minimal optimization,SMO)算法[9].
3 实验与结果分析以不同类型的Java应用作为服务性能建模对象,从3个方面验证本文提出的CSDM性能建模方法的有效性:CSDM与CFR模型、SVR模型的MAE对比,择优阈值大小对CSDM的MAE的影响,以及性能建模的时间开销.
3.1 实验设置为了深入验证CSDM的准确率,实验分析了4类服务:CPU密集型、通信密集型、I/O密集型以及其他类型.
3.2 实验结果及分析 3.2.1 不同类型服务模型MAE对比从不同类型服务中随机选择一个作为性能建模对象,得到CFR,SVR和CSDM三种方法的MAE随性能日志规模的变化曲线,如图 2所示.
从图 2可知,3种方法从总体上都是随着性能日志项的增多而表现出越来越低的预测误差.当服务的性能日志项较少时,CFR模型的MAE低于SVR,此时CSDM选择的模型为CFR;当服务性能日志项较多时,CFR模型的MAE高于SVR,此时CSDM选择的模型为SVR.
3.2.2 择优阈值m对CSDM的MAE的影响对于不同类型的服务,表 1统计了在不同择优阈值的后续100次预测中,CSDM的MAE等于CFR和SVR中最小MAE的次数.
由表 1可知,随着择优阈值的增大,CSDM方法在后续预测中MAE达到较小值的概率越来越大,表明择优阈值对于改善CSDM方法的预测准确率具有积极作用.
3.2.3 性能建模的时间开销对比图 3给出了CFR和SVR两种算法在不同性能日志规模下的平均消耗时间.由图 3可知,对于不同性能日志规模,训练CFR算法的平均消耗时间均多于训练SVR算法的平均消耗时间,并且CFR算法随性能日志项数目的增加,变化幅度较大,表明择优阈值对于改善CSDM方法的效率具有积极作用.
本文针对云环境中资源与服务性能关系的建模问题,提出了一种服务动态建模方法CSDM.对比实验表明,该方法对于不同类型的服务,在不同规模的服务性能日志上均具有较高的预测准确率.同时,研究了CSDM方法中的择优阈值对于提高性能模型准确率和降低模型训练时间开销的重要性.本文服务性能模型目前仅考虑了不同资源类型对服务性能的影响,未来工作中将会增加一些其他因素,使模型应用场景更加广泛.
[1] | Lloyd W,Pallickara S,David O,et al.Service isolation vs.consolidation:implications for iaas cloud application deployment[C]//IEEE International Conference on Cloud Engineering.San Francisco,2013:21-30.(1) |
[2] | Dejun J,Pierre G,Chi C H.Autonomous resource provisioning for multi-service web applications[C]//Proceedings of the 19th International World Wide Web Conference.New York,2010:471-480.(1) |
[3] | Kundu S,Rangaswami R,Dutta K,et al.Application performance modeling in a virtualized environment[C]//IEEE 16th International Symposium on High Performance Computer Architecture.Bangalore,2010:1-10.(1) |
[4] | Rao J,Wei Y D,Gong J Y,et al.QoS guarantees and service differentiation for dynamic cloud applications[J].IEEE Transactions on Network and Service Management,2013,10(1):43-55.(1) |
[5] | Zheng Z B,Ma H,Irwin K,et al.QoS-aware web service recommendation by collaborative filtering[J].IEEE Transactions on Services Computing,2011,4(2):140-152.(3) |
[6] | Drucker H,Burges C,Kaufman L,et al.Support vector regression machines[C]//Advances in Neural Information Processing System 9.Cambridge,1997:155-161.(1) |
[7] | 王宏宇,糜仲春,梁晓艳,等.一种基于支持向量机回归的推荐算法[J].中国科学院研究生院学报,2007,24(6):742-748. (Wang Hong-yu,Mi Zhong-chun,Liang Xiao-yan,et al.A recommendation algorithm based on support vector regression[J].Journal of University of Chinese Academy of Science,2007,24(6):742-748.)(1) |
[8] | Lorenzi L,Mercier G,Melgani F.Support vector regression with kernel combination for missing data reconstruction[J].IEEE on Geoscience and Remote Sensing Letters,2012,10(2):367-372.(1) |
[9] | Zhou Q,Zhai Y J,Han P.Sequential minimal optimization algorithm applied in short-term load forecasting[C]//IEEE International Conference on Machine Learning and Cybernetics.Hong Kong,2007:2479-2483.(1) |