● 摘要
云计算作为一种新型计算模式以其快速部署、弹性扩展和按需付费的优势得到了产业界和学术界的广泛采用,大量行为迥异的应用通过云计算平台将软件以服务的形式提供给终端用户,实现了软件形态的重要转变。与此同时,大量研究开始关注如何在云计算环境下优化应用性能、降低应用执行能耗、保障关键应用服务质量等问题。
MapReduce编程模型由于编程简单、透明容错等特点,在大规模数据中心,特别是在数据密集型计算领域,得到广泛应用。然而如何对MapReduce应用在其运行的Hadoop平台上进行优化,从而获得较优性能却始终极具挑战。与此同时,随着数据中心能耗以不可持续的形式不断增长,如何提高数据中心计算能效,特别是在云计算大量使用虚化技术的环境下,如何准确测量运行着不同类型应用的虚拟机实例的能耗,已成为一个极具挑战性的问题。另一方面,由于多核处理器在数据中心基础设施中的广泛使用,cache、内存带宽等资源的共享导致在应用聚合过程中产生严重的资源竞争和性能干扰,使聚合后的应用服务质量无法得到保障。如何在应用聚合提高数据中心资源利用率的同时,保障关键应用的服务质量显得至关重要。
本文从云计算下应用的性能、能耗和QoS三个角度,分别针对MapReduce应用的性能调优、虚拟机的能耗测量和面向应用聚合的QoS保障三个具体问题进行了细致研究,并对上述三个研究问题给出了有效解决方案,在具体应用中取得了良好的实验结果。总体来说,本文的主要工作和贡献如下:
1. 基于参数配置的MapReduce应用性能调优方法
提出了一套有效的MapReduce应用性能分析方法,识别出对应用性能产生显著影响的配置参数,有效提高了性能分析模型的准确度。
采用了主成分分析的方法,识别出对应用性能产生显著影响的配置参数。在建立性能模型的过程中,忽略那些对性能影响不大的配置参数,而只关注与性能关联较强的配置参数。既可以有效减低性能分析模型的复杂度,又可以提高模型预测的准确度。
建立了一套准确的MapReduce性能分析模型,通过性能分析模型预测相关配置参数调整可能对应用带来的性能影响,为真实环境下的平台性能调优提供依据。
根据所选出的对性能影响显著的配置参数,通过回归分析建立了性能模型。在该模型中,将Hadoop平台的配置参数看作一组输入特征向量,同时将MapReduce应用性能看做目标向量,通过模型分析在两者之间建立了关联关系。该性能模型能够对不同类型应用在不同系统配置下的性能进行准确预测。
2. 基于内核性能事件的虚拟机能耗模型
提出了一套可移植的虚拟机能耗测量方法,既不依赖于平台特定的硬件特性,又能够提供细粒度的运行时信息来刻画虚拟机的实时能耗。
利用了虚拟机运行期间的内核性能事件作为虚拟机性能指标,衡量虚拟机对系统资源地使用。内核性能事件记录了虚拟机运行期间完整的、细粒度的行为信息,同时又对底层的微体系结构和硬件细节提供了足够的屏蔽,有效提高了测量方案的可移植性。
建立了一套整合虚拟机能耗模型,避免了传统分离式组件能耗模型无法刻画组件间关联关系的缺陷,有效提高了虚拟机能耗模型的测量准确度。
避免了为不同系统组件建立能耗模型而引入的模型误差,将虚拟机的资源使用情况作为一个整体,直接与能耗建立关联关系。把反应不同系统资源使用情况的内核性能事件整合到同一个能耗模型中,并且采用支持向量回归的建模方法,提供了刻画不同内核性能事件间关联关系的能力,克服了线性模型的不足。
3. 兼顾应用性能和系统资源利用率的QoS保障机制
设计和实现了一套应用性能敏感度动态检测机制,能够定量化描述应用性能对于资源竞争的敏感程度,为选择满足服务质量要求的应用进行聚合提供了依据。
在选择应用进行聚合前,利用了轻量级的内存压力测试程序对系统共享资源产生不同等级的资源竞争,通过测量关键应用相关的性能指标,记录其QoS的下降程度。当内存压力测试程序运行完成后,可以形成关键应用实时的性能敏感度曲线供集群作业管理器选择满足QoS需求的应用进行聚合。
设计和实现了一个在线QoS调节引擎,能够根据应用的动态行为变化控制其对共享资源的使用,在保障关键应用QoS的基础上最大化系统利用率。
应用聚合后通过控制非关键应用对共享资源的使用实现关键应用的QoS调整。即调整非关键应用的执行速率,当关键应用的QoS低于指定阈值时,降低非关键应用的执行速率,从而保证关键应用的QoS需求;相反,当关键应用的QoS高于指定阈值时,提高非关键应用的执行速率,从而提高系统的资源利用率。通过反馈控制机制实现关键应用QoS的自适应调整,及时地在关键应用QoS和系统资源利用率间进行取舍。
相关内容
相关标签