论文部分内容阅读
随着云计算和多核/众核架构的飞速发展,数据中心中的资源利用率成为亟待解决的一个重要问题,当前数据中心资源利用率非常低的原因在于:由于资源竞争导致的性能干扰普遍存在,为了保证在线型业务的服务质量(QoS),数据中心通常采用禁止其他应用与在线型应用共同执行的策略,导致了资源的过度配给。针对这一问题,目前学术界和工业界都在开展数据中心应用混合部署的研究,而实施应用混合部署的一个重要前提是:研究数据中心应用在混合执行场景中的性能干扰情况。 本文针对数据中心应用之间性能干扰严重这一问题,提出一种以负载分类来刻画应用特征和部署时行为分析的方法,在混合执行场景中评估各类应用的性能表现,以明确各类应用之间性能干扰的程度及来源,为混合数据中心提供部署和调度参考。本文以数据中心传统两大类负载延迟敏感型业务和批处理型业务,以及未来重要负载5G业务为研究对象,具体研究内容和贡献如下: 1)针对未来数据中心中重要的5G应用,选取OpenLTE作为其代表性benchmark进行分析,由于开源的OpenLTE性能很差,在性能分析时不能反映真实场景和行为特征,因此本文首先根据通用处理器的特点对其代码实现进行了优化,取得了2.5倍性能加速比;在此基础上进一步对其混合运行时的行为进行分析,其主要特点为:下行过程物理层处理流程是计算密集的,主要操作为位运算和赋值运算,基本无数据复用,访存不密集,程序响应时间极短。 2)针对传统数据中心的在线型和批处理型业务,本文分别选取搜索服务和矩阵计算进行分析。搜索类应用的特点是尾延迟对服务质量有重要影响,本文分析发现查询长度和服务器端线程均会对尾延迟造成明显的影响;矩阵计算类应用的特点是代码优化参数会对其在混合运行时的行为产生显著的影响(原因在于矩阵计算在代码生成时会利用循环分块来优化其对缓存的使用),因此本文着重分析不同的编译优化参数对批处理型业务在混合运行时行为的影响。 3)以提升资源利用率为目标的三大类负载混合执行行为分析及部署建议。5G应用的强实时性使其只能以独占机器方式运行,其内部并发体之间对共享缓存和访存带宽竞争小而对执行部件竞争激烈,可采用并发量不多于处理器核数方式部署,同时TurboBoost的影响不可忽视;延迟敏感型应用对访存带宽的竞争更为敏感,干扰度随着干扰应用访存带宽值的增加而增加,本文发现延迟敏感型应用和经过代码优化的矩阵计算类应用之间几乎不存在性能干扰,这两类应用混合部署可使资源利用率从50%提升到98%;经过编译优化的批处理型应用对共享缓存的竞争敏感,在应用部署时需要根据混合负载的情况调整优化的代码版本,优化的代码相比优化之前最多可以取得13%的性能提升。