关键词:
云计算
性能模型
分层排队网络模型
排队网络模型
虚拟化技术
摘要:
云计算作为一种商业计算模型和服务模式,其核心概念是不再依赖本地计算机来执行操作,而是将各种计算任务分散在由大量计算资源组成的资源池中,进而使用户可以按需申请计算资源。随着云计算的普遍使用,基于云计算的各种虚拟化资源的分配与管理以及作为虚拟化应用被部署在虚拟机上的数据库系统的性能成为人们关注的焦点。它们性能的好坏直接影响到云提供商和云用户的经济效益。怎样对虚拟化资源进行管理和分配才能达到资源的有效利用,以及如何配置云环境下部署在虚拟机上的数据库系统的参数使得其性能最优就成为一个关键的问题。
评价一个系统性能好坏的关键技术之一是为其建立性能模型。目前对系统进行性能评价的方法有测量和模型两种方法。两者相比,模型方法相对比较方便,工作量少,成本低,故本文选择采用模型方法来进行建模。模型方法又有模拟方法和分析方法两种,分析方法比较模拟方法而言具有快速、简单、较低成本等优点。目前分析方法中较常用的有排队网络建模技术(QNM:Queuing network modeling)和分层排队网络建模技术(LQNM: layered queuing network modeling)两种。由于QNM只能对简单的硬件资源进行建模,不能很好的描述资源之间的层次关系,所以在此基础上扩展出了LQNM,它可以对软硬件资源同时进行建模,分析具有嵌套调用的任务之间的关系从而对系统的性能进行评价,找出系统的性能瓶颈。
针对以上的介绍,本文提出了针对云计算中的虚拟化层和数据库系统相结合建立性能模型的思想。通过对云计算环境下虚拟化层和数据库系统的运行环境、工作原理以及体系结构进行分析,建立了云环境下数据库系统的LQNM,该模型是在3个结点的情况下建立的,共有5个软件任务(客户端、用户交互接口、系统管理、查询处理进程、数据存储进程)和5个硬件任务(THINK、CPU1、CPU2、DISK1、DISK2)组成。
QNM按其客户端个数和负载类型可分为封闭型和开放型以及单负载和多负载,采用平均值分析算法(MVA:Mean Value Analysis)对它们进行求解是行之有效的方法。但是对于LQNM来说,由于其没有乘积形式的解,故不能直接使用MVA来对其进行求解。对于模型的求解方法目前用的较普遍的是随机交会网络(SRN:Stochastic Rendezvous Networks)和分层的方法(MOL:The Method of Layers),本文选用MOL的方法来求解所建立的模型。根据MOL划分方法将所建立的模型分为软件争用子模型和硬件争用子模型,并对各输入输出参数进行描述,通过一些直接或间接的方法获取参数值带入到MOL算法和和MVA算法中进行模型预测系统响应时间值的求解。
文章的最后对模型的有效性、精确性和通用性进行了验证。将求出的预测值与实验测量出的实际系统响应时间值进行比较,二者之间的误差在允许的误差范围内,证明所建立的模型是有效的。同时将QNM和LQNM所得出的预测值与实际值进行比较可以看出,LQNM模型的预测值比较接近测量值,相对更精确。.由于本文所建的模型是在3个结点的情况下建立的,所以论文最后对模型的通用性进行了验证,在不同结点的云计算环境中使用相同的负载进行预测值和实际值的比较,得出的误差范围都在允许的误差范围之内,说明该模型对于不同结点个数的云计算环境都是适用的。