

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

# SageMaker HyperPod 多头节点支持
<a name="sagemaker-hyperpod-multihead-slurm"></a>

你可以在单个 SageMaker HyperPod Slurm 集群中创建多个控制器（头）节点，其中一个用作主控制器节点，另一个用作备用控制器节点。主控制器节点负责控制计算（Worker）节点和处理 Slurm 操作。备份控制器节点可持续监控主控制器节点。如果主控制器节点出现故障或无响应，则其中一个备份控制器节点将自动接管，成为新的主控制器节点。

在 SageMaker HyperPod Slurm 集群中配置多个控制器节点有几个主要好处。通过提供控制器头节点，它消除了单一控制器节点出现故障的风险，支持自动失效转移至备份控制器节点以加快恢复速度，并允许您独立管理自己的会计数据库和 Slurm 配置。

## 重要概念
<a name="sagemaker-hyperpod-multihead-slurm-concepts"></a>

以下内容详细介绍了与 Slurm 集群的 SageMaker HyperPod 多控制器（头）节点支持相关的概念。

**控制器节点**

控制器节点是集群中的一个 Amazon EC2 实例，可运行用于管理和协调集群操作的关键 Slurm 服务。具体而言，它会托管 [Slurm 控制器进程守护程序（slurmctld）](https://slurm.schedmd.com/slurmctld.html)和 [Slurm 数据库进程守护程序（slurmdbd）](https://slurm.schedmd.com/slurmdbd.html)。控制器节点也称为头节点。

**主控制器节点**

主控制器节点是 Slurm 集群中当前处于活跃状态且行使控制权的控制器节点。Slurm 将此节点标识为负责管理集群的主控制器节点。主控制器节点接收并执行来自用户的命令，以控制计算节点上的资源，并分配这些资源来运行作业。

**备份控制器节点**

备份控制器节点是 Slurm 集群中处于非活跃状态的备用控制器节点。Slurm 将此节点标识为当前未管理集群的备份控制器节点。备份控制器节点在待机模式下运行 [Slurm 控制器进程守护程序（slurmctld）](https://slurm.schedmd.com/slurmctld.html)。在备份控制器节点上执行的任何控制器命令都将传播到主控制器节点来执行。其主要用途是持续监控主控制器节点，并在主控制器节点出现故障或无响应时接管其职责。

**计算节点**

计算节点集群中的一个托管 [Slurm Worker 进程守护程序（slurmd）](https://slurm.schedmd.com/slurmd.html)的 Amazon EC2 实例。计算节点的主要功能是执行由主控制器节点上运行的 [Slurm 控制器进程守护程序（slurmctld）](https://slurm.schedmd.com/slurmctld.html)分配的作业。当作业被调度时，计算节点会收到来自 [Slurm 控制器进程守护程序（slurmctld）](https://slurm.schedmd.com/slurmctld.html)的指令，在节点内部执行该作业所需的任务和计算。计算节点也称为 Worker 节点。

## 工作原理
<a name="sagemaker-hyperpod-multihead-slurm-how"></a>

下图说明了不同的 Amazon 服务如何协同工作以支持 SageMaker HyperPod Slurm 集群的多控制器（头）节点架构。

![SageMaker HyperPod 多头节点架构图](http://docs.amazonaws.cn/sagemaker/latest/dg/images/hyperpod/hyperpod-multihead-architecture.png)


协同工作以支持 SageMaker HyperPod 多控制器（头）节点架构的 Amazon 服务包括以下内容。


**Amazon 协同工作以支持 SageMaker HyperPod 多控制器节点架构的服务**  

| 服务 | 说明 | 
| --- | --- | 
| IAM（Amazon Identity and Access Management） | 定义两个 IAM 角色来控制访问权限：一个 IAM 角色用于计算节点实例组，另一个 IAM 角色用于控制器节点实例组。 | 
| Amazon RDS for MariaDB | 存储 Slurm 的会计数据，该数据包含作业记录和计量数据。 | 
| Amazon Secrets Manager | 存储并管理 Amazon FSx 可以访问的 Lustre 证书。 | 
| 亚马逊 f FSx or Lustre  | 存储 Slurm 配置和运行时状态。 | 
| Amazon VPC | 提供隔离的网络环境，用于部署 HyperPod 集群及其资源。 | 
| Amazon SNS  | 当出现与主控制器（头）节点相关的状态变化（Slurm 控制器为 ON 或 OFF）时，Amazon SNS 会向管理员发送通知。 | 

集 HyperPod 群本身由控制器节点（主节点和备用节点）和计算节点组成。控制器节点运行 Slurm 控制器 (SlurmCtld) 和数据库 (SlurmDBd) 组件，它们管理和监控计算节点上的工作负载。

控制器节点访问存储在 Ama FSx zon for Lustre 文件系统中的 Slurm 配置和运行时状态。Slurm 的会计数据存储在亚马逊 RDS for MariaDB 数据库中。 Amazon Secrets Manager 为控制器节点提供对数据库凭据的安全访问。

如果 Slurm 控制器节点中出现状态变化（Slurm 控制器为 `ON` 或 `OFF`），Amazon SNS 会向管理员发送通知，以便管理员采取进一步的行动。

此多控制器节点架构消除了单一控制器（头）节点的单点故障风险，支持快速且自动化的失效转移恢复，同时使您能够控制 Slurm 会计数据库与配置。