清华大学:行家选购HPC自有高招

  清华大学计算机系副主任陈文光教授还兼任着另一项社会性职务———863 高性能计算机评测中心副主任,这让他的角色显得有点儿特别。在学校,他是授业解惑的学者、高性能计算(HPC)专家;在评测中心提供服务时,他和他的团队又成了用户的高参,站在公正评测的立场上推动国内HPC 发展。

  在清华大学采购HPC 时,作为行家的陈文光当然有“私心”,他把中心一整套评测规则毫不妥协地用在这块试验田上,也因此打造出了高校采购HPC 的新样板。

  全过程测试

  863高性能计算机评测中心2004 年在清华大学挂牌成立,目的是建立一个公正的第三方评测机构,像建筑监理一样对研制单位建设的HPC 进行验收。

  该中心依托发起单位的学术资源和实践经验,目前已经协助验收了30多套HPC,包括曙光5000、曙光4000、联想深腾7000 等当时国内最大的民用HPC,以及一些高校的中等规模系统。

  据陈文光介绍,该中心提供服务的最大特色是“全过程评测”,从最初的采购决策一直到最后的系统验收,并非只是介入验收环节,毕竟那时系统“木已成舟”,很难再做过多改动。这种评测方式为用户和厂商都提供服务,从早期就发现问题,并尽早解决问题。

  针对已经建成的HPC 系统,该中心提供了分层建模方法,来查找系统可能存在的问题。

  “系统规模很大之后,很多故障并不一定反映在程序不能执行方面,可能表现为程序执行缓慢。”陈文光说,建模目标就是预测,每层都有参考值,如果执行时间与预计相差过大,就表明有问题。从底层一步一步往上走,最后再做集合测试,隔离可能发生的故障。用这种办法,他们在验收时发现了大量潜在故障。

  如果用户希望在采购决策阶段就接受服务,陈文光团队所做的工作就要多得多了。“开始时系统并不存在,但我们有办法说明系统怎样设计才能满足用户需求,用户决定了应用程序和性能之后就能做出硬件选择的决策。”陈文光说。

  在系统的性能评价方面,陈文光团队实行严格的应用导向。“HPC是为用户的实际应用服务,理论计算峰值只是参考。”陈文光所说的理论计算峰值是用Linpack测试得出的,这是过去评价HPC 的关键指标。“Linpack测试有意义,但从用户角度看,仅靠Linpack指标就决定购买会有失偏颇。怎么再做一些补充,让用户选对最适用的系统?”陈文光表示,最好的办法是测试用户的实际应用。

  “我们先要整理用户应用,按照二八原则,基本上是抽取最重要的代表性应用,对一般性应用可能不会过多关注。接下来,要定制测试程序,规模缩小到一个在节点上执行,同时执行时间要具备可比性,10分钟到1小时。所有基准测试不止是测试性能,最终还必须能验证结果的正确性。”陈文光说,这些工作因为用户的实际应用不同,前期准备非常重要。

  在测试了多个应用程序之后,还要进行分数整合。“我们按照国际标准的做法,取一个系统做标准单位,得出所有系统的相对性能,然后把同一系统各测试程序的相对性能做几何平均,均值就是最后的系统得分。”陈文光表示,通过这一整套方法,关键点就掌握住了,用户明晰了候选系统的节点性能,据此还能预设全系统的性能。

  清华样板

  清华大学自身也是HPC 用户,作为863 高性能计算机评测中心发起单位之一,这套评测方法自然地用于该校的HPC 采购。

  在不同时期,清华大学曾先后采购过多套HPC,最新的一套基于至强5400 处理器的系统已用了近三年。硬件发展很快,应用对计算性能的需求又永无止境,既有系统已很难满足当前需求。为此,清华大学计划采购一台浮点计算峰值达100TFlops/s的HPC,陈文光团队承担起全过程评测的重任。

  “我们现在就在基于学校今后要运行的重要应用,测试系统的单节点性能,最终勾画出性能指标,在招标书中指定得出的参考性能分或性价比得分,这对清华招标起到很好的指导作用。”据了解,该系统已初步选定英特尔至强处理器,预计将配置约900 个基于至强5600 的双路计算节点,搭配部分基于至强7500 的多路胖节点。

  在测试过程中,清华大学选取了5 个代表性应用———分别用于模拟全球气候、环境污染、生物及物理科研等运算。这些应用来自清华各学院,他们以后将是新系统的使用大户。“我们把程序规模裁剪到单个程序运行1000 秒左右,我们还特别测试了功耗,得出满载和空载时的功耗指标,用于估算整个系统的功耗和电费。”陈文光介绍说,大部分测试程序都是CPU 密集型应用,至强7500 和5600 系列在缓存方面比上一代产品有明显改进,所以性能提升幅度很大。

  但在实际使用的并行应用程序中,有MPI 版本的程序在单节点上的运行规模可控,在基于至强5600 主流计算节点上应用得很好。但也有一些程序只有OpenMP 版本,比如清华大学运行的环境污染计算程序GEOS-CHEM,这种应用要在计算性能极其强大的胖节点上运行,基于至强7500 的多路多核系统当之无愧地成为这类程序的应用优选。陈文光表示:“在过去我们是做不到这样的性能提升的,虽然总体预算有限,不会配置太多胖节点,但一定会有一部分,未来也会挖掘出一些重要应用在胖节点上运行。”

  在CPU 的选择原则上,陈文光建议,构建HPC要在预算许可的情况下尽可能用高端CPU,原因是并行程序也存在一部分串行部分,CPU越强,执行串行部分的时间就越短,这对于提升系统执行效率影响很大,而且能保持很好的加速比。英特尔最新的至强处理器,其单核心的执行效率出色,因此在这方面也非常抢眼。

  新特性与新课题

  在测试过程当中,陈文光团队对新一代至强5600 和7500 系列都有了更深层次的了解。“我认为至强7500 的RAS 特性非常好。现在HPC遇到的大问题是,系统规模扩大,出故障的可能性也就大了。而系统本身的平均无故障时间越长,系统越可靠,做容错和高可用的代价就会越小。同时,支持大内存的特性对于某些程序来说也至关重要。网格粒度画细,需要很大内存容量,如果容量不足就只好去硬盘上做调度,效率十分低下。对于这类并行程序来讲,大内存支持是非常好的技术改进。”陈文光表示。

  对于英特尔在处理器中引入的睿频加速技术,陈文光甚至还从中发掘出了一些研究课题———把这项用于提升单线程处理性能的技术更好地用于并行计算。“如果并行计算扩展性不好,其中一个大问题就是负载不均衡,这会造成系统因一两个进程未完成而等待,显然效率很低。”陈文光认为,过去动态电压和频率调节技术主要用于节能,现在睿频加速刚好反过来,能让不同核处于不同的性能状态,这为解决负载均衡提供了新办法。

  “通过程序分析,我们知道一个MPI 程序中哪个进程运行时间很长,就通过调频把它放在加速后运行快的核上,其余进程放在其他核上。

  通过这项技术,原来的同构系统就变成了异构系统,而且可以调节。把负载均衡和异构性联系起来的重要课题是我们正在做的工作。”陈文光表示,这项工作还在进行中,大方向是对的,但目前还没有成果可以过早披露。“这提供了一种用现有技术解决既有难题的新方法、新路径”。
……
关注读览天下微信, 100万篇深度好文, 等你来看……
阅读完整内容请先登录:
帐户:
密码: