论文部分内容阅读
随着计算模式的快速发展,数据中心已经成为目前重要的计算系统,如Google、Amazon等知名公司每年需要消耗数十亿元人民币来进行数据中心的运行和维护。然而,庞大的运维开销背后却是数据中心极低的资源利用率,尤其是承载在线应用的数据中心,平均只有6%~12%,其直接原因是当前的数据中心为了保证在线应用的服务质量,通常禁止在线应用和批处理应用混合的运行模式。进一步来讲,这是由当前数据中心中上层应用和底层硬件关于“性能”理解上的巨大分歧所导致的:延迟敏感的在线应用需要稳定且可预知的服务质量,而硬件在多应用混合执行时提供的性能是受干扰且不可预测的。这种分歧使得目前数据中心中通常不采用混合负载的方式(批处理应用无法利用在线应用闲置的计算资源),而是为在线应用过量分配资源保证其服务质量,因此造成了目前数据中心资源利用率极低的现象。 共享资源的竞争是数据中心资源利用率问题的根源,本文以程序在共享资源竞争中的特征为基础,研究对共享资源竞争的预测,控制和管理,以消除上层应用和底层硬件之间的分歧,从而提升数据中心的资源利用率。通过预测模型寻找可利用在线应用闲置资源的批处理应用,并借助于编译优化控制其对共享资源的竞争,最终实现将共享资源竞争纳入到数据中心的资源管理中,从而在保证在线应用服务质量的前提下,通过混合负载提升资源利用率。 本文围绕共享资源竞争带来的数据中心资源利用率问题,针对共享资源竞争的预测,控制和管理,主要的工作和贡献如下: 提出了一种量化共享内存子系统资源导致的性能干扰的方法。该方法将程序由于共享资源竞争导致的性能干扰表示为共享资源上总压力的分段函数,可以为应用构建精确的性能干扰预测模型;并以此为基础提出了一种两阶段的回归分析方法,能够高可扩展的为数据中心应用构建上述模型。使用九个数据中心应用,SPEC CPU2006和PARSEC程序在五个不同平台上的实验结果表明,本文提出的模型是精确的,在多类场景下的平均预测误差分布在1%到2%之间。 揭示了性能干扰预测模型同体系结构特征之间的联系。应用的特征向量代表对共享资源的竞争性,性能干扰预测模型的系数代表了对共享资源竞争的敏感性。并进一步分析了不同的体系结构设计对共享资源竞争的影响,如包含式的共享缓存将会加剧共享资源的竞争。 提出了一种peer-aware的循环分块优化方法,能够根据数据中心混合负载的场景为矩阵运算类应用生成“合适”的优化代码。该方法首先构建以复用模式为中心的共享缓存竞争模型,且无需分析共同运行应用的代码;并以此为基础提出了一个peer-aware的循环分块框架,支持高效和“温和”两种优化目标。三个应用在两个不同平台上的实验结果表明,peer-aware的循环分块方法是有效的。根据不同的优化目标,可以将矩阵类应用遭受的干扰降低最多43.3%,或者将矩阵类应用造成的干扰降低最多51.7%,并可以将ATLAS在混合负载场景下的性能平均提升8.9%。 提出并实现了一个共享资源竞争敏感的数据中心资源管理系统,可以在负载混合时为上层应用提供服务质量保障,从而提升数据中心的资源利用率。核心思想在于,资源分配时,借助于性能干扰预测模型预测潜在的资源分配是否会违反应用的服务质量。开源的YARN上实现的原型系统的结果表明,以牺牲10%的服务质量为代价,可以将集群的资源利用率提升到80%以上。