我们使用机器学习技术将英文博客翻译为简体中文。您可以点击导航栏中的“中文(简体)”切换到英文版本。
亚马逊云科技 ParallelClust 3.3.0 现在支持按需容量预留
按需容量预留 (ODCR) 使您能够在任何时间内为特定可用区内的 Amazon EC2 实例预留计算容量。当您将它们与 亚马逊云科技 ParallelCluster 一起使用时,它们有助于确保您的 HPC 工作负载有足够的资源来成功按时完成。
长期以来,亚马逊云科技 ParallelCluster 一直有可能通过手动设置来使用 ODCR。但是,使用 亚马逊云科技 ParallelCluster 3.3.0,您现在可以直接在 亚马逊云科技 ParallelCluster 配置中为 HPC 集群添加和修改 ODCR。
这篇文章解释了什么是 ODCR、这项新功能的工作原理以及如何配置您的 HPC 集群以使用它们。
什么是按需容量预留?
有两种按需容量预留: 开放式 ODCR 和 定 向 ODCR。
在 开放的 ODCR 下, 当启动 Amazon EC2 实例时, 您不必提供预留标识符。取而代之的是,在预留开始后启动的、按实例类型、平台和可用区与预留相匹配的实例会自动分配给 ODCR。
使用 有针对性的 ODC R 需要您在实例启动时提供 ODCR 标识符或资源组 ARN。预留到期后,将无法再启动实例。这可能是测量利用率的好方法,同时还可以确保足够的容量。
有什么新内容?
亚马逊云科技 ParallelCluster 历来支持开放 ODCR,前提是它启动的实例类型与预留属性相匹配。自 ParallelCluster 3.1.1 起,您可以通过编辑集群头节点上的文件来添加某些 EC2 API 参数,从而使用目标 ODCR。
亚马逊云科技 ParallelCluster 3.3.0 改善了这种体验。现在,您可以直接在 亚马逊云科技 ParallelCluster 配置文件中配置 ODCR。您可以为 Slurm 队列中的每种计算资源指定容量预留标识符、容量资源组 ARN 和集群置放群组的组合(图 1)。重要的是,您可以在不中断集群操作的情况下动态添加或删除队列的容量预留。
如果你之前在 ParallelCluster 中使用过集
图 1:ParallelCluster 配置现在支持将容量预留与网络置放群组结合使用。
如何在 亚马逊云科技 ParallelCluster 3.3.0 中使用 ODCR
要在 ParallelCluster 中使用有针对性的 ODCR,你需要创建一个新集群。按照本在线指南将版本更新到 ParallelCluster 或
配置 ODCR
您可以为任何 Slurm 队列中的任何计算资源配置 ODCR。配置详细信息将有所不同,具体取决于您是使用每个 Slurm 队列 计算资源 的单一实例类型 还是多个实例类型。
对于单实例类型,您有两个选择。您可以 为所需的实例类型
。
或者,您可以
Scheduling:
Scheduler: slurm
SlurmQueues:
- Name: q1
ComputeResources:
- Name: cr1
InstanceType: c6a.48xlarge
MinCount: 1
MaxCount: 8
CapacityReservationTarget:
CapacityReservationId: cr-01234567890abdef0
# OR #
CapacityReservationResourceGroupArn: arn:aws:resource-groups:us-east-1:123456791537:group/MyCRGroup
请注意,在创建容量预留组以用于 亚马逊云科技 ParallelCluster 时,必须使用 亚马逊云科技 命令行接口 (亚马逊云科技 CLI),而不是 亚马逊云科技 管理控制台。这是因为控制台仅支持创建 基于 标签 和堆栈 的 资源组,而 ParallelCluster 不支持这些资源组。
如果每个
计算资源
有多个实例类型,则只能使用 CapacityReserv ationResourceGroup
arn。
创建
然后,在集群配置中指定群组的 ARN,如下所示:
实例列表中每个 InstanceType
的 容量预留。
…
Scheduling:
Scheduler: slurm
SlurmQueues:
- Name: q2
ComputeResources:
- Name: cr1
Instances:
- InstanceType: c6a.24xlarge
- InstanceType: r6a.24xlarge
- InstanceType: m6a.24xlarge
MinCount: 1
MaxCount: 8
CapacityReservationTarget:
CapacityReservationResourceGroupArn: arn:aws:resource-groups:us-east-1:123456791537:group/MyCRGroup
...
使用集群置放群组
集群置放群组 (CPG) 是单个可用区内实例的逻辑分组,它们具有低网络延迟和高网络吞吐量的优点,有助于提高紧密耦合的 HPC 工作负载的性能。您可以通过创建集群置放群组 ODCR (CPG ODCR) 将它们与 ODCR 一起使用。
创建集群置放群组 ODCR
-
创建集群置放群组 (如果您还没有)。 -
创建目标 ODCR,并在创建时
指定集群置放群 组的 名称。 - 创建容量预留资源组来存放 ODCR。将您的预留标识符或群组 ARN 添加到集群配置中。然后,添加网络置放群组名称,如以下示例所示:
Scheduling:
Scheduler: slurm
SlurmQueues:
- Name: q1
ComputeResources:
- Name: cr1
InstanceType: c6a.48xlarge
MinCount: 1
MaxCount: 8
CapacityReservationTarget:
CapacityReservationId: cr-01234567890abdef0
Networking:
PlacementGroup:
Name: my-placement-group
更新您的集群
在集群运行 亚马逊云科技 ParallelCluster 3.3.0 后,您可以动态更新或修改集群上的容量预留配置。默认情况下,您需要停止计算舰队,更新集群,然后重新启动舰队以进行更改。
但是,您可以将 Slurm
QueueUpdateStrategy
更改为 D
RA
IN 或 TERMINATE ,正如我们在
对 ODCR 进行故障排除
创建了 ODCR 后,可以直接将其与 亚马逊云科技 ParallelCluster 3.3.0 配合使用。但是,您创建容量预留的请求本身可能会失败。值得一提的是可能发生这种情况的三个原因。
- 当所需可用区中当前没有足够的 Amazon EC2 容量来容纳所请求的实例类型时,您的请求可能会失败。您可以通过等到稍后、切换可用区域或更改实例类型来解决这个问题。
-
当请求的实例数量超过您的服务配额时,它可能会失败。您可以通过
请求增加按需实例的服务配 额 来解决此问题。确保它足够高,以容纳您的容量预留和您需要运行的任何其他并发实例。 -
您的请求可能会因为其集群置放群组而失败。容量预留和置放群组必须位于同一个可用区内。此外,您只能为支持集群置放群组的实例类型创建容量预留。支持大多数实例类型,但您可以在
集群置放群组文档 中了解例外情况 。
摘要
在 亚马逊云科技 ParallelCluster 3.3.0 中,比以往任何时候都更容易使用按需容量预留 (ODCR) 来预留完成 HPC 工作负载所需的亚马逊 EC2 实例容量。开放容量预留设计为默认运行,而定向预留和带有置放群组的预留使用新的配置机制。您需要更新您的 亚马逊云科技 ParallelCluster 安装并更新您的集群才能利用这项新功能。
我们很想知道你在使用 亚马逊云科技 ParallelCluster 试用 ODCR 后的想法,以及我们如何改进这项新功能。请在 Twitter 上
*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。