论文部分内容阅读
高性能计算(HPC,High Performance Computing)在天文地球物理、大气海洋环境等众多领域具有广泛的应用,而性能是高性能计算程序的关键。HPC程序通常包含一些可以调节的参数,例如并行核数、算法选择等,研究表明,经过性能调优的程序可以达到10甚至100倍的性能加速。然而HPC程序的参数和性能往往呈现出复杂的非线性函数,因此性能调优变得异常困难。经验性能建模(EPM,Empirical Performance Modeling)可以很好地拟合这种复杂的关系,实现高效的启发式参数搜索。然而,经验性能建模需要大量的样本作为训练数据,再加上HPC程序通常占用大量的计算资源,并且运行时间较长,例如几个小时甚至几个月,这些因素导致了 EPM高昂的计算和时间开销。为了减少建模开销,已有工作提出了一种基于主动学习的建模方法PBUS(Performance Biased Uncertainty Sampling),它首先采样出可能的高性能样本,然后采用主动学习算法选择其中不确定性最高的样本,进而减少数据冗余。相对于随机均匀采样,PBUS在一定程度上减少了所需的样本数据,但是本文的实验显示,PBUS将性能和不确定性两种因素前后分离处理的做法存在一些缺陷,可能导致数据冗余问题变得更加严重,因此仍然具有较大的改进空间。为解决已有方法存在的数据冗余问题,本文提出了一种新的主动学习方法,它充分地利用已有的样本信息,能够高效地探索参数空间中的高性能样本,即在利用已知信息(Exploitation)和探索未知空间(Exploration)之间能够作出更好的平衡。具体地,本文在主动学习算法中设计了一种性能加权的不确定性采样策略(PWU,Performance Weighted Uncertainty),用来识别具有高不确定性或高性能的样本。一方面高不确定性的样本可以减少数据之间的信息冗余,另一方面高性能样本的标注开销较小,因此PWU选择的样本可以减少所需的训练数据以及避免高开销的样本标注。另外,PWU策略将不确定性和性能两种因素结合在一起,避免了 PBUS方法中可能存在的缺陷。为了验证这种方法的有效性,我们使用随机森林模型,为来自SPAPT套件的12个计算核程序以及两个典型的科学计算并行应用(Kripke、Hypre)建立经验性能模型。实验结果表明,采用本文提出的方法,在保持相同预测精度的前提下,相比于PBUS方法,采用PWU策略的建模开销加速比最大达到21倍,平均达到3倍之多。具体地,无论对于不同的目标程序,还是不同的建模需求,PWU建立的性能模型的预测结果都更加稳定,说明PWU具有较强的鲁棒性。另外,本文还进行了基于PWU经验性能模型的性能调优实验,实验结果表明,采用PWU策略建立的性能模型,不仅提高了调优的效率,而且提升了调优的质量。综上,PWU成功克服了已有方法的缺陷,显著减少了可能存在的数据冗余,在建模效率、模型质量、方法鲁棒性等方面都具有一定的优势。