对于企业用户而言,选购HPC集群系统,远比购买一台PC,或是一台普通服务器要困难得多。因此,如何对所欲购买的HPC系统进行科学的测试与评估,以便做出正确的购买决策,是企业用户在使用HPC时所关心的第一个大问题。
与其它的公司采购不同,高性能计算集群系统的成功搭建在竞标过程中往往会增加评测的环节,很多用户使用这样的标准来指导高性能计算机的购买:Linpack(50Tflops)、处理器峰值速度(多少万亿次)等来测试HPC集群供应商提供的单节点性能。
HPC集群系统的选择指标
Linpack是最常被提起的性能指标,因为全球的HPC TOP500排行榜和中国TOP100排行榜都是以它为标准对HPC系统进行排名,企业用户在选购HPC时也非常关心Linpack值,同时也由于中国近两年来的HPC集群都创造了Linpack中国新高,因此更加引起了用户关注。
不过这一仅仅注重硬件性能的说法早已遭受质疑,英特尔中国服务器产品事业部产品经理顾凡曾多次坚持"超级计算机只是个工具,高性能计算应当回归应用"的观点,而来自863高性能计算机评测室主任、清华大学计算机学院副主任陈文光教授也认为,这两个指标还不是很够,以峰值为导向的测试很有可能造成这与实际应用不是很匹配,所以还要看应用的性能。
陈文光介绍说,传统的评测室仅在系统验收阶段进行测试,而全过程测试则是力求在设计和购买、实施与验收等各个阶段尽早发现系统存在的问题,减少损失,评测方案主要包括:评测设计方案是否满足需求、购买什么样的处理器、内存多大等问题。
面向应用的高性能计算测试:
购买评估的时候,系统还不存在:能否对处理器、内存、网络、存储、功耗等都进行完整的测试?
首先请各家系统供应商提供所构建高性能计算机的一个节点进行测试,测试仅对处理器和内存的选取提供指导意见,网络存储等指标由其它辅助方法确定。网络现在一般是40Gbps的Infiniband连接方案,但是是否全连接按照预算和使用模式来确定,I/O存储按预算和应用的I/O要求来选择高端或者中高端产品。
应用测试阶段:选取哪些应用进行测试?选取的标准使什么?如何把评测结果归结为性能指标?
选取思路:重要客户的代表性应用, 5-10个即可覆盖一个高校网格计算的典型应用。英特尔HPC架构师陈健在接受笔者采访时曾表示,这个步骤主要由用户完成,毕竟最后的应用肯定用户最了解,现在一般在选择应用作为测试的石油行业应用时,通常会选择地震资料处理软件GeoEast、Geodepth、GeoCluster等作为测试对象,主要的应用是地震资料解释、油藏模拟,而选择的原则是真实、有代表性、可重复。
如何选择处理器?
当应用确定后,也会进行相应的处理器选择。如果该用户多以计算密集型应用为主,那么英特尔至强5600系列服务器处理器会是一个很好的选择,至强5600系列处理器采用32nm制程工艺,这是英特尔处理器中首批采用该工艺、并最多集成了六个内核的芯片产品。除此之外,该系列处理器集成了上一代产品的智能计算特性,如使用英特尔睿频加速技术、英特尔超线程技术等。
在具体的时钟频率和功耗方面,至强5600系列中高端四核型号的最高主频可达3.46GHz,封装功耗为130w;高端六核型号的主频可达3.33GHz,封装功耗问95w。低电压版的四核及六核处理器功耗仅为40w和60w,该系列处理器已经成功打破12项与双路系统相关的性能纪录。
而用户如果多为内存敏感型应用,则可以选择以至强7500为基础搭建的胖节点进行测试。凭借相当于至强处理器7400系列8倍的内存带宽,以及每个处理器搭配的16根内存插槽带来的相当于前一代产品4倍的内存容量提升,至强7500系列在四路服务器平台中能够支持高达1TB的内存容量,而整体性能平均比上一代产品提高三倍之多。
至强处理器7500系列是首款具备机器校验架构恢复功能的至强处理器产品,该功能可让处理器与操作系统和虚拟机管理器协作,将系统从致命的错误中恢复出来。而此前此功能仅用于安腾处理器和一些RISC处理器产品中。
测试程序规模:可在一个节点上执行,可以放在一个节点的内存里执行执行时间大概在1000s左右,清华大学在气象预报领域应用多一些,选取这样的应用程序来测试,因为评测本身也与开销,因此不用选取耗时过长的应用。
测试技巧:采用相对性能法,将测试程序在一个参考系统上的执行时间作为参考时间,将测试程序在待测系统上的执行时间与参考时间的比值作为该测试程序在该系统上的性能;系统的整体性能为所有测试程序在该系统上性能的几何平均。
陈文光教授认为,对于这种评测应当避免理论峰值、Linpack性能等性能指标的不足,根据实际使用的应用程序来测试,测试单个节点可以对 CPU内存选型给予很好的指导,对网络的选取已经有相关技术可预测并行程序的性能。
要点指标:优化及未来的移植成本
尽管本文所谈的是HPC硬件的选择,但是在选择过程中绝不应该放弃对软件优化以及软件移植成本的考虑,陈健表示,HPC的选择绝非硬件的单纯增加,尤其如果要更换平台的话一定要将软件代码以及软件优化、代码移植的成本和日后应用考虑进去。
考虑到全球超级计算机Top500榜单的分布优势,以及笔者对国内能源行业的应用状况了解,拥有一套共用工具的英特尔架构会是理想的选择。
这套工具也是为什么在这期Top500榜单中基于英特尔处理器的系统能取得靠前的位置的一个原因。刚刚上任的英特尔公司高性能计算业务总经理Rajeeb Hazra介绍说,如果大家也跟踪过此前的Top500 的话就会发现,排名靠前的系统趋势已经从只跑一个应用、负载一个应用,到现在负载越来越多不同的应用。
因为I/A架构系统跨多个应用程序的能力非常强,服务于多个不同应用特征程序能力非常强。随着TOP500排名靠前的系统会越来越多用于承载多应用,IA架构的系统应当呈现出上升的趋势。
英特尔有一个非常大的优点就是能够随时倾听用户的声音,无论是至强搭建的HPC集群还是MIC要解决的并行应用,他们注意到了一个问题,那就是能不能提供一套工具,将这看起来不同的平台上的应用编程环境统一起来。
英特尔希望无论对至强还是一个集成众核的架构的用户来说,用来进行代码优化、应用调优的是同一套工具,用来协调多核以及众核的任务,前任高性能计算业务总经理Richard Dracott认为,"只有软件这部分才是我们的核心价值,因为我们会帮助客户用集成众核的产品去适应高度并行的应用,并且在代码方面付出极少的代价。"
而陈文光老师的测试方法也正好是"真实的应用程序性能最重要"的体现,不过无论是哪种方法,根据实际性能选择硬件都应当是最应该被优先关注的一点。