刘 琦
在推动HPC普及的道路上,微软终于迈出了坚实一步,推出寄予厚望的Windows HPC Server 2008。这款产品究竟融合了哪些新特性,才使得它成为微软这一HPC新兵向Linux和Unix发起挑战的底牌?
过去只有国防和科研才会用到的高性能计算(HPC)已经成为近年来成长最快的领域之一,而且普及化趋势日渐明显。在微软推出HPC产品前,这一领域一直都是Linux和Unix的天下。作为HPC领域的新入局者,微软在2006年以面向集群服务器的Windows Compute Cluster Server 2003(WCCS)试水。而在2008年,微软明确地为自己的企业级产品加入一款具有标志性意义的产品——Windows HPC Server 2008(HPCS),这绝对称得上微软在HPC领域中的重大突破。
谁在青睐HPCS
Windows HPC Server 2008将提供新的高速网络、高效灵活的集群管理工具、面向服务的体系结构(SOA)任务调度,可用于计算流体力学、水利枢纽模拟等大规模并行项目,或BLAST、蒙特卡罗模拟等复杂的并行项目。
Altair Engineering、Cluster Resources、Platform Computing等多家相关行业的企业都已宣布支持Windows HPC Server 2008。美国内布拉斯加大学PKI研究院的计算中心已经将Windows HPC Server 2008部署到一套拥有1151个节点的大型集群上,为政府、科研和工业用户提供服务。爱荷华大学、剑桥大学、3M、Baker Hughes也都已经着手部署此套Windows HPC Server 2008。而冲进Top500前十名的曙光5000系统,更是以1920个节点成为目前成功部署该系统的最大的通用高性能计算平台。
与此同时,一些大型金融投资公司,比如摩根斯坦利也在越来越多地使用HPC技术。微软称,HPC Server 2008允许用户运行复杂的算法,例如确定投资组合的风险程度。这种复杂的应用程序可在多个服务器内核的并行环境中运行,不必重新编写应用程序的代码。对于金融服务公司来说,不用重新编写代码支持消息传递接口(MPI)协议就可以运行现有程序的能力或许是HPC Server 2008最重要的功能。
开发与部署两不误
Windows HPC Server 2008是以Windows Server 2008为基础设计出的产品,提供了企业级的工具、性能和扩展性。这款操作系统由Windows Server 2008和Microsoft HPC Pack两个部分组成,结合了集成式HPC解决方案与高效的开发环境,并集成了大量Windows Server平台所具备的即插即用功能,帮助用户提高工作效率和降低所使用的 HPC 环境的复杂性。与WCCS 相比,该产品的易用性,稳定性等都有了很大提高。比如在很短时间内在成百上千台的裸机上部署好Windows HPC Server 2008,运行诊断程序测试现有机器的连通性等。
Windows HPC Server 2008提供全面的部署、管理与监控工具,并能够集成于现有的基础设施之中。Microsoft HPC Pack提供了集群管理、任务调度、MPI编程环境等一系列工具。由于开发并行程序需要集成的开发环境以及对分布式计算标准的支持,Visual Studio 2008为Windows HPC Server 2008提供了一个全面的并行程序环境。
除了提供对OpenMP、MPI以及Web Services的支持,Windows HPC Server 2008同样支持第三方数值库提供者,性能优化器、编译器,以及为开发和纠错并行程序所提供的调试程序。此外,Windows HPC Server 2008还内建了与Linux协同合作的能力,以Linux代码编写的应用程序可以通过“Windows Service for UNIX”技术,被Windows HPC Server 2008编译并运行。其统一的管理部署界面则可以有效降低大型、小型计算机集群部署的复杂度,并且提供了一个全新且简单高效的管理体验来提升集群管理员的效率。
增强性能与可扩展性
Windows HPC Server 2008通过增强用户现有的功能特性以及整合企业内部已有的工具,可以使用户在更短时间里进行更多操作,从而提高效率。管理员和开发人员可以利用公共的效率平台和开发平台,通过技术工作站和集群节省时间。
管理员能够使用现有的微软管理工具集中管理控制企业整个Windows Server结构。命令行接口向管理员完全开放,普通端用户并不需要掌握命令行方式就可以使用性能强大的HPC。程序开发人员能够利用熟悉的开发工具,比如Visual Studio提供的本地并行调试程序进行开发或调试并行程序。此外,开发团队可以使用Microsoft Office SharePoint Server 2007管理他们的项目并进行合作。
Windows HPC Server 2008与其它微软产品的整合也更好地提升了HPC的生产效率,同时增强了终端用户的使用体验,这其中就包括与Microsoft Office SharePoint Server 以及Windows Workflow Foundation的联合使用,以及能够更好增强管理有效性的Microsoft System Center 解决方案。通过与 Windows Communication Foundation (WCF)的整合,Windows HPC Server 2008使面向服务架构(SOA)程序的开发者可以更好地利用HPC解决方案所提供的全新特性。来自各个领域大量的软件供应商也纷纷对他们的应用做出进一步调整从而实现与 Windows HPC Server 2008 的无缝衔接。用户在依然使用熟悉的应用程序的同时可以进行业务的提交和监控,而不必学习新的更复杂的用户界面。
这一高扩展性平台的发布使曾经受困于Windows平台限制的高性能开发者们打破了限制。Windows HPC Server 2008搭建在已经成熟的Windows Server 2008 x64-bit技术平台之上,能有效地扩展到几千个处理内核,同时还包含能帮助系统管理员监控系统实时状况并保持系统稳定性的管理工具。该产品与Windows Server 2008企业版和Microsoft Windows SQL Server整合,还可以提供恢复服务器级故障的能力并且通过系统级的冗余提供其固有的可靠性和可用性。
系统快速部署可管理
Windows HPC Server 2008包括配置向导、工具、内建管理控制台以及任务列表,以在增强Windows Server 2008部署服务的基础上简化计算节点的供给,从而使用户可以在一个集群中建立、修改并且部署系统镜像。
系统模板是新增加的一项功能,通过使用系统模板,减少安装和配置系统时所花费的时间和人力。模板的使用能够使IT专家建立标准化系统的镜像并且随时为集群系统打补丁。另两项则是增强的功能,一项是Windows Deployment Services(WDS),使用它可以快速地部署操作系统镜像,通过全新的HPC Pack Administration控制台可以对进程进行实时监控。另一项是可以通过命令行方式、PowerShell,或者其它诸如Perl之类的脚本语言进行编程,管理集群。
新增监控与安全特性
建立在Windows Server 2008 64-bit技术之上的Windows HPC Server 2008包括可扩展的管理工具。该工具使用全新的系统界面,它所提供的热点地图(Heat map)可以显示出系统利用率的整体概况。
在监控与系统安全方面,以下三项均为全新特性。第一,Windows Server 2008企业版包含了恢复服务器级故障服务,一旦硬件出现问题,Windows Failover Services和SQL Server数据库集群可以提供头节点冗余,从而提高系统的可靠性和可用性。第二,管理员可以根据硬件、软件或者网络特征的不同建立不同的群组,所建立的群组可以简化管理,并且可以通过映射任务需求分配给适合的服务器,从而实现对资源利用率进行优化。第三,内建的诊断工具使管理员可以快速识别并诊断集群中硬件、软件或者网络故障。此外,系统中心操作管理器(System Center Operations Manager 2007)还有自动化执行常规任务、冗余任务、智能报告、智能监控等功能。
支持SOA工作负载
Microsoft HPC Pack 2008包括灵活的任务调度器,调度器包括了命令行和图形式的用户界面以及向集群递交任务的应用程序接口。任务调度器可以定位批处理及最新的面向服务的应用,用户也可将其部署为与其他任务调度器相互配合的方式,以适应混合模式和其他高级策略的要求。
任务调度支持全新的SOA工作负载,这是一项全新的功能。计算结点能够通过Windows Communication Foundation(WCF)代理与提交系统之间进行通信。WCF代理是一组专用节点,它用于扩展集群的性能并充当代理,促进公用网络客户端和私有网络计算节点间的通信。其他的WCF代理可以根据需求随时加入系统以进行扩展。
HPC Pack任务调度器进行了功能增强,可以实现复杂的内核调度、端口调度、服务器调度。任务调度器支持现存的策略,如基于优先级的先来先服务、回填、非抢占式调度等策略,此外还包括采用新的策略进行任务抢占、任务扩充与缩减。
HPC Pack降低了与现存集群整合的复杂性也是一项新特性。这是为了增加任务调度的协同性,通过支持诸如OGF HPC Profile等业界标准实现的。此外,与基于Unix程序子系统(SUA)的整合可以最大化地利用用户当前的成本投入,同时增强Unix和Linux代码编写的程序扩展到HPCS平台的能力。
加强网络与高速互联
Windows HPC Server 2008通过提供最新的网络配置向导、全新的网络诊断工具以及网络驱动器管理的简化方式,可以明显降低部署集群中多种网络的复杂性。微软消息传递接口(MS MPI)进行了功能增强,它基于ANL所实现的MPI2标准编写而成,可以利用任何Windows Server 2008提供的互连方式,包含支持全新网络路径,是一种更快的接口。
NetDirect是微软为高速、低延迟网络所设计的全新RDMA接口,例如Infiniband、10G以太网和Myrinet网络。通过利用可直接避开OS 和 TCP/IP的架构,NetDirect可以在大规模并行程序上发挥更好的性能,因为它具有极低的延迟、高带宽以及有效调节CPU利用率的能力。
头节点是突出特点
Windows HPC Server 2008 设计了头节点是一个突出的特点。头节点是对集群进行管理、部署以及任务调度的单一节点,可以控制并协调所有对集群资源的访问。一旦系统出现故障,头节点借助该系统中的故障转移服务,能够转移到其他备援节点,从而进行故障恢复。
Windows HPC Server 2008 使用企业现有的基础架构以及Microsoft Active Directory是考虑到安全性、账户管理以及使用诸如Systems Center Operations Manager 2007端到端的服务管理解决方案。
WCF应用模式也是该系统的一个特色,面向不同服务的客户端应用。WCF可以发起交互式会话,它包括了以下几个步骤:1.客户端生成一个会话,该会话用于指定执行一个计算的WCF服务。2.任务调度器将任务交给代理并启动服务实例池。3.客户端连接到代理端,任务调度器提供代理端到客户端的端点引用(EPR)。4.客户端连接到EPR.。5.标准WCF请求/响应消息发出。