高性能计算

Windows Compute Cluster Server 简介

John Kelbley and Doug Lindsey

 

概览:

  • 使用群集解决复杂问题
  • 计算群集的常规要求
  • 安装基于 Windows 的计算群集
  • 远程运行命令

高性能计算 (HPC) 是现在所使用的计算的一个分支,它主要用于解决计算量相当大的问题。许多年前,HPC(那时更常用的名称为“超级计算”)由

最初在研究中心出现的专用大型系统(非常昂贵)控制。然而,随着小型系统计算能力的提高,性价比的改变,计算工作负荷已经转向了 PC 级的系统。

许多计算量相当大的问题可通过并行完成计算来解决,也就是说,特殊计算或流程不用依赖其他计算结果就可独立完成。在这种情况下,大型问题就可以充分利用按计算群集分组的多个小型系统(节点)。以下给出了几个利用了计算群集的应用程序示例:

  • 金融模型 — 多次执行的算法或公式,每次的输入内容都不同。
  • 工程 — 模拟单个零件的效果,向模型应用表面质地特征。
  • 电脑动画 — 对影片中的每一帧应用表面质地特征和光照效果。

计算群集为解决复杂问题提供了一种经济快捷的途径。这里为您展示了 Windows® Compute Cluster Server 2003 所具备的主要计算群集功能和支持。

在此特别提醒:计算群集不同于可用性(故障转移)群集。您可能已经相当了解 Exchange、SQL Server® 或 Windows Server® 2003 中其他应用程序的可用性群集。它们通常利用共享存储来最大限度地保障应用程序的正常运行时间。计算群集的目的不是在出现中断时使另一个系统继续运行,而是使所有的节点以协作的方式运行。

计算群集的常规要求

HCP 资源

现代 HPC 系统具备一些相同的关键元素,用于协助处理工作负荷。首先,您需要多个系统。还需要制订计划程序,以协调各个节点的工作分配。这个计划程序在主管节点(头节点)上运行,确定可用的资源,指派并分配任务,同时跟踪作业的整体状态。它负责在系统群集和用户及管理员提交处理作业的位置点之间协调资源。

群集需要一种在节点间进行通信的方式。根据工作的具体类型,节点可能需要高速、低延迟的互联,以便相互传递信息来协调处理。每个计算节点和头节点至少必须连接到一个共用的网络。

若要大量互联系统协同工作以解决复杂问题,还需时刻关注并提供必要的条件。需要具备能置备、监控、管理和维护数十到成百上千系统的流程和工具,以确保提供协调稳定的环境。

最后也是最重要的,要有能开发出计算群集并行处理功能的应用程序。如果没有可以分解作业使其在多台计算机上进行处理的应用程序,或缺乏能支持“并行调试器”的开发工具,群集能发挥的作用就极为有限。

基于 Windows Server 的群集

2006 年,Microsoft 推出了 Windows Server 2003 Compute Cluster Edition (CCE) 和 Windows Compute Cluster Server 2003 (WCCS),以满足各类 HPC 应用程序的需求。CCE 和 WCCS 的基础是您已经很熟悉的 Windows Server 2003。CCE 是许可与 HPC 应用程序搭配使用的 Windows Server 2003 版本。WCCS 相当于添加了 Microsoft® Compute Cluster Pack (CCP) 的 CCE。这意味着在部署、管理、监控和维护基于 Windows Server 的群集时,您使用的工具与管理现有 Windows Server 2003 系统所用的工具相同。

CCE 和 WCCS 仅有 x64 版,而没有 32 位 (x86) 版本,这一点请特别注意。附带 WCCS 的 CCE 的硬件要求与 Windows Server 2003 Standard x64 Edition 的硬件要求相同。除了支持高性能硬件(64 位架构),产品还为高性能互联(Gigabit 以太网、InfiniBand、Myrinet 等)提供远程直接内存访问 (RDMA) 支持。

Compute Cluster Pack

如前所述,计算群集的某些基本要求可通过安装 Compute Cluster Pack 得以满足。CCP 是独立的安装程序软件包,其中包括:

  • 集成的作业计划程序
  • 行业标准 MPICH2 的消息传递界面 (MPI) 支持
  • 群集资源管理和用户工具

CCE 和 WCCS 之间的主要区别是 CCP。您可能要问:如果计算群集需要这些组件,为什么只在 WCCS 中有,而在 CCE 中没有。答案是:某些 HPC 解决方案可以充分利用多种作业计划程序或专用 MPI(或者不需要 MPI 支持),并且仅需要一个出色的运行平台,即 Windows Server 2003。由于 CCP 是独立的软件包,您可以将其安装在 Windows Server 2003 的其他 x64 版本上(CCE、Standard、Standard R2、Enterprise 和 Enterprise R2)。

具体细节

WCCS 利用 Windows 的主要基础来简化基于 Windows 群集的管理和操作,包括 Active Directory® 和远程安装服务 (RIS)。Compute Cluster Server 使用 Active Directory 透明管理安全性。借助 Active Directory,用户可以使用一组能在数以百计的服务器节点间运行的凭据,向头节点提交作业。在一个或多个计算节点上执行作业时,它们在提交作业时所提供的用户凭据上下文中运行,之后安全缓存。WCCS 依靠 Active Directory 实现“单点登录”功能。在环境中呈现 Active Directory 的另一好处是:管理员可以使用组策略集中管理服务器和配置策略。

如果您的 IT 组织已经部署了 Active Directory,通过在现有域中构建群集,您可以节省大量时间和管理精力。我们推荐采用这种方法。

如果需要在没有 Active Directory 的环境中部署计算群集,我们建议您部署一个或多个专用域控制器来为群集承载 Active Directory。通常将头节点用作 Active Directory 域控制器,原因在于无论网络的拓扑结构如何,所有节点都已通过网络连接至系统。但是,如果群集数量相当大,建议不要将头节点用作域控制器,否则会加大头节点的负荷。实施时请遵循 Active Directory 的常规部署和管理原则(安装冗余域控制器、足量的备份、良好的安全规程等)

远程安装服务

WCCS 为“Microsoft 远程安装服务”映像部署平台提供了集成的前端。RIS 用于从头节点向每个计算节点部署操作系统映像,这意味着您可以使用 RIS 迅速安装新的群集节点。您不一定非要采用这种方法,在 WCCS 中集成 RIS 是为了方便起见。您还可以使用其他常用的 Windows Server 部署技术,例如,Windows Server 2003 自动部署服务 (ADS) 或手动安装 Windows Server 2003。

如果您想使用 RIS,在头节点上安装 CCP 前,请确保已至少定义了两个逻辑磁盘。RIS 需要一个与操作系统分开的磁盘来存储服务器映像。您的 RIS 分区应该有足够的可用磁盘空间,以容纳一个或多个 Windows Server 映像的完整副本。

对于最新出品的服务器硬件,特别是网络连接和存储设备,其所需的“即插即用”驱动程序可能没有包含在默认 Window Server 2003 映像内。如出现这种情况,您需要手动将这些驱动程序添加到映像内。support.microsoft.com/kb/254078 上有此操作的步骤记录。

安装自己的群集

第一步是配置您群集的大脑 — 头节点。先安装前面提到的 Windows Server 2003 的 x64 版本。在操作系统安装期间,可以选择是否将服务器加入现有的域(推荐)或在服务器上安装 Active Directory(如群集数量相当大,建议不要做此选择)。

操作系统安装完毕后,请确保您已经从 Microsoft Update 下载并安装了所有推荐的修补程序。如果您计划使用 RIS 进行计算机节点映像,您还需要使用“计算机管理”|“磁盘管理”这一管理工具来确保至少定义了两个逻辑磁盘。出于篇幅考虑,我们在本篇文章中不介绍基于 RIS 的安装。

成功登录并更新服务器后,您可以运行 CCP 安装程序。然后 CCP 安装程序会进行安装,或指导您下载并安装以下必备文件和更新项:

CCP 安装程序在评估您系统的安装准备状况方面有着出色的表现。它会让您了解执行过程中需要安装哪些组件,并自行安装这些组件,如图 1 所示。

图 1 安装 CCP 需要的组件

图 1** 安装 CCP 需要的组件 **(单击该图像获得较大视图)

任务列表

CCP 安装完成后,将启动管理员控制台,其侧重点是任务列表。如图 2 所示,任务列表包含几个窗格,每个窗格处理一个不同的领域并列出完成群集配置所需的关键任务。

图 2 任务列表列出了配置群集时您需要执行的任务

图 2** 任务列表列出了配置群集时您需要执行的任务 **(单击该图像获得较大视图)

您可以使用任务列表轻松实施您已建立的群集架构,包括选择并配置网络拓扑、节点安装流程和用户管理模型。每个窗格在右侧列出相应的任务,每项任务都会启动一个向导。为完整配置的头节点依次完成每项任务,该节点可以将 RIS 映像部署到一组已知的计算节点,并且可由一组已定义的用户管理和访问。

网络连接拓扑 WCCS 支持 HPC 中使用的五种最常用的网络拓扑。所有计算节点和头节点必须至少共享一个共用的网络。拓扑包括支持节点中多种类型的互联,并有单独的好处和成本。

您的网络拓扑取决于您群集的性能、安全性和部署要求。例如,您的应用程序可能需要高速互联进行信息传递,而您不想将其暴露给公司网络。您可能想利用基于 RIS 的集成自动部署功能。也许您所选择的硬件只适用单个 NIC,或者您希望头节点运行 Internet 连接共享 (ICS),以便管理计算节点的名称解析和寻址。从任务列表调用“配置群集网络拓扑”向导后,您将获得常规 HPC 实施典型支持的五种拓扑,并帮助您配置网络连接,包括头节点和计算节点上的 Windows 防火墙配置。图 3 显示了一种支持的网络拓扑。

图 3 一种支持的 WCCS 网络拓扑

图 3** 一种支持的 WCCS 网络拓扑 **(单击该图像获得较大视图)

远程安装服务 如前所述,RIS 能够实现自动部署群集节点。

节点管理 您可以指定将在此群集中作为计算节点的服务器的计算机名。如果节点上执行 CCP,此时则需要指定节点所在群集的头节点。

用户管理 您可在此处指定将哪个 Active Directory 用户帐户或组作为系统管理员,还可以指定群集的用户。

节点安装

可以通过 RIS 管理实用程序或使用其他支持的部署方法自动部署计算节点。对于头节点,则必须在每个计算节点上安装 CCP。如图 4 所示,CCP 安装配置选项对于计算节点而言更为简单,它由以下项目组成:

图 4 Compute Cluster Pack 安装程序

图 4** Compute Cluster Pack 安装程序 **(单击该图像获得较大视图)

  • 指定服务器应是计算节点(而非头节点)。
  • 指定应添加服务器的群集的头节点名称。
  • 指定是否在计算节点上安装管理工具和用户工具。

管理员控制台

节点与头节点实现通信后,便可以通过管理员控制台完成所有系统的大部分管理和监管任务,如图 5 所示。通过控制台可集中查看整个群集,包括所有相关节点的列表、对关键管理操作的访问权限和其他细节。最左侧窗格提供了可通过控制台实现的高级浏览,包括访问“群集管理员”,选中此选项后将出现一个摘要屏幕,其中显示群集状态和作业统计信息。在这里也可以查看对所有远程桌面和系统监视器会话的访问权限,但您大部分时间是使用“节点管理”来管理群集。

图 5 通过管理员控制台可集中查看整个群集

图 5** 通过管理员控制台可集中查看整个群集 **(单击该图像获得较大视图)

您应该自己熟悉了解管理员控制台,因为通过它可以访问集中管理 Windows 和群集节点所需的主要工具和功能。单击顶端中部窗格中的群集节点,会调出几个其他的窗口,您可以从中浏览各个节点对应的功能。

右键单击菜单所支持的功能使您可以通过“节点管理”轻松集中管理计算节点。您可以使用“节点管理”暂停或恢复节点;批准向群集中加入或从中删除节点;启动远程桌面、系统监视器或事件查看器;弹出 CD 托盘(如果您正试图在一个大型群集中找出一台计算机,此功能会很有用)。

酷炫 ClusRun

此列表中最酷的一项功能是“运行命令”,即远程运行任何命令,就像您就在目标计算机前面坐着并根据命令提示符进行操作一样。WCCS 包括命令行版本的“运行命令”功能,称为 Clusrun.exe,“ClusRun”用于说明 GUI 和命令行版本。

ClusRun 实用程序的好处超乎想象,尤其是在大型群集中。运行重复性的命令行任务时,它可节省大量的时间,有了它,还不必再编写相当复杂的管理脚本。

要使用此功能,突出显示希望使其运行命令的计算机的列表,然后右键单击,选择“运行命令”。随即将显示图 6 中的对话框。现在只需键入您所需的命令,然后单击“运行”,输出结果很快就会显示在“结果”窗口中。首次使用 ClusRun 时,系统会提示您输入凭据,但您可以选择缓存这些凭据以便随后反复使用。

图 6 可以在多个节点上运行命令

图 6** 可以在多个节点上运行命令 **(单击该图像获得较大视图)

为群集安装修补程序或安装包含自动安装例程的程序的常用方法是,将其置于文件共享,然后使用 ClusRun 强制所有计算节点调用该命令。通过一个命令就可以重新启动整个群集中的所有计算节点:

CLUSRUN SHUTDOWN –R –F –T 0 

工具包

2007 年 5 月,HPC 团队发布了 Compute Cluster Pack 工具包(您可从 windowshpc.net/resources/Pages/default.aspx 在线获得该工具包)。此工具包内含 Windows PowerShellTM 支持、用于诊断连接状况的 MPIPingPong 工具和一个非常简单但很实用的图形化群集监视器。

图 7 所示,“简单群集监视器”可在一个屏幕上显示群集中的每个节点、每个节点所具有的核心数量、每个 CPU 的利用率(亮绿)、内存利用率(黄色)、磁盘时间百分比(红色)和网络带宽利用率(橙色)。管理员可利用这个一目了然的工具了解群集的状况。

图 7 使用简单群集监视器监控多个节点

图 7** 使用简单群集监视器监控多个节点 **(单击该图像获得较大视图)

群集监视器还包括“远程”功能。您必须在头节点上运行群集监视器的第一个实例。但是,如果您在头节点上运行控制台会话中的群集监视器实例,您将有机会从工作站启动群集监视器的实例,将其指向头节点并获得相同的显示结果。

马上行动

现在您已了解了 HPC 和 Windows Server 2003 Compute Cluster Server。您了解到如何安装 CCP,并亲眼目睹了表现出色的综合控制台,并且您目前所拥有的酷炫新命令和图形化工具会使您的同事和用户感到眼花缭乱。在“HPC 资源”边栏中,您将会找到有关“高性能计算”的更多信息源。

John Kelbley 是 Microsoft 的技术产品经理,供职于基地位于美国东北部的“全球解决方案技术团队”。可通过 Johnkel@microsoft.com 与 John 联系。

Doug Lindsey 是 Microsoft HPC 团队的一名项目经理。他还是产品计算群集的管理员(包括 www.top500.org 上 2007 年 11 月排行榜的 #116)。可通过 Dougli@microsoft.com 与 Doug 联系。

© 2008 Microsoft Corporation 与 CMP Media, LLC.保留所有权利;不得对全文或部分内容进行复制.