亚马逊AWS官方博客
使用 AWS ParallelCluster 一步部署 HPC 集群和远程可视化
自从 2018 年 11 月初次发布后,AWS ParallelCluster 便可使用户更轻松、更经济高效地在云中管理和部署 HPC 集群。从那以后,团队通过提供更高的配置灵活性和增强功能继续增强产品,例如,为 Elastic Fabric Adapter 网络接口提供内置支持,与 Amazon Elastic File System 和 Amazon FSx for Lustre 共享文件系统集成。随着版本 2.5.0 的发布,ParallelCluster 增加了对主节点上的 NICE DCV 的原生支持,从而进一步简化了集群部署。
NICE DCV 是一项 AWS 高性能远程显示协议,为客户提供了一种安全的方式,以便他们能够在不同的网络条件下将远程桌面和应用程序流从任何云或数据中心传送到任何设备中。使用 NICE DCV,客户可以在 EC2 实例上远程运行图形密集型 HPC 应用程序,并将结果流传输到其本地机器中,不产生额外费用,从而不再需要昂贵的专用工作站。
版本 2.5.0 发布之前,需要远程可视化的 HPC 用户通常必须部署另一个 EC2 实例来安装和配置 DCV 服务器。这将需要满足一些安装先决条件,如 Window Manager、配置显示驱动程序、安装 DCV 服务器软件、配置安全身份验证和配置桌面会话。随着 ParallelCluster 2.5.0 的发布,您只需要在 ParallelCluster 配置文件中启用 DCV,而且一切都会为您完成好。此博文余下部分将详细介绍预置 HPC 集群来使用 NAMD 运行模拟的过程以及在 DCV 中可视化结果的过程。
对于不熟悉 ParallelCluster 或希望第一次部署集群的任何人,可参阅 ParallelCluster 其中博文中详细介绍的额外背景和引入概念。Parallel Cluster 用户指南也可起到参考作用。
配置 ParallelCluster
安装 ParallelCluster 后的第一步是创建或更新 ParallelCluster 配置文件。默认情况下,ParallelCluster 包含位于用户主目录中的 .parallelcluster/config
文件的设置。所有配置参数的完整列表可参见 ParallelCluster 文档的配置部分。
ParallelCluster 2.5.0 大大简化了 pcluster
配置过程。以前,当您启动 pcluster configure
时,系统会提示您需要跟踪和复制/粘贴到终端的信息。在版本 2.5.0 中,配置程序将查询您的 VPC 并为您提供可供选择的选项的编号列表。
要创建初始配置文件,只需键入 pcluster configure
。配置向导将提示您输入必要的输入和提供菜单选项列表。您可以选择在现有 VPC 中部署集群,或者程序可以为您创建一个。我想要在现有 VPC 中部署集群,我们将来详细讨论此场景。
您可以编辑您的配置文件或者只是运行 pcluster create -c /Users/bkknorr/.parallelcluster/config cluster-name
来创建您的集群。
当写入配置文件后,您将需要进行一些修改,以在主节点上启用 NICE DCV。启用分为两步:
- 在配置文件的集群部分中添加一行
dcv_settings = default
。 - 创建引用了您为 dcv_settings 选择的值的 dcv 部分并包含行
enable = master
。
在下面的示例配置文件中,我已经用粗体突出显示了与 DCV 相关的项目。我还选择用支持 GPU 的主实例部署集群。主实例通常不需要很多内存和 CPU,因为它不参与任何作业运行;通常,一个 c5.large 实例便已足够。在此案例中, 主节点托管 NICE DCV 远程桌面会话,因此,我选择部署 g4dn.xlarge,因为它为图形密集型应用程序提供经济高效的选项。
pcluster 配置文件示例
创建集群
要创建集群,请发布 pcluster create
命令:
您应该在几分钟内获得一个集群和远程桌面。当您的创建命令完成后,您可以连接到桌面会话及运行模拟作业。
连接到 NICE DCV 会话
要连接您的 NICE DCV 会话,只需运行 pcluster dcv connect [cluster] -k [keyname]
,其中 [cluster]
会指定您给予集群的名称,-k
会指定您的私有密钥位置。当您成功进行身份验证后,您的 NICE DCV 会话将在浏览器中启动,且您的凭证将使用授权令牌安全传递到 NICE DCV 服务器中。
bk:~ bkknorr$ pcluster dcv connect hpcblog -k hpc-key.pem
使用 NAMD 的作业提交
下面的演示使用 NAMD 和 VMD 运行分子动力学作业,然后可视化输出。此演示使用膜蛋白教程第 3 单元的第一部分,从第 34 页开始。必需的软件和教程文件需要上传到共享文件系统中。
连接到您的 NICE DCV 会话后,启动一个终端并导航至包含教程文件的工作目录中。下面的作业提交示例使用默认的 ParallelCluster 作业计划程序 Sun Grid Engine (sge)。
分解上面的命令:
- qsub 提交作业至 Sun Grid Engine (sge)。
- -cwd 从当前工作目录执行作业。
- -pe mpi 4 从名为
mpi
的并行环境中请求四个插槽。请求的插槽数量将决定运行作业需要多少个内核。我正在使用的 p3.2xlarge 计算实例有四个内核和八个线程。我已禁用超线程,因此,我只请求四个插槽而不是八个。 - -N kcsa_popcwimineq-01 [可选] 我正在运行的作业名称。
- -o kcsa_popcwimineq-01.log [可选l ] 输出日志文件名称。
- kcsa_popcwimineq-01.job 输入文件名称。
在 NICE DCV 中可视化输出
当您的模拟作业完成后,您可以立即使用 VMD 可视化结果。第一步是下载并安装 VMD。
当 VMD 安装完成后,您便可以从您的终端启动 vmd,以查看您的作业输出。
小结
如本博文所示,AWS ParallelCluster 2.5.0 进一步简化了 HPC 集群的部署和管理过程。利用一个命令便可以预置计算资源和远程可视化,HPC 实践者可以更快地进行迭代和缩短获得见解的时间。