AWS ParallelCluster 进程 - AWS ParallelCluster

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS ParallelCluster 进程

本节仅适用于使用支持的传统作业调度程序之一(SGE、Slurm 或 Torque)部署的 HPC 集群。在与这些计划程序结合使用时,AWS ParallelCluster 通过同时与自动扩缩组和底层作业调度器交互来管理计算节点的预置和删除。

对于基于 AWS Batch 的 HPC 集群,AWS ParallelCluster 依赖于 AWS Batch 提供的功能来进行计算节点管理。

注意

从版本 2.11.5 开始,AWS ParallelCluster 不支持使用 SGE 或 Torque 调度器。您可以在 2.11.4 及之前的版本中继续使用这些调度器,但它们没有资格获得 AWS 服务和 AWS 支持团队的未来更新或故障排除支持。

SGE and Torque integration processes

注意

本节仅适用于 2.11.4 及以下的 AWS ParallelCluster 版本。从版本 2.11.5 开始,AWS ParallelCluster 不支持使用 SGE 和 Torque 调度器、Amazon SNS 和 Amazon SQS。

一般概述

集群的生命周期在用户创建集群后开始。通常,从命令行界面 (CLI) 创建集群。创建集群之后,集群将一直存在,直到被删除为止。AWS ParallelCluster 守护进程在集群节点上运行,主要是为了管理 HPC 集群的弹性。下图显示了用户工作流程和集群生命周期。以下各节描述用于管理集群的 AWS ParallelCluster 守护进程。

集群生命周期

对于 SGE 和 Torque 调度器,AWS ParallelCluster 使用 nodewatcherjobwatchersqswatcher 进程。

jobwatcher

当集群正在运行时,根用户拥有的进程会监控配置的调度器(SGE 或 Torque)。它每分钟评估一次队列,以决定何时纵向扩展。

jobwatcher 工作流

sqswatcher

sqswatcher 进程监控由 Auto Scaling 发送的 Amazon SQS 消息,这会告知您集群内的状态更改。当一个实例联机时,它会向 Amazon SQS 提交“实例就绪”消息。此消息由运行于头节点上的 sqs_watcher 接收。这些消息用于通知队列管理员有新实例联机或遭到终止,以便能够在队列中添加或删除它们。

sqswatcher 工作流

nodewatcher

nodewatcher 进程在计算队列中的每个节点上运行。在用户定义的 scaledown_idletime 期间之后,实例将终止。

nodewatcher 工作流

Slurm integration processes

对于 Slurm 调度器,AWS ParallelCluster 使用 clustermgtdcomputemgt 进程。

clustermgtd

在异构模式(通过指定 queue_settings 值来指示)下运行的集群具有在头节点上运行的集群管理进程守护程序 (clustermgtd) 进程。以下任务由集群管理进程守护程序执行。

  • 非活动分区清理

  • 静态容量管理:确保静态容量始终处于正常运行状态

  • 将调度器与 Amazon EC2 同步。

  • 孤立实例清理

  • 在暂停工作流之外发生 Amazon EC2 终止时还原调度器节点状态

  • 不正常 Amazon EC2 实例管理(Amazon EC2 运行状况检查失败)

  • 定期维护事件管理

  • 不正常调度器节点管理(调度器运行状况检查失败)

computemgtd

在异构模式(通过指定 queue_settings 值来指示)下运行的集群具有在每个计算节点上运行的计算管理进程守护程序 (computemgtd) 进程。每隔五 (5) 分钟,计算管理进程守护程序就会确认头节点可以访问并且运行正常。如果在五 (5) 分钟内无法访问头节点或头节点运行状况不佳,则将关闭计算节点。