多个队列的配置 - Amazon ParallelCluster
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

多个队列的配置

在 Amazon ParallelCluster 版本 3 中,您可以通过将设置为slurm并在配置文件SlurmQueues中为指定多个队列来配置多个队列。Scheduler在此模式下,不同的实例类型共存于配置文件的 ComputeResources 部分中指定的计算节点中。具有不同实例类型的 ComputeResources 会根据 SlurmQueues 的需要纵向扩展或缩减。

当工作负载共享相同的底层基础架构和资源(例如共享存储、网络或登录节点)时,单个集群中的多个队列通常优先于多个集群。如果工作负载具有相似的计算、存储和网络需求,则在单个集群中使用多个队列会更高效,因为它允许资源共享并避免不必要的重复。这种方法简化了管理,减少了开销,同时还能实现高效的作业调度和资源分配。另一方面,当工作负载之间存在很强的安全、数据或操作隔离要求时,应使用多个集群。例如,如果您需要使用不同的计划、更新周期或访问策略独立管理和操作工作负载,则多个集群更合适。

集群队列和计算资源配额
资源 限额

Slurm queues

每个集群 50 个队列

Compute resources

每个队列 50 个计算资源

每个集群 50 个计算资源

节点数

队列的 ComputeResources 中的每个计算资源都必须具有唯一的 NameInstanceTypeMinCountMaxCountMinCountMaxCount 具有默认值,用于定义队列的 ComputeResources 中的计算资源的实例范围。您也可以为 MinCountMaxCount 指定自己的值。ComputeResources 中的每个计算资源均由编号为 1 到 MinCount 值的静态节点和编号为 MinCount 值到 MaxCount 值的动态节点组成。

示例配置

下面是集群配置文件的 Scheduling 部分的示例。在此配置中,有两个名为 queue1queue2 的队列,每个队列的 ComputeResources 都指定了 MaxCount

Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ComputeResources: - InstanceType: c5.xlarge MaxCount: 5 Name: c5xlarge - InstanceType: c4.xlarge MaxCount: 5 Name: c4xlarge - Name: queue2 ComputeResources: - InstanceType: c5.xlarge MaxCount: 5 Name: c5xlarge

主机名

启动到计算实例集中的实例是动态分配的。将为每个节点生成主机名。默认情况下, Amazon ParallelCluster 将使用以下格式的主机名:

$HOSTNAME=$QUEUE-$STATDYN-$COMPUTE_RESOURCE-$NODENUM

  • $QUEUE 是队列的名称。例如,如果 SlurmQueues 部分中的条目将 Name 设置为“queue-name”,则“$QUEUE”为“queue-name”。

  • 对于静态节点,$STATDYNst,对于动态节点则为 dy

  • $COMPUTE_RESOURCE 是与此节点对应的 ComputeResources 计算资源的 Name

  • $NODENUM 是节点的编号。对于静态节点,$NODENUM 介于一 (1) 和 MinCount 的值之间,对于动态节点,则介于一 (1) 和 MaxCount-MinCount 之间。

根据上面的示例配置文件,queue1 和计算资源 c5xlarge 的给定节点的主机名为:queue1-dy-c5xlarge-1

主机名和完全限定域名 (FQDN) 都是使用 Amazon Route 53 托管区创建的。FQDN 是 $HOSTNAME.$CLUSTERNAME.pcluster,其中 $CLUSTERNAME 是集群的名称。

请注意,Slurm 节点名称也将使用相同的格式。

用户可以选择使用为计算节点提供支持的实例的默认 Amazon EC2 主机名,而不是使用的默认主机名格式 Amazon ParallelCluster。这可通过将 UseEc2Hostnames 参数设置为 true 来完成。但是,Slurm节点名称将继续使用默认 Amazon ParallelCluster 格式。