论文部分内容阅读
随着数据中心的普及与不断发展,更多的商业应用系统被开发和部署到各商业企业及公共服务部门,本文通称该类应用为数据中心应用。由于数据中心应用的负载具有不可预知的波动性,过载问题一直是数据中心应用性能管理的重要问题。当前的过载管理方法由于没有注意到应用在不同负载模式下的性能差异和分布式系统的过载点动态变化,难以在系统过载时满足数据中心应用的服务级目标(SLO)。
本文开展了基于请求性能特征的数据中心应用过载管理技术的研究。主要贡献包括:1)提出了对应用透明的细粒度的负载分析方法。该方法能够获得请求级粒度和资源级粒度的应用负载性能特征。该方法首先根据队列网络模型建立了基于应用负载模式的性能分析模型,该模型描述了每类请求在应用各项资源上的性能分布。然后通过模型参数估计获得每类请求的细粒度的性能特征。该方法不仅适用于本文的过载管理,也有潜力应用于其它性能管理,例如应用的性能诊断。通过本文的负载分析方法得到的每类请求的服务时间平均误差在13%以内,而资源利用率平均误差在10%以内;2)提出一个面向基于虚拟技术的服务聚合环境的过载检测方法。该方法不依赖于对负载的预测,能自适应获得数据中心应用的复杂行为,特别是能够动态更新应用性能与多项资源之间关系的描述,并能够基于该描述在应用性能目标约束下自动发现应用瓶颈资源。本文的过载检测方法能够准确的发现应用的瓶颈资源,并正确检测出该资源是否过载;3)提出一个基于请求性能特征的细粒度接纳控制机制。该机制能够基于应用优先级或者请求性能特征对请求进行分类。在请求分类的基础上,通过精确控制对过载资源需求高的请求,能够在保护过载资源的前提下接纳更多的请求,保证系统吞吐率和非瓶颈资源的利用率。此外,该机制还能够在控制精度与低开销之间做出权衡,因此在极端过载情况也具有好的可扩展性。当系统过载时,与接纳时间比方法相比,本文的细粒度接纳控制能够满足应用服务级目标,即在能够保证应用性能目标的前提下系统有更高的吞吐率;低开销的控制策略具有高可扩展性,控制器的请求处理速率可达20000个请求/秒。