IT业界

超级计算机的窘境:软件开发滞后限制其应用

跨越“软”“硬”鸿沟

“魔方”的诞生将中国的超级计算一下子带入了百万亿次计算时代,但是应用却仍停留在几万亿次到几十万亿次的水平,中间至少相差了一代。

曙光公司总裁历军认为,“机器和应用之间有一代的差距是可以理解的。上一代的曙光4000A刚出来时也面临有没有人用的问题,但到今天我们国家的大飞机设计、神舟飞船、基因研究、石油勘探上面都用上了,可见机器带动应用是现阶段的必经之路。”看来,超级计算机超前于应用的发展似乎不完全是坏事,只有有了更加强大的计算机,应用软件和算法研究人员也才可能发现原有软件和算法的问题。

大规模并行软件的开发是个累活,周期很长,不像硬件升级那样见效快。在过去,软件都是串行编写,假定在一个CPU上面执行任务。超级计算机把这种情况彻底打破了,转而强调“并行计算”。高性能计算的原理其实并不复杂,就是将一个任务分成几份,每个服务器完成一份,但并行化的基础是对此代码涉及的应用科学有透彻的了解,在理解的基础上,再进行合理的任务切分,精细地处理负载平衡、通信等问题。因此才出现了能够写并行软件的高级人才少之又少的局面。

事实上,为超级计算机编程更是数学家的工作。他们不仅要有精湛的数学头脑,懂得各种编程语言,还要熟悉计算机硬件。更重要的是,他们必须愿意投入时间来设计各种算法和进行软件编程,最后,还要确保软件经过调试能够在超级计算机上使用。名噪一时的“深蓝之父”许峰雄就是这样一个人。这个对于人机对弈有着狂热兴趣的天才,更像是一名有着发达数学头脑的软件程序员。还在念大学时,他几乎每天吃饭路上脑子里都在琢磨如何在计算机上实现更快的出棋步数。为了战胜卡斯帕罗夫,许峰雄和他的同事前后用了十多年。

2009年6月,国内服务器行业的领军企业浪潮集团和中国超级计算领域的“专家团”——中科院超算中心签署了一项战略合作协议,试图联手攻克“软硬失衡”这一困扰超级计算机多年的难题。浪潮有丰富的市场经验,能准确把握用户的需求,可以安排大量的经验丰富的一线软件工程师和系统维护人员,而中科院超算中心则在体系架构、硬件设计上提供理论上的支持。这是一项艰巨的系统工程,其成效果尚需时日。

下一代千万亿次计算机已经在研制了。这台名为曙光6000A的超级计算机已经被深圳市预订,但如果软件水平不能迅速跟上,“软硬失衡”的“魔咒”将给它带来更大的麻烦——那可是千万亿次。 (本文来源:新知客 作者:成舸)

希望看到您的想法,请您发表评论x