高性能计算成就光荣与梦想
中国高性能计算大会(HPC China 2010)今天在北京举行,微软高性能计算产品的第三个版本Windows HPC Server 2008 R2也将于同期发布。这是高性能计算领域的两大盛事,加之我的新书《微软高性能计算服务器》也将一起与读者见面,这三者交织在一处令我异常激动。想当初,我就是被一股无法逆转的大趋势 —— 高性能计算的普及所推动,才义无反顾地投身这一激动人心的领域。也是这一全身心的投入带我穿越迷雾,走向明朗的未来,成就了我生命中的光荣与梦想。
什么是高性能计算?高性能计算是提高仿真和决策支撑应用性能相关的硬件、网络和软件技术的总称。高性能计算通过整合、管理和调度硬件和网络资源,提供强大的计算和数据处理能力,帮助人们随时随地精确的模拟现实,认识现实,使得现实为己所用,为己造福。从应用方面看,高性能计算最开始都是用在先进国家的一些科学前沿的基础研究上面,而现在已经普及到了普通的通用产品,象汽车、飞机、医药和金融风险分析等。事实证明,高性能计算有效地压缩了从建立模型和分析数据到提出解决方案所需的时间,被誉为名副其实的创新催化剂,也是各个国家创新竞争力的重要指标之一。
这股时代的浪潮从20世纪80年代末开始,把高性能计算技术从发达国家的实验室推向全球的实验室;从高等学府和研究院推向工业界;从制造最先进的杀人武器推向研究将生命从绝症中挽回的药物;从研究大自然的规律的应用推向预测市场风险和决策支撑的应用;从少数几个推进科技前沿的项目的数据中心里,推向普通学校、研究院教授和研究人员桌面。
我是一名六零后。八十年代初,我作为大学生见证了高性能计算普及浪潮的开端。1987年,我获得“中英友好奖学金”赴英留学。我选择了并行计算——这一我认为当时最先进的技术。同年,我以英国埃克塞特大学博士生的身份去伦敦参加研讨会。会上,我遇到一个工业界人士,当他问及我的研究方向时,表达了他的观点:“你这是在浪费青春。第一,未来会有越来越快的向量机;第二,没有人会修改自己的应用,并让这些程序运行在并行机上。”然而,我还是偏执地认为,并行一定是未来的方向。后来回想,正是这种偏执,让我在这条路上,披荆斩棘,迎接曙光;更让我明白了,哪怕是权威人士,一样会有局限性,自己的抉择才是最重要的。这两点道理,让我不论在研究方面,还是职业选择方面,都能够听凭自己内心的声音,做出无悔的选择。
今天,我在中国、在微软从事高性能计算技术的研发——从某种意义上来说,微软是最具草根精神的企业之一。比尔·盖茨在创立微软的时候,有个家喻户晓的愿景:“让每个家庭有台电脑。”微软所培育出来的600万名开发者,给整个PC产业带来了杰出的贡献,这也为微软成为整个软件界的霸主奠定了坚实的基础。全面的通用化给整个产业带来了快速的发展和进步,而包括以TCP/IP为基础的互联网产业的兴起,更是将原来神神秘秘的企业计算、网格计算等云端的技术带到了一般开发者面前。
2004年,微软成立了高性能计算产品组。在一次产品组策略审核会议上,盖茨看了高性能计算产品组的演示。演示包括两步,使用的是一个制造业的应用。第一步是串行应用运行,花了很多时间。第二步,把应用连到集群,很快就结束。盖茨当时就说了一句话,在创建公司的时候,他的愿景是让每个家庭都有台电脑,看了这个演示后,他觉得高性能计算的下一个目标就是让每个科技人员都拥有高性能计算机!
也正是在2004年,在从事了8年时间集群、网格作业调度系统、并行应用运行时环境的产品架构和开发工作后,我意识到了我的职业理想与微软的草根精神、公司愿景是一致的,于是我加入其中,决心将HPC的事业彻底贡献给每一个专业用户。
在过去6年中,我和中国研发团队一起顺利完成了新平台作业调度模块中的全新用户界面、SOA(面向服务架构)编程模型的开发和测试工作。在上述几个重要功能中,全新用户界面包括图形用户界面和传统的命令行界面,不仅使系统管理人员能直观、快捷地管理整个HPC集群,更帮助桌面用户在熟悉的界面上使用高计算能力解决复杂问题;SOA编程模型为开发人员提供了简单易用的并行计算编程方法,为并行计算进入主流应用打下坚实基础;报表功能帮助系统管理人员及时收集集群运行和作业执行信息,以图表形式显示集群、各个用户、作业等的“健康”状况;基于PowerShell的全新命令行管理工具,加速系统管理和提交作业任务的自动化。
此时,整个高性能系统栈的重建几近完成,原来的向量机系统已开始出现被通用型微机体系取代的真正可能。最初偏执的信念,让我抓住了趋势的发展。用我的总结来说,微软具备做高性能计算,并且完成高性能系统栈所缺乏的关键的优势在于以下方面:
1、拥有600万程序员用户——了解他们的编程习惯和模式。
2、拥有最流行的编程环境——Visual Studio的多年积累。
3、一流的作业调度和管理系统——Windows 高性能计算服务器。
4、基于WCF的高性能面向服务的平台作为运行时环境。
这些优势全都是独一无二并令人心动的。加上微软长期以来在大规模客户端和服务器平台的丰富经验,让我对微软充满信心。我坚信,我将伴随微软最终能实现整个高性能计算普及的目标;我也相信,微软的理想足以打动那些有志于此的同仁加入,并为之奋斗。
美国总统杜鲁门在二战后和冷战期间的1950年发表如下讲话:“我们已经意识到我们国家生存和发展的能力在极大的程度上取决于我们的推进科技的步伐。此外,仅仅跟上世界其他国家科学的脚步是不够的。我们必须保持我们的领先地位。”的确,美国在科学和工程领域的领先地位得益于杜鲁门政府所设立的目标。今天,杜鲁门所说的话对于任何希望通过创新来维持可持续的竞争力和经济增长力的国家依然有极大的可借鉴价值。
有人说:“要与他国竞争取胜,必须在计算模拟上取胜。”在计算模拟上取胜是什么概念呢?IDC 2009年发表的“全球高性能计算硬件、网络设备和软件销售数据”显示:高性能市场份额中北美占了50%,欧洲32%,日本5%,亚太12%,其他地区1%。北美绝大部分是美国所占有。所以,从资金投入上,我们清楚地看出美国在高性能计算上的投入超过世界上任何国家,显示出美国要在计算模拟领域继续保持领先地位的决心。因此,高性能计算技术的重要性不言而喻。
承载了我多年来在高性能计算领域积累的思想和经验,我希望通过《微软高性能计算服务器》一书帮助专业领域的读者一步步掌握HPC服务器的使用诀窍。它有几百张截图,而且书中所有的示例代码、脚本文件、Visual Studio项目都可以从TechNet下载。
路漫漫其修远兮,吾将上下而求索。在梦想照进现实的生命旅途中,我将义无反顾,始终执着。
徐明强
高性能计算首席架构师
《微软高性能计算服务器》的封面图,本书由人民邮电出版社出版。
去年5月,我和HPC中国研发团队成员在为汶川临时图书馆送物资时合影