

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

# 在 PCS 中配置自定义 Slurm 设置 AWS
<a name="slurm-custom-settings"></a>

使用自定义 Slurm 设置跨集群、队列和计算节点组资源配置其他 Slurm 参数。此版本增加了对队列资源上的 Slurm 设置的支持，从而提供了对特定分区的行为的精细控制。

## 自定义 Slurm 设置的好处
<a name="custom-settings-benefits"></a>

自定义 Slurm 设置可对您的 AWS PCS-based HPC 环境进行复杂的控制。您可以通过服务质量配置和抢占策略实施详细记账、实施访问控制并优化工作负载执行。这些功能可确保关键作业获得必要的资源，同时保持集群的高效利用率。无论您是管理 GPU-accelerated 工作负载、实施公平共享调度还是控制作业生命周期，自定义设置都有助于使您的 HPC 基础架构与运营要求和研究目标保持一致。

## 配置自定义设置
<a name="custom-settings-configuration"></a>

自定义 Slurm 设置可以在资源创建期间通过 AWS 控制台、CLI 或 SDK 进行配置，也可以稍后通过更新操作进行修改。

------
#### [ AWS 管理控制台 ]

在创建或编辑页面中导航到任何资源类型（群集、队列或计算节点组）**的其他调度器设置**。

**添加新设置**

1. 选择 “**添加新设置”**。

1. 从下拉列表中选择一个**参数**名称（其中包括简短的参数描述）。

1. 提供相应的值。

**取消设置自定义设置**

1. 选择相关 parameter/value 配对旁边的 “**移除**”。

1. 创建或更新资源。

------
#### [ AWS CLI ]

要对自定义设置进行编程管理，请在创建或更新操作中使用该`SlurmCustomSettings`字段。

**Example — 更新群集上的`Prolog`参数**  

```
aws pcs update-cluster --cluster-identifier {{my-cluster}} \
--slurm-configuration \
'SlurmCustomSettings=[{parameterName=Prolog,parameterValue="{{/path/to/prolog.sh}}"}]'
```

**Example — 将队列设置为集群`Default`上的队列**  

```
aws pcs update-queue \
    --cluster-identifier {{my-cluster}} \
    --queue-identifier {{my-queue}} \
    --slurm-configuration 'SlurmCustomSettings=[{parameterName=Default,parameterValue=YES}]'
```

**Example — 在计算节点组`Features`上设置自定义**  

```
aws pcs update-compute-node-group \
    --cluster-identifier {{my-cluster}} \
    --compute-node-group-identifier {{my-cng-1}} \
    --slurm-configuration \
    'SlurmCustomSettings=[{parameterName=Features,parameterValue="{{gpu,nvme}}"}]'
```

------

## 验证和错误处理
<a name="custom-settings-validation"></a>

AWS PCS 为自定义 Slurm 设置实施了多层验证流程。在创建和更新操作期间，我们会执行同步验证，包括：
+ Field-level 检查：我们会验证各个设置是否正确的数据类型、允许的值和格式要求。例如，我们确保时间值采用正确的 Slurm 格式，布尔值使用公认的 Slurm 布尔表示形式。
+ Context-aware 验证：某些设置是根据更广泛的配置上下文进行检查的。例如，某些参数仅在启用 Slurm 记账时才有效。
+ Inter-setting 一致性：我们验证互斥选项没有设置在一起，并且相互依赖的设置配置正确。

如果验证失败，您将收到`ValidationException`包含特定错误代码（例如 InvalidInput）、描述问题的清晰错误消息以及无效字段及其相应错误详细信息的列表。

虽然在初始验证过程中发现了许多问题，但设置之间的一些复杂交互只有在应用配置时才会显现出来。在这种情况下，操作将失败并显示一条提示性错误消息，并且所有部分更改都将被回退。

## 限制
<a name="custom-settings-limitations"></a>

AWS PCS 采用允许名单方法来保护服务安全和操作稳定性。可能危及服务帐户安全或干扰托管服务功能的设置受到限制。但是，我们会持续评估客户需求，并可以根据客户反馈增加对其他设置的支持。

**Topics**
+ [自定义 Slurm 设置的好处](#custom-settings-benefits)
+ [配置自定义设置](#custom-settings-configuration)
+ [验证和错误处理](#custom-settings-validation)
+ [限制](#custom-settings-limitations)
+ [PCS 集群的自定义 Slurm 设置 AWS](slurm-custom-settings-cluster.md)
+ [AWS PCS 计算节点组的自定义 Slurm 设置](slurm-custom-settings-cng.md)
+ [PCS 队列的自定义 Slurm 设置 AWS](slurm-custom-settings-queue.md)
+ [对 PCS 中的自定义 Slurm 设置进行故障排除 AWS](slurm-custom-settings-troubleshooting.md)