高性能计算:系统领先应用待赶

  • 来源:中国计算机报
  • 关键字:系统,高性能计算
  • 发布时间:2010-11-16 10:07
  作为我国高性能计算领域里一年一度的盛会,高性能计算学术年会总会给业界乃至世界带来一些惊喜。

  去年年会上公布的国内高性能计算百强中,国产系统已经雄踞前三名,而且第一名的天河一号系统位列当年发布的全球高性能计算500强的第5 位。在今年10 月28 日~29 日举办的年会上,国产系统已经囊括了前7名,而经过优化升级后的天河一号夺得将于今年11月发布的全球500强桂冠几无悬念。

  年会也给我们带来一些思考。作为国家竞争力组成部分,高性能计算不仅面临着在性能上不断突破的挑战,还面临着把这种超级计算的能量在更多的应用领域释放出来,以满足各行各业用户需求的压力。

  超级摩尔定律

  在过去的30多年里,高性能计算的每秒浮点运算性能以每10年提高1000倍的速度,几近线性地完成了从百万亿次(106)、10 亿次(109)、万亿次(1012)到千万亿次(1015)的跨越,预计在2020年之前,高性能计算将会再提高1000倍,从而突破百万万亿次(1018)大关。

  在高速发展中,高性能计算完成了从专用CPU到以x86通用CPU为主、从单核到多核、从向量机到集群、从由CPU组成的同构系统到以CPU 和GPU 共同组成的异构系统的提升。如今,系统中各节点间的通信网络也正在完成从局域网向InfiniBand的过渡。

  功耗问题在性能不断提高过程中变得日益突出,令普通的PC用户难以想象。以天河一号为例,如果采用CPU的同构架构,每天仅电费开支就会超过15万元,而如果采用CPU+GPU的混合架构,在同样性能指标下可以节省2/3的功耗。

  作为混合架构的新贵,GPU无疑成为本次年会报告中涉及范围最广的热门技术。虽然GPU的浮点运算能力是CPU 的数十倍,但功耗相当,因此同样存在因为发热而引发的“0”“1 ”翻转问题。

  这在GPU 图形应用中只是暂时影响一个像素,而在高性能计算中意味着整个计算的失败,甚至用户无法确认每次运算结果是否正确。记者注意到天河一号、星云等国产高端系统都采用了具有纠错功能(ECC)的GPU,从而确保了计算结果的可靠性。

  高性能计算高速发展的背后是美、日、中三个高性能计算机强国之间的激烈竞争。

  “我国在高性能计算机研制方面取得了长足进展,在性能指标上达到世界领先,但竞争还是非常激烈。今后两年,美国和日本将会有若干万万亿次高性能计算系统投入使用,这将拉开美日与我国的距离。”北京航空航天大学教授钱德沛在谈到我国高性能计算面临的挑战时表示:“我国在CPU、互连、I/O、系统软件、算法等核心关键技术上还有很大差距,缺少跨学科的人才,多学科协作研发尚未形成风气,应用与世界先进水平差距较大,在可持续发展上需要政府持续投入和科技界与工业界的持续努力。”

  应用应该无处不有

  “高效能仿真技术可以研究已发生、尚未发生或设想的现象,可以研究难以达到的微观、中观或宏观的世界,具有综合、协同、继承和互操作的特性,因而成为现代科学研究中求解高度复杂问题的重要科学手段,并与理论研究、实验研究并列为认识与改造世界的三种重要的科学研究手段。”中国工程院院士李伯虎表示。

  高性能计算不仅在像宇宙起源这样超长超大时空环境下的模拟、深空探测这样在地面无法进行的模拟中发挥着独到的作用,而且能用更少的时间与金钱代价和更高的效率来替代或者验证现实过程中的模拟和实验。

  我国西部不仅蕴藏着全国约80%的水力资源,同时,近代82%的强震也集中在该地区。中国水利水电科学研究院不仅成功地将高性能计算用于高坝地震相应分析,而且有的计算结果还修正了以往小尺度实物模拟时出现的较大偏差。

  化工、制药、冶金乃至沙尘暴这些风马牛不相及的领域,在中科院过程工程研究所研究员葛蔚看来,在算法上同属于多尺度数值模拟问题,即在仿真模拟中既要研究可能小至分子原子个体的微小颗粒的运动规律,又要在数米乃至数千米尺度上研究微小颗粒个体之间的相互作用。这种多尺度的问题没有高性能计算是不可想象的,而高性能计算在过程工程上的应用却给人留下充分的想象空间:不必一炉接一炉地冶炼来获取新的合金配方,也不必像神农尝百草那样去寻找新的药品,化学家也会用计算机取代实验室的瓶瓶罐罐和各色试剂。

  美国应用数学家Phillip Colell曾将涵盖工程模拟问题的算法归纳为7种。如今这些算法都可以移植到GPU上,区别只是移植难度和程度。换言之,高性能计算应该或者说未来应该无处不在。

  “1998 年,美国一个化学家因计算化学的研究而获得诺贝尔奖。我国的化学界还比较扭捏,到现在还称之为理论化学,而不叫计算化学,”中科院软件所首席研究员孙家昶说,“我们与物理学家已经很好地合作了,但与化学家的合作才刚刚开始。”

  只有相关行业的专家参与,高性能计算的应用才能推广,高性能计算自身进而才能得到持续发展。

  百万万亿次的挑战

  按照高性能计算过去30 多年的发展规律,每秒浮点运算性能将在未来十年内迎来百万万亿次。这1000 倍性能的提升带来的挑战是空前的。

  联想集团首席科学家祝明发认为,功耗将成为最大的挑战,假设按照现有的双核CPU 搭建,仅CPU的总运行功率就高达500 千千瓦,电费即便按0.5 元/ 千瓦时计算,也高达600万元/天。如何将系统总功率限制在20 千千瓦将会是一个巨大的挑战。此外,来自系统方面的主要挑战有:10~100PB(1015 字节)内存和EB(1018 字节)外部存储带来的带宽与延时以及功耗限制的挑战,并发性和局部性的挑战,来自系统恢复的挑战等。

  祝明发认为,应对百万万亿次的挑战必须要全方位地创新,包括硬件与体系结构,体系结构与编程方法,算法、工具、应用和运行系统的协同优化设计以及低功耗高可靠、可恢复的体系结构设计等方面。“1000 倍的跨越,是靠两倍、3倍的跳跃积累而成”。

  美国航天航空局(NASA)

  Langley 研究中心Singleterry 博士则提到了另一个问题:“NASA高性能系统的内核数每4 年翻5倍,从2004 年的10240 个内核、2008 年的51200 个,到2012 年预计将达256000 个,而到2016年将达到1280000 个。而算法是否也能每4 年翻5 倍,从2008年的2000 个增加到2016 年的50000 个?“未来是把钱花在更大和更好的硬件上,还是花在扩展性更强的算法上?”

  即便是在超级电脑跟前,还是要发挥人脑的作用。“不仅要注重算法的优化,而且还要重视建模。”孙家昶说。

  算法的挖潜所带来的效率可以起到让软硬件此长彼消的作用,进而显著降低应用对系统硬件性能的要求。
……
关注读览天下微信, 100万篇深度好文, 等你来看……
阅读完整内容请先登录:
帐户:
密码: