高性能计算系统栈的推倒和重建(三)
作者: 微软HPC中国研发团队博客, 出处:博客,望洋兴叹
在专有机时代作并行计算的研究,你得会投“胎”。当时,全球科研的浪尖是在美国,能在Communications of ACM上发表论文的,都是美国大学的。用的HyperCube, Cray,Connection Machine 2 等大型机。而在英国,只有国产Transputer。 更可悲的是,我所在的埃德塞特大学(Exeter University), 我们当时只有四个transputer 节点。当时在英国,可以说是望着大西洋对岸的美国兴叹啊!我看美国人的论文的心情,就好比是一个穷人家的孩子偏偏喜欢上摄影,然后看着有钱人家的少爷拿着长焦、广角镜头,口水只能往里咽。
1993年,我到了美国阿冈(Argonne)国家实验室后,我就好像是小孩进了糖果店,因为那里有不少专有机(CM2, Paragon, Sequent等)。我问秘书预订了每个专有机的用户手册。每个手册都有电话簿那么厚,当秘书象我小时搬蜂窝煤一样把几英尺厚的手册搬进我的办公室后,她累得大抒一口气。现在看来,真是浪费了,这些手册我都没有用过。不是我没有用功,而是专有机被第一批微处理机颠覆了!
消息传送库pvm, P4和 MPI
在80年代时候,多种消息传输环境被开发出来。有些是为专有机开发的Ncube. 而另外不少是为Unix工作站开发的。比较有名的是Oak Ridge 实验室的PVM (Parallel Virtual Machines) 和阿冈(Argonne) P4 和PICL, Ohio 超级计算机中心的LAM。
当我看到PVM 的时候,我也就不望洋兴叹了。因为用工作站组装成一个超级计算机,不用花大钱去买专有机。而且写程序也是用常见的C或Fortran语言。不需要专有的语言。 一下子,高性能计算的世界在我眼前变平了。
到了1992年末,听说又要搞个什么MPI。我和一帮英国同事都在笑,怎么又来一个消息传输库。后来才知道,我们笑得过快。原来,MPI是要吸百家之长、制定工业标准、省得大家重新发明轮子、浪费体力精力脑力人力。 Argonne和Oak Ridge 都是美国能源部的实验室。两个实验室,为了一个消息传输库争夺用户,结果使得能源部的应用开发成本提高两倍,这是实在说不过去。1994年这个标准终于出来了,不到两年的时间出来了这个标准,在HPC领域是相当快的。而且有许多学术界的人士参加的标准Forum, 一向是拖拖拉拉,没有目标导向,企图把海水烧开。为什么MPIForum 能够如此神速地推出此标准呢?
这要归功于两个人,Bill Gropp 和 Rusty Lusk, 他们都是从阿冈国家实验室的科学家。不要笑,他们的抬头就是“科学家”。
他们告诉我,最重要的原因,是MPI一开始就有一个参考实现:MPICH。 是他们两人主写的代码。所以,一旦有了一个可以参考的MPI库。一些应用就可以开始并行化。这样,许多没有任何应用场景的“好主意”,就很容易被扔到“Out of scope”栏目。帮助参加讨论者集中注意力。还有,他们采用的方法是一天早中晚连轴转的方式,如此高强度的讨论,只有那些铁杆、硬核的人才能挺得过去。所以,也把一些不懂行,不委身、但往往容易随机化讨论的人自然淘汰出局。
很多人把集群的概念归于Beauwolf. 其实,集群已经在九十年代初,就有了。许多人都以为,是beauwolf 集群后,工业界才开始使用。历史并非如此。听我给同学们表来。
制造业最早的投入生产的微处理机集群
在美国East Hartford,驻扎着著名飞机发动机厂商 Pratt Whitney的设计中心。过去,为了测验叶片的强度,他们要将一个冰冻鸡扔向高速旋转的发动机上,然后分析断面。 毫无疑问,造价极高。后来,他们使用Cray来做模拟仿真。只是能够模拟单叶片。而且Cray成为稀有资源,每个工程师的作业,都要排上两天才能算上题。
90年代上半叶,Pratt Whitney的CFD组,开始自主设计、开发一套消息传递系统,Prowess。它可以扩展到上千台太阳工作站。其中带头人名叫Craig Fischberg, 因此在制造业界成名。95年左右,GE 飞机发动机给了他双倍工资并为其妻子安排了很好的工作,把他挖了去。后来,他又用MPI 来为GE建立了同样系统。从此,他在GE 的地位如日中升。
一想起工作站资源觅食(Cycle Scavenging)人人都以为最早是由Seti@home. 其实,在九十年代初在Pratt Whitney 已经有了。
那么从Cray 到工作站集群到底带来什么大不了的效益,使得GE出血本要挖人才呢? 后来,Craig Fischberg 跟我讲,以前只能在叶片上模拟,后来能够把模拟整个发动机。以前的排队时间长至3天,结果晚上提交,第二天一早就可以看见结果。结果呢,高耗资的物理测试减少了,设计时间缩短了一半,而且飞机引擎的油耗效率大大提高。所以,GE能不受刺激吗?花了双倍工资挖到了Craig Fischberg是非常小的代价。
成百上千的工作站的计算能力被完全释放出来。他们用的作业调度器是Platform Computing 的LSF。 所以,在九十年代,LSF的用户手册写着“Unleashing the Power” – 释放能力!就是从这儿来的。
商家简介
机器厂商
IBM,SGI, HP 和SUN
硬件
精简指令芯片
处理器间网络联接
定制化的网络
应用软件编程界面
MPI-工业标准 PVM 和其他 消息传递软件包
作业调度软件
LSF, PBS, Sun Grid Engine (SGE)
为什么会有那么多的定制化的网络联接呢?我们下次再说。
下次内容: 我和Rusty Lusk 的一个不开心遭遇引发我的奇想。
页:
[1]