DOIT原创报道: 作为清华大学高性能计算和网格计算方面的学科带头人,陈文光教授最近几年频繁的出现在ChinaGrid学术年会上,在本届于广州中山大学举行的年会上,陈文光教授介绍了有关依据实际应用性能驱动HPC系统的采购方法。
在清华大学,高性能计算和网格计算作为重点发展的项目之一,每天都投入大量资金在HPC系统的选型、测试和采购上面,但是,由于HPC系统的复杂性和规模都十分庞大,清华大学不可能在采购时对多家供应商的HPC系统做全面的测试,可以说在采购前,清华大学以前往往遇到“盲人摸象”似的采购测试方面的问题。
“传统的评测方法仅是在系统验收阶段进行测试,我们提出的全过程测评的思想,力求在系统设计、购买决策、实施与验收等各个阶段尽早发现系统存在的问题,减少损失。”陈文光表示,清华大学863高性能计算机评测中心于2004年成立,对国内高性能计算机系统进行了多年系统的评测,现在的研究课题,就是全过程评测方法,而其中的重点就是采购前的系统测试。
如何在采购前完成系统的测试?
陈文光表示,使用何种指标来指导高性能计算机的购买是一个十分重要的问题,处理器的峰值速度、系统的Linpack数值都并非最好的评价指标,面向应用的高性能计算机性能测试,才是更好的能够得到应用性能的测试方法。
但陈文光也承认,面向应用性能的测试,尤其是采购前的系统评测,是具有一定的难度的,他将其归纳为三个难点。
第一个难点是购买评估的时候,HPC系统还不存在,对此,他给出了针对于如何在未购买系统时进行测试的思路。
清华大学陈文光教授同时还负责863高性能计算评测
陈文光表示,清华大学的高性能计算中心现在已经有了一个较为清楚的测试设计思路:让供应商提供一个节点用以测试,该测试则仅针对处理和内存速度,网络和存储等指标则由其他方法进行辅助确定。同时,该测试必须是面向应用的。
他表示,清华大学目前采用的测试方法至少可以在处理器和内存的角度给出一个指导性的意见,得到适合的处理器和内存。此外,网络目前一般选取40Gbps的Infiniband,但全连接还是部分连接,则要看预算和应用模式来确定。
第二个难点则是选取哪些应用程序来进行测试,对此,陈文光认为5-10个应用程序用来测试即可,“从逻辑上来说,每个学校的潜在用户可能有几十上百程序,选择最重要的用户进行测试,如清华就是气象预报和气象图像,应用个数不能太多,评测本身是有开销的,从经验来说,5-10个应用就能够覆盖学校应用测试。测试的规模要缩小到一个节点上,让应用在一个节点的内存上能够跑起来即可。”——陈文光的测试仅限于一个节点,而每个程序的执行时间大致在1000秒左右。
第三个难点是如何把评测结果归结为性能指标,陈文光认为这并不困难,清华大学采用的是“相对性能法”:“把结果归结为指标其实并不难,将测试程序在一个参考系统上的执行时间作为参考时间,使用SPECCPU的标准方法测试,将多个测试结果进行几何平均即可。”
不过,目前的测试方法在网络连接和IO存储方面有些薄弱,,陈文光认为,测试单个节点,可以对处理器和内存选型给予较好的指导,但是对网络的选取,已经有一些国外的技术可以预测并行程序的性能,但现阶段来看,还不是普及化的评测方法。
实际案例:HPC测试是如何完成的
为了能更好的说明评测方法,陈文光以清华大学的一套实际HPC系统的购买前测试过程,为与会听众讲解了更详细的HPL测试方法。
“像清华探索4号HPC测试,我们是在单节点上做的Linpack,让厂商各自调优,并规定整机HPL性能设定值必须达到的性能100TFlops,同时要达到一定的效率,尤其是并行效率。”陈文光表示,在测试过程中,他们选取了清华大学HPC应用领域的最重要的五个程序:GEOSCHEM、SPIDER、GAMIL、VASP、MPI-DVDAC——这些都是在环境、生物、气候、原子模拟等方面最流行的程序,同时也是清华大学最常用的软件。
此外,在应用测试的优化工作方面,陈文光表示,虽然不允许FDO方式进行优化,但是“厂商的优化能力体现在其技术实力和服务能力上。”如果厂商的优化、服务能力不过关,陈文光说,“HPC系统少不了麻烦原厂商,到那时候如果不行,就麻烦了。”
在陈文光介绍的例子中,共有六套系统参与到测试中来,编译环境为英特尔编译器环境,在得出六套系统的测试结果之后,评测中心以测试的第一套系统作为基础,做其它五台系统的几何平均,从而得出相对公正的得分,其中综合性能较好的节点,将成为采购的首选。
863高性能计算评测中心对英特尔的全线服务器处理器产品进行了评测
值得注意的是,陈文光谈到了有关功耗测试的内容,“采购投入3000万,每年的电费400万,因此对功耗测试非常重视。”因此,清华大学同样进行了系统满载和空载时的功耗测试,从而比较出了更加低能耗,绿色节能的节点。
陈文光透露,正是在这样的评测中,清华大学选择了英特尔的至强7500、至强5600和安腾9300产品线,他表示,高性能计算评测中心目前已经能够达到“用什么就测什么”的发展阶段,但这样的发展,与原厂商,如英特尔的支持密不可分。
接受听众提问时,陈文光表示,评测中心并不考虑系统的配置和产品具体信息,提交的HPC系统并不要求系统配置一定要一摸一样,评测中心考察的,是“如何在一个节点上获得更高的性能。”
此外,陈文光也表示,指令集的向量化优化能够大量的提高系统的性能。