服务器 频道

清华大学高性能计算机测试与选型经验谈

  “自底向上,逐层建模”的评测经验分享

  由于大规模计算机的软硬件层次特别复杂、节点数量很多、规模也很大,因此非常需要通过专业测试服务来发现一些潜在的软硬件问题,以实现系统的优化。陈文光举例谈到,“在一次测试中,我们发现,仅仅是由于线缆的松动,导致某一个节点的对外通信速度比其他节点要慢上10倍以上,从而可能让某个只需要1小时执行完的任务跑上10个小时。这种问题非常麻烦,必须经过专业长期测试、逐层分析才可能找到真正原因。”

  为此,863高性能计算机评测中心在测试过程积累了这样一套评测方法:自底向上、逐层建模。即从系统最底层开始,通过对每一层建立一个性能模型来预测每一层的正常运行时间,并将其与实测数据相比较,根据比较结果来判断HPC系统是否有问题。

  陈文光介绍说,首先,在最底层,通过对点对点通信、CPU执行速度、内存带宽等进行测试,可以发现一些故障,如节点间不通或CPU速度很慢,然后与其他节点进行比较以发现问题;在此之上,进行集合通信等方面的测试,如MPI广播、Alltoall等,将测试结果与理论推断进行对比;再往上,对Kernel benchmark,如NPB中的FT程序的计算量和通信量进行测试,进一步把测出来的数据作为参数输入到性能模型里去,预测出正常系统的性能与实际情况进行比较;最后,对包含很多算法、数据和通信的实际应用程序进行测试。

  基于上述方法,评测中心为许多用户提供了验机测试服务,集中解答两个方面的问题:系统是否完好,机器配置与合同是否匹配。在此基础上,清华大学还针对少数几台机器进行了“全过程评测”,即从机器开始设计时介入,全程参与,类似于房地产业里的“监理”角色。比如,有一套系统,原有方案提出内存需要8GB、CPU需要很高主频,但评测中心分析后认为,根据应用需求内存应该提高到16GB,CPU主频则不必太高,系统上线后发现这一调整是很正确的决定。

  评测与研究是相互促进的,一方面评测需要研究来做支撑,另一方面,大量的评测也会促进研究。陈文光告诉记者,“评测并不是简单的操作层面的事,需要做大量的研究,根据国际高性能计算学术会议上的反馈来看,目前我们这套评测技术在全球范围也是最领先的。”

0
相关文章