微软HPC:带动Windows转向并行计算
“微软进入高性能计算(HPC)领域历史很短,几年前在全球超级计算机500强(Top500)中看不到微软的名字。2008年底,微软与曙光和上海超级计算中心合作,排到了第10名。”微软负责HPC的服务器与工具事业部高级总监Vince Mendillo近日在接受专访时表示。
高性能计算机的历史已经有50多年了,即便从1993年Top500开始发布排名算起,也快30年了。与之相比,微软高性能计算的历史确实很短:微软第一款高性能计算产品Windows Compute Cluster Server 2003是在2006 年6月才正式发布。至于说主打产品Windows HPC Server 2008则是在2008年9月才发布。
然而,历史很短的微软高性能计算部门不仅担当着微软进军高性能计算市场的责任,而且还肩负着引领Windows走向并行的义务。
并行化微软的动力
高性能计算日趋广泛的应用和x86平台的多核化,已经改变了高性能计算市场阳春白雪的形象,也成为微软进入高性能计算市场的两大契机。
“如今,科学界、工业界、政府甚至分析师用户都面临着同样的问题——有待处理的海量信息,因而对计算性能的要求越来越高。我们认为,水平扩展(Scale Out)是彻底解决这一问题的方式。高性能计算不是要把单台机器做得非常大,而是应通过机群来实现。”Mendillo表示。
与此同时,x86平台多核化带来的并行编程挑战也在颠覆Windows平台传统的串行编程的模式。
“x86平台多核化的发展趋势,使得在不久的将来人们就能用上有几十个内核的PC。但是现有的大多数软件还无法适应硬件上多核技术的发展。最核心的问题就是并行编程,原有的编程方式和算法都已经过时。如何让开发者或用户能非常容易地把并行软件开发出来,这对微软来说是非常重要的。”Mendillo表示。
“并行计算是高性能计算必需的,也是Windows平台发展的方向。尽管我们高性能计算部门现在还处于初期阶段,但我们努力的方向是让微软整个产品线都向着这个方向发展。在微软内部,我们相当于推动Windows平台并行化的动力。”
“微软在高性能计算上的投资非常大,这将会影响到整个公司所有的产品部门,不仅涉及到操作系统及其上的软件,还涉及到开发工具。比如说,我们不断地开发新的工具以便让并行编程变得更容易一些,我们也在考虑Windows HPC Server与.NET的并行延伸,我们还和Visual Studio开发工具部门密切合作,以便让开发者能更快地开发出并行软件。”Mendillo表示。
高性能计算四处着手
4月7日,微软通过提供网上下载,扩大了最新版本Windows HPC Server 2008 R2的beta测试范围。
Mendillo表示,微软主要是在四个方面提高了新版软件的性能和功能。
高性能计算首先就是要实现高性能。“尽管Linux进入高性能计算市场已经很多年了,但在模拟两车相撞的通用有限元分析标准测试中,随着处理器内核数的增加,我们产品的性能表现至少与Linux一样,有些时候甚至超过它们。”Mendillo表示,“拥有强劲浮点性能的GPU作为性能加速器已经越来越多地被用在高性能计算系统中,我们现在的测试版已经包含了对GPU的支持,开发者可以在嵌有NVIDIA公司GPU编程工具的Visual Studio上,对GPU进行编程。”
二是加速Excel运算。切不要以为这是杀鸡用牛刀。Mendillo介绍说,使用Excel的人寿保险精算其运算量非常大,在高端PC上要跑14个小时,而后来这家保险公司使用32节点的机群系统后,耗时只有2.5分钟。
如今高性能计算用户面临这种尴尬的情况:一方面渴求计算资源,另一方面大量的桌面计算资源被闲置。Windows HPC Server 2008 R2提供了名为“工作站机群”的功能,把桌面上的工作站和PC闲暇时间的计算资源整合成一个高性能计算系统,这是其三。
最后一点则是由于高性能计算系统通常都是异构平台,因此跨平台的互操作性就显得很重要了。“我们从客户那里了解到,有些客户过去一直在使用Linux机群,现在想用Windows方案。这样客户原有的投资和Windows之间的互操作就十分重要了。”Mendillo表示,“微软与Adaptive等三家公司合作,为用户提供双启动以及动态负载平衡等功能。” #p#page_title#e#
生态环境是当务之急
没有哪个操作系统平台拥有的应用能超过Windows平台。众多的应用和规模最大的用户群既是微软在PC市场的市场优势,也为后来者的追赶筑起了壁垒。Windows今天的成功很大程度上应该归因于Windows平台生态环境的成功。
然而,作为高性能计算市场的后来者,微软在改进产品的同时,还必须建立起基于Windows的高性能计算生态环境。
“微软正在努力提高对并行计算的关注度,我们将在函数库、调试、分析和诊断等方面为客户提供简单易用、功能强大的开发工具,帮助用户更好地管理现有的应用,并且让更多的开发人员能够在多处理器和多核环境下开发出更多的并行应用,最终让用户受益于并行计算。微软与合作伙伴之间合作非常密切,我们会对他们进行详尽的技术指导和培训,微软的咨询部门也会为合作伙伴提供更深入的支持。”Mendillo表示。
系统、技术和应用的复杂性是高性能计算与PC平台的显著不同,因此,微软在高性能计算特别是其高端领域介入应用的程度要远比PC平台深得多。比如说高性能计算机的系统性能调优,不仅需要微软高性能计算部门介入,有时候甚至需要平台产品部门的开发人员修改代码。合作伙伴难免会担心微软也在应用领域与之分羹。
Mendillo说:“我们一贯的策略就是在背后支持合作伙伴发展,我们的介入也是为了更好地服务客户,帮助合作伙伴成长。”
“随着微软对高性能计算日趋重视,越来越多的业务部门参与进来,于是,微软成立了一个专门的团队来负责内部资源的协调,我和我们部门的几位同事都是成员。”Mendillo表示。
记者手记
HPC大众化的商机
高性能计算正走下神坛。在从传统的科学计算与军事应用等狭小领域扩展到广阔的商业市场的过程中,系统和软件的形式从定制或半定制变为通用,让x86 CPU在HPC市场大行其道,同时也为Windows做好了硬件铺垫;用户从计算专家变成了商业人士为擅长易用性的Windows及其上众多的应用找到了用武之地。
但是也不能低估多核技术给并行计算带来的挑战,毕竟Windows平台上多年积累的应用大多是串行的。虽说水平划分的开放体系成全了PC产业的辉煌,但在全新技术的实施上却是异步的:英特尔先做出多核CPU,微软的Window再对其进行优化,然后是数据库等应用平台软件的并行化,最后才轮到开发商在其上开发并行应用。
因此,如何缩短全新技术在Windows生态链中异步传递的时间,将众多的Windows应用快速迁移到并行平台,关系到微软在HPC市场的扩张速度。