论文部分内容阅读
数据的爆炸式增长促进了数据中心的蓬勃发展。越来越多的公司和科研单位利用数据中心来挖掘大数据中潜在的价值。而在数据中心规模下,即使很小的性能提升也能立即带来巨大的收益。因此潜在而巨大的收益成为一个推动数据中心系统研究的主要驱动力。但是一些数据中心系统固有的特性,如繁杂而多样的应用、第三方库和软件栈的大量使用以及高效地处理海量数据等特性,为数据中心之上的研究增加了新的维度。同时,作为研究的基础,数据中心基准测试程序集的缺乏也加剧了量化研究的困难。 针对以上问题,本文提出并构建了一套面向数据中心研究的基准测试程序集。我们对其中的应用进行了深入的分析。而后基于提出的数据中心基准测试程序集,我们对当今处理器的设计参数在性能、能耗和总体拥有成本等方面进行了详细的评测。最后,我们对运行在SMT处理器平台上的数据中心应用进行了优化。 本文的主要贡献和创新如下: (1)基于目前没有被广泛接受的数据中心基准测试程序集这一事实,本文提出了一套面向数据中心研究的基准测试程序集—DCBench。本文广泛调研了互联网中主要的应用领域。然后从这些主要的应用领域中选取频繁使用的操作和算法作为代表性应用。我们将这些应用进行整合并发布了一套面向数据中心的基准测试程序集。 (2)本文提出了一套通用的方法来量化数据中心基准测试集中软件栈的行为。为了研究软件栈的行为影响,我们采用主元分析和聚类算法分析了基于不同软件栈的数据中心应用间的相似性。实验结果表明,软件栈对应用程序行为有很大的影响,这种影响甚至超过了算法对程序行为的影响。同时实验结果也证实了软件栈在基准测试程序集中的重要性。 (3)本文对数据中心基准测试集中的应用在微体系结构层面进行了深入的行为特征分析。本文采集了数据中心应用在微体系结构层上的行为特性数据并和传统的基准测试集进行了对比。我们发现数据中心应用在行为特性上和传统的桌面、高性能、服务器、片上多核处理器应用存在较大的差别。针对这些特性,本文在微体系结构层为面向数据中心应用的处理器设计提出了相应的优化建议。 (4)本文利用构建的数据中心基准测试集对当今主流处理器的设计参数行了综合考量。基于构建的数据中心基准测试集,我们在性能、功率、能耗效率、总体拥成本等方面评估了包括流水线执行方式、指令发射方式、动态超频和同时多线程技术在内的主要处理器设计参数。研究发现对于大部分数据中心应用而言,配备同时多线程和动态超频技术的强核心多核处理器更有优势。无论从性能还是能耗方面,强核心多核处理器都优于弱核心众核处理器架构。 (5)本文在当前SMT处理器平台上提出并实现了一套自动优化框架来加速数据中心应用。借助于机器学习算法,我们采用了一个基于预测的动态调优架构—PBDST(Prediction-BasedDynamicSMTThreading)来自动调整SMT处理器核心中的线程数。我们将该框架在软件栈层次实现从而保证了对上层应用的透明。实验结果表明,该方法相比于系统默认的SMT模式取得了最高56.3%,平均16.2%的性能提升。