Scheduling 部分 - Amazon ParallelCluster
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

Scheduling 部分

必需需定义要在集群中使用的作业调度器以及由作业调度器管理的计算实例的特征。可以使用的两个作业调度器是Slurm和Amazon Batch,每种都支持不同的设置和属性。

Scheduling: Scheduler: slurm SlurmSettings: ScaledownIdletime: integer QueueUpdateStrategy: string EnableMemoryBasedScheduling: integer Dns: DisableManagedDns: boolean HostedZoneId: string UseEc2Hostnames: string SlurmQueues: - Name: string ComputeSettings: LocalStorage: RootVolume: Size: integer Encrypted: boolean VolumeType: string Iops: integer Throughput: integer EphemeralVolume: MountDir: string CapacityType: string Networking: SubnetIds: - string AssignPublicIp: boolean SecurityGroups: - string AdditionalSecurityGroups: - string PlacementGroup: Enabled: boolean Id: string Proxy: HttpProxyAddress: string ComputeResources: - Name: string InstanceType: string MinCount: integer MaxCount: integer SpotPrice: float DisableSimultaneousMultithreading: boolean SchedulableMemory: integer Efa: Enabled: boolean GdrSupport: boolean CustomActions: OnNodeStart: Script: string Args: - string OnNodeConfigured: Script: string Args: - string Iam: InstanceProfile: string InstanceRole: string S3Access: - BucketName: string EnableWriteAccess: boolean KeyName: string AdditionalIamPolicies: - Policy: string Image: CustomAmi: string
Scheduling: Scheduler: awsbatch AwsBatchQueues: - Name: string CapacityType: string Networking: SubnetIds: - string AssignPublicIp: boolean SecurityGroups: - string AdditionalSecurityGroups: - string ComputeResources: # this maps to a Batch compute environment (initially we support only 1) - Name: string InstanceTypes: - string MinvCpus: integer DesiredvCpus: integer MaxvCpus: integer SpotBidPercentage: float

Scheduling属性

Scheduler(必需,String)

指定使用的调度程序。支持的值为 slurmawsbatch

更新策略:如果更改此设置,则不允许更新。

AwsBatchQueues

(可选)适用于的设置Amazon Batch队列。仅支持一个队列。此部分在以下情况下为必填项Schedulerawsbatch. 有关以下内容的更多信息awsbatch调度器,请参阅网络设置Amazon Batch (awsbatch).

AwsBatchQueues: - Name: string CapacityType: string Networking: SubnetIds: - string AssignPublicIp: boolean SecurityGroups: - string AdditionalSecurityGroups: - string ComputeResources: # this maps to a Batch compute environment (initially we support only 1) - Name: string InstanceTypes: - string MinvCpus: integer DesiredvCpus: integer MaxvCpus: integer SpotBidPercentage: float

更新策略:此设置可以在更新期间更改。

AwsBatchQueues属性

Name(必需,String)

的名称Amazon Batch队列。

更新策略:如果更改此设置,则不允许更新。

CapacityType(可选,String)

中使用的计算资源的类型Amazon Batch队列。支持的值为 ONDEMANDSPOT。默认值为 ONDEMAND

注意

CapacityType必需设置为SPOT,必须有一个AWSServiceRoleForEC2Spot您的账户中的服务相关角色。您可以使用以下方法创建此角色:Amazon CLI命令:

$ aws iam create-service-linked-role --aws-service-name spot.amazonaws.com

有关更多信息,请参阅竞价型实例请求的服务相关角色在里面适用于 Linux 实例的 Amazon EC2 用户.

更新策略:必须停止计算队列才能更改此设置以进行更新。

Networking

必需需定义网络配置Amazon Batch队列。

Networking: SubnetIds: - string AssignPublicIp: boolean SecurityGroups: - string AdditionalSecurityGroups: - string
Networking属性
SubnetIds(必需,[String])

指定要在其中配置的现有子网的 IDAmazon Batch队列。目前仅支持一个子网。

更新策略:必须停止计算队列才能更改此设置以进行更新。

AssignPublicIp(可选,String)

为中的节点创建或分配公有 IP 地址Amazon Batch队列。支持的值为 truefalse。默认值取决于指定的子网。

更新策略:如果更改此设置,则不允许更新。

SecurityGroups(可选,[String])

用于的安全组的列表Amazon Batch队列。如果未指定安全组,Amazon ParallelCluster将创建新的密钥组。

更新策略:此设置可以在更新期间更改。

AdditionalSecurityGroups(可选,[String])

用于的安全组的列表Amazon Batch队列。

更新策略:此设置可以在更新期间更改。

ComputeResources

必需需定义为 ComputeResources 的配置Amazon Batch队列。

ComputeResources: # this maps to a Batch compute environment (initially we support only 1) - Name: string InstanceTypes: - string MinvCpus: integer DesiredvCpus: integer MaxvCpus: integer SpotBidPercentage: float
ComputeResources属性
Name(必需,String)

的计算环境的名称Amazon Batch队列。

更新策略:必须停止计算队列才能更改此设置以进行更新。

InstanceTypes(必需,[String])

要包含在此中的实例类型数组Amazon Batch计算环境。所有实例类型都必须使用x86_64架构。

更新策略:必须停止计算队列才能更改此设置以进行更新。

MinvCpus(可选,Integer)

最小 vCPU 数量Amazon Batch计算环境。

更新策略:此设置可以在更新期间更改。

DesiredVcpus(可选,Integer)

中所需的 vCPU 数量Amazon Batch计算环境。Amazon Batch将在两者之间调整这个值MinvCpusMaxvCpus,基于作业队列中的需求。

更新:更新期间不分析此设置。

MaxvCpus(可选,Integer)

最大 vCPU 数量Amazon Batch计算环境。不能将其设置为低于的值DesiredVcpus.

更新策略:更新期间不能降低此设置。

SpotBidPercentage(可选,Float)

在启动之前,EC2 Spot 实例价格与该实例类型的按需价格进行比较时可以达到的最大百分比。默认值为100(100%)。支持的范围是1-100.

更新策略:此设置可以在更新期间更改。

SlurmQueues

(可选)适用于的设置Slurm队列。此部分在以下情况下为必填项Schedulerslurm.

SlurmQueues: - Name: string ComputeSettings: LocalStorage: RootVolume: Size: integer Encrypted: boolean VolumeType: string Iops: integer Throughput: integer EphemeralVolume: MountDir: string CapacityType: string Networking: SubnetIds: - string AssignPublicIp: boolean SecurityGroups: - string AdditionalSecurityGroups: - string PlacementGroup: Enabled: boolean Id: string Proxy: HttpProxyAddress: string ComputeResources: - Name: string InstanceType: string MinCount: integer MaxCount: integer SpotPrice: float DisableSimultaneousMultithreading: boolean SchedulableMemory: integer Efa: Enabled: boolean GdrSupport: boolean CustomActions: OnNodeStart: Script: string Args: - string OnNodeConfigured: Script: string Args: - string Iam: InstanceProfile: string InstanceRole: string S3Access: - BucketName: string EnableWriteAccess: boolean KeyName: string AdditionalIamPolicies: - Policy: string Image: CustomAmi: string

更新策略:对于此列表值设置,可以在更新期间添加新值,或者在删除现有值时必须停止计算队列。

SlurmQueues属性

Name(必需,String)

的名称Slurm队列。

更新策略:如果更改此设置,则不允许更新。

CapacityType(可选,String)

中使用的计算资源的类型Slurm队列。支持的值为 ONDEMANDSPOT。默认值为 ONDEMAND

注意

CapacityType必需设置为SPOT,必须有一个AWSServiceRoleForEC2Spot您的账户中的服务相关角色。您可以使用以下方法创建此角色:Amazon CLI命令:

$ aws iam create-service-linked-role --aws-service-name spot.amazonaws.com

有关更多信息,请参阅竞价型实例请求的服务相关角色在里面适用于 Linux 实例的 Amazon EC2 用户.

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

Networking

必需需定义网络配置Slurm队列。

Networking: SubnetIds: - string AssignPublicIp: boolean SecurityGroups: - string AdditionalSecurityGroups: - string PlacementGroup: Enabled: boolean Id: string Proxy: HttpProxyAddress: string

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

Networking属性
SubnetIds(必需,[String])

指定要在其中置备的现有子网的 IDSlurm队列。目前仅支持一个子网。

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

AssignPublicIp(可选,String)

为中的节点创建或分配公有 IP 地址Slurm队列。支持的值为 truefalse。默认值取决于指定的子网;具有公有 IP 的子网将默认为分配公有 IP 地址。

如果您定义了 p4d 实例类型或其他具有多个网络接口或网络接口卡的实例类型,则必须设置HeadNode/Networking/ElasticIptrue提供公有访问。Amazon公共 IP 只能分配给使用单个网络接口启动的实例。在这种情况下,我们建议您使用NAT 网关提供对集群计算节点的公共访问权限。在这种情况下,设置AssignPublicIpfalse. 有关 IP 地址的更多信息,请参阅 IP 地址的更多信息,请参阅在实例启动期间分配公有 IPv4 地址在里面适用于 Linux 实例的 Amazon EC2 用户.

更新策略:如果更改此设置,则不允许更新。

SecurityGroups(可选,[String])

用于的安全组的列表Slurm队列。如果未指定安全组,Amazon ParallelCluster将创建新的密钥组。

验证您的安全组配置是否正确SharedStorage系统。

警告

如果您要启用Eva对于您的计算实例,请确保启用 EFA 的实例是一个安全组的成员,以允许进出自身的所有入站和出站流量。

更新策略:此设置可以在更新期间更改。

AdditionalSecurityGroups(可选,[String])

用于使用的其他安全组的列表Slurm队列。

更新策略:此设置可以在更新期间更改。

PlacementGroup(可选)

指定置放群组设置Slurm队列。

PlacementGroup: Enabled: boolean Id: string

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

Enabled(可选,Boolean)

指明置放群组是否用于Slurm队列。如果未指定,则默认值为false.

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

Id(可选,String)

用于的现有集群置放群组的置放群组名称Slurm队列。请务必提供置放群组名称必需参数. 如果未指定,Amazon ParallelCluster为每个队列创建一个新的集群置放群组。

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

Proxy(可选)

指定 for 的代理设置Slurm队列。

Proxy: HttpProxyAddress: string

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

HttpProxyAddress(可选,String)

定义 HTTP 或 HTTPS 代理服务器Slurm队列,通常为https://x.x.x.x:8080.

没有默认值。

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

Image

(可选)指定要用于Slurm队列。要对所有节点使用相同的 AMI,请使用CustomAmi设置Image部分.

Image: CustomAmi: string

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

Image属性
CustomAmi(可选,String)

用于的 AMISlurm队列而不是默认的 AMI。您可以使用 pcluster CLI 命令查看默认 AMI 的列表。

pcluster list-official-images

如果自定义 AMI 需要额外的启动权限,则必须将这些权限添加到头节点策略中。

例如,如果自定义 AMI 有与之关联的加密快照,则需要在头节点策略中添加以下额外策略:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:ReEncrypt*", "kms:CreateGrant", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:<AWS_REGION>:<AWS_ACCOUNT_ID>:key/<AWS_KMS_KEY_ID>" ] } ] }

要解决自定义 AMI 验证警告,请参阅排查自定义 AMI 问题.

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

ComputeResources

必需需定义为ComputeResources的配置Slurm队列。

ComputeResources: - Name: string InstanceType: string MinCount: integer MaxCount: integer SpotPrice: float DisableSimultaneousMultithreading: boolean SchedulableMemory: integer Efa: Enabled: boolean GdrSupport: boolean

更新策略:对于此列表值设置,可以在更新期间添加新值,或者在删除现有值时必须停止计算队列。

ComputeResources属性
Name(必需,String)

的计算环境的名称Slurm队列。

更新策略:如果更改此设置,则不允许更新。

InstanceType(必需,String)

在此中使用的实例类型Slurm计算资源。集群中的所有实例类型都必须使用相同的处理器架构x86_64要么arm64.

如果您定义了 p4d 实例类型或其他具有多个网络接口或网络接口卡的实例类型,则必须在私有子网中启动计算实例,如中所述使用两个子网的 Amazon ParallelCluster.Amazon公共 IP 只能分配给使用单个网络接口启动的实例。有关更多信息,请参阅在实例启动期间分配公有 IPv4 地址在里面适用于 Linux 实例的 Amazon EC2 用户.

更新策略:必须停止计算队列才能更改此设置以进行更新。.

MinCount(可选,Integer)

的最小实例数量Slurm计算资源。默认值为 0。

更新策略:必须停止计算队列才能更改此设置以进行更新。

MaxCount(可选,Integer)

的最大实例数量Slurm计算资源。默认值为 10。

更新策略:要将队列的大小减至当前节点数以下,需要先停止计算队列。

SpotPrice(可选,Float)

在启动实例之前为 EC2 竞价型实例支付的最高价格。默认值为按需价格。

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

DisableSimultaneousMultithreading(可选,Boolean)

如果true,禁用节点上的超线程Slurm队列。默认值为 false

并非所有实例类型都可以禁用超线程。有关支持禁用超线程的实例类型的列表,请参阅每种实例类型的 CPU 核心数和每 CPU 核心的线程数在里面适用于 Linux 实例的 Amazon EC2 用户.

更新策略:必须停止计算队列才能更改此设置以进行更新。

SchedulableMemory(可选,Integer)

在 Slurm 参数中配置的内存量(以 MiB 为单位)。RealMemory用于计算资源的计算节点。此值是作业在以下情况下可用的节点内存的上限SlurmSettings/EnableMemoryBasedScheduling必需需。原定设置值是中列出的内存的 95%。Amazon EC2 实例类型并由Amazon EC2 API 返回DescribeInstanceTypes. 务必将以 GiB 为单位给出的值转换为 MiB。

支持的值:1-EC2Memory

EC2Memory是中列出的内存(以 MiB 为单位)Amazon EC2 实例类型并由Amazon EC2 API 返回DescribeInstanceTypes. 务必将以 GiB 为单位给出的值转换为 MiB。

此选项在以下情况下最为相关SlurmSettings/EnableMemoryBasedScheduling必需需。有关更多信息,请参阅 Slurm 基于内存的调度

注意

SchedulableMemory支持开头为Amazon ParallelCluster版本 3.2.2.2.2.2.2.2.

默认情况下,从版本 3.2.0 开始,Amazon ParallelCluster配置RealMemory将 Slurm 计算节点转换为 Amazon EC2 API 返回的内存的 95%DescribeInstanceTypes. 此配置与的值无关EnableMemoryBasedScheduling.

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

Efa(可选)

指定中的节点的Elastic Fabric Adapter (EFA) 设置Slurm队列。

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

Efa: Enabled: boolean GdrSupport: boolean
Enabled(可选,Boolean)

指定启用Elastic Fabric Adapter (EFA)。要查看支持 EFA 的 EC2 实例列表,请参阅支持的实例类型在里面适用于 Linux 实例的 Amazon EC2 用户. 有关更多信息,请参阅 Elastic Fabric Adapter。建议您使用集群SlurmQueues/Networking/PlacementGroup以最大限度地减少实例之间的延迟。

默认值为 false

警告

如果您要在中定义自定义安全组SecurityGroups,请确保启用 EFA 的实例是一个安全组的成员,以允许进出自身的所有入站和出站流量。

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

GdrSupport(可选,Boolean)

(可选)StartsAmazon ParallelCluster版本 3.0.2,此设置无效。如果 GpuDirect RDMA 的实例类型支持 Elastic Fabric Adapter (EFA),则始终启用对 GpuDirect RDMA(远程直接内存访问)的支持Slurm计算资源和操作系统。

注意

Amazon ParallelCluster3.0.0 至 3.0.1:指定启用对 GpuDirect RDMA 的支持Slurm计算资源。特定实例类型Support GpuDirect RDMA (p4d.24xlarge) 在特定操作系统上 (Osalinux2,centos7,ubuntu1804,或ubuntu2004)。默认值为 false。

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

ComputeSettings

必需需定义为ComputeSettings的配置Slurm队列。

ComputeSettings属性

指定的属性ComputeSettings中的节点Slurm队列。

ComputeSettings: LocalStorage: RootVolume: Size: integer Encrypted: boolean VolumeType: string Iops: integer Throughput: integer EphemeralVolume: MountDir: string

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

LocalStorage(可选)

指定的属性LocalStorage中的节点Slurm队列。

LocalStorage: RootVolume: Size: integer Encrypted: boolean VolumeType: string Iops: integer Throughput: integer EphemeralVolume: MountDir: string

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

RootVolume(可选)

指定节点根的详细信息Slurm队列。

RootVolume: Size: integer Encrypted: boolean VolumeType: string Iops: integer Throughput: integer

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

Size(可选,Integer)

指定中的节点的根卷大小(以吉字节(GiB)为单位)Slurm队列。默认大小来自 AMI。使用不同的大小要求 AMI 支持growroot.

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

Encrypted(可选,Boolean)

如果true,中节点的根卷Slurm队列已加密。默认值为 false

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

VolumeType(可选,String)

指定Amazon EBS 卷类型中的节点Slurm队列。支持的值为gp2,gp3,io1,io2,sc1,st1,以及standard. 默认值为 gp3

有关更多信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例) 中的 Amazon EBS 卷类型

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

Iops(可选,Boolean)

定义 IOPS 的数量io1,io2,以及gp3键入卷数。

默认值、支持的值和volume_iopsvolume_size比例因而异VolumeTypeSize.

VolumeType = io1

默认值Iops1000

支持的值Iops= 100—64000 †

最高volume_iopsvolume_size比率 = 每 GiB 50 IOPS。5000 IOPS 需要volume_size至少 100 GiB。

VolumeType = io2

默认值Iops1000

支持的值Iops= 100—64000 (256000 用于io2Block Express 卷)

最高IopsSize比率 = 每 GiB 500 IOPS。5000 IOPS 需要Size至少 10 GiB。

VolumeType = gp3

默认值Iops延迟队列

支持的值Iops= 3000—16000 †

最高IopsSize比率 = IOPS 大于 3000 的卷每 GiB 500 IOPS。

† 只有在以下情况下才能保证最大 IOPS基于 Nitro 系统构建的实例调配超过 32,000个 IOPS。其他实例保证最高为 32,000 IOPS。较旧io1除非您,否则卷可能无法实现完全性能修改卷组.io2 Block Expressvolume_iops值最高为 256000R5b实例类型。有关更多信息,请参阅io2Block Express 卷在里面适用于 Linux 实例的 Amazon EC2 用户.

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

Throughput(可选,Integer)

定义吞吐量gp3卷类型,以 MiB/s 为单位。此设置仅在以下情况下有效VolumeTypegp3. 默认值为 125。支持的值:125—1000 MiB/s

必需需需参数ThroughputIops不能超过 0.25。1000 MiB/s 的最大吞吐量要求Iops设置至少为 4000。

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

EphemeralVolume(可选,Boolean)

指定临时音量的设置。临时卷是通过将所有实例存储卷合并为一个逻辑卷而创建的,该逻辑卷的格式化为ext4文件系统。默认为 /scratch。如果该实例类型没有任何实例存储卷,则不会创建临时卷。有关更多信息,请参阅实例存储卷在里面适用于 Linux 实例的 Amazon EC2 用户.

EphemeralVolume: MountDir: string

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

MountDir(可选,String)

为每个节点指定临时卷的装载目录Slurm队列。

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

CustomActions

(可选)指定要在节点上运行的自定义脚本Slurm队列。

CustomActions: OnNodeStart: Script: string Args: - string OnNodeConfigured: Script: string Args: - string

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

CustomActions属性
OnNodeStart(可选,String)

指定要在节点上运行的脚本Slurm在任何节点部署引导操作开始之前排队。有关更多信息,请参阅 自定义引导操作

Script(必需,String)

指定要使用的文件。文件路径可以以开头https://要么s3://.

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

Args(可选,[String])

要传递给脚本的参数列表。

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

OnNodeConfigured(可选,String)

指定要在节点上运行的脚本Slurm在所有节点引导操作完成后排队。有关更多信息,请参阅 自定义引导操作

Script(必需,String)

指定要使用的文件。文件路径可以以开头https://要么s3://.

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

Args(可选,[String])

要传递给脚本的参数列表。

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

Iam

(可选)定义可选的 IAM 设置Slurm队列。

Iam: S3Access: - BucketName: string EnableWriteAccess: boolean KeyName: string AdditionalIamPolicies: - Policy: string InstanceProfile: string InstanceRole: string

更新策略:此设置可以在更新期间更改。

Iam属性
InstanceProfile(可选,String)

指定一个实例配置文件以覆盖默认的实例角色或实例配置文件Slurm队列。不能同时指定两者InstanceProfileInstanceRole. 格式为 arn:${Partition}:iam::${Account}:instance-profile/${InstanceProfileName}

如果指定了此选项,S3AccessAdditionalIamPolicies设置将被忽略。建议使用AdditionalIamPolicies因为添加了功能Amazon ParallelCluster通常需要新的权限。

更新策略:必须停止计算队列才能更改此设置以进行更新。

InstanceRole(可选,String)

指定一个实例角色以覆盖默认的实例角色或实例配置文件Slurm队列。不能同时指定两者InstanceProfileInstanceRole. 格式为 arn:${Partition}:iam::${Account}:role/${RoleName}

如果指定了此选项,S3AccessAdditionalIamPolicies设置将被忽略。建议使用AdditionalIamPolicies因为添加了功能Amazon ParallelCluster通常需要新的权限。

更新策略:此设置可以在更新期间更改。

S3Access(可选)

为指定存储桶Slurm队列。这用于生成策略以授予对存储桶的指定访问权限Slurm队列。

S3Access: - BucketName: string EnableWriteAccess: boolean KeyName: string

更新策略:此设置可以在更新期间更改。

BucketName(必需,String)

存储桶的名称。

更新策略:此设置可以在更新期间更改。

KeyName(可选,String)

存储桶的密钥。默认值为 *

更新策略:此设置可以在更新期间更改。

EnableWriteAccess(可选,Boolean)

指示是否为桶启用写入权限。

更新策略:此设置可以在更新期间更改。

AdditionalIamPolicies(可选)

指定适用于 Amazon EC2 的 IAM 策略的 Amazon 资源名称(ARN)的列表。此列表附加到用于Slurm除了所需的权限之外还有队列Amazon ParallelCluster.

IAM 策略名称和其 ARN 不同。不能使用名称。如果InstanceProfile要么InstanceRole已指定设置,则忽略此设置。建议使用AdditionalIamPolicies因为AdditionalIamPolicies被添加到以下权限中Amazon ParallelCluster要求,还有InstanceRole必须包含所需的所有权限。随着功能的不断添加,所需权限通常会随版本发生变化。

没有默认值。

AdditionalIamPolicies: - Policy: string

更新策略:此设置可以在更新期间更改。

Policy(必需,[String])

IAM 策略列表。

更新策略:此设置可以在更新期间更改。

SlurmSettings

(可选)定义以下各项的设置Slurm适用于整个集群。

SlurmSettings: ScaledownIdletime: integer QueueUpdateStrategy: string EnableMemoryBasedScheduling: boolean Dns: DisableManagedDns: boolean HostedZoneId: string UseEc2Hostnames: string

SlurmSettings属性

ScaledownIdletime(可选,Integer)

定义没有作业的时间(以分钟为单位),在此之后Slurm节点终止。

默认值为 10

更新策略:必须停止计算队列才能更改此设置以进行更新。

QueueUpdateStrategy(可选,String)

指定替换策略SlurmQueues具有以下更新策略的区域参数:

更新策略:必须停止计算队列或QueueUpdateStrategy必须设置才能更改此设置以进行更新。

这些区域有:QueueUpdateStrategy该值仅在集群更新过程启动时使用。

有效值:COMPUTE_FLEET_STOP |DRAIN |TERMINATE

默认值:COMPUTE_FLEET_STOP

DRAIN

队列中参数值已更改的节点设置为DRAINING. 处于此状态的节点不接受新作业,正在运行的作业会继续完成。

一旦节点变成idle(DRAINED),如果它是静态节点,则被替换;如果是动态节点,则终止。其他队列中未更改参数值的其他节点不受影响。

此策略用更改后的参数值替换所有队列节点所需的时间取决于正在运行的工作负载。

COMPUTE_FLEET_STOP

的默认值QueueUpdateStrategy参数。使用此设置,更新下面的参数SlurmQueues部分要求你停止计算队列在执行集群更新之前:

$ pcluster update-compute-fleet --status STOP_REQUESTED
TERMINATE

在参数值更改的队列中,正在运行的作业会被终止,节点会立即关闭。

静态节点被替换,动态节点被终止。

其他队列中未更改参数值的其他节点不受影响。

更新策略:更新期间不分析此设置。

注意

QueueUpdateStrategy支持开头为Amazon ParallelCluster版本 3.2.2.2.2.2.2.2.

EnableMemoryBasedScheduling(可选,Boolean)

如果true,Slurm 中启用了基于内存的调度。有关更多信息,请参阅SlurmQueues/ComputeResources/SchedulableMemory.

默认值为 false

警告

启用基于内存的调度会影响 Slurm 调度器处理作业和节点分配的方式。

有关更多信息,请参阅 Slurm 基于内存的调度

注意

EnableMemoryBasedScheduling支持开头为Amazon ParallelCluster版本 3.2.2.2.2.2.2.2.

更新策略:必须停止计算队列才能更改此设置以进行更新。

Dns

(可选)定义以下各项的设置Slurm适用于整个集群。

Dns: DisableManagedDns: boolean HostedZoneId: string UseEc2Hostnames: string

Dns属性

DisableManagedDns(可选,Boolean)

如果true,则不应创建 DNS 条目。默认值Amazon ParallelCluster创建 Route 53 托管区域。默认值为 false。如果DisableManagedDns必需设置为true,托管区域不是由创建的Amazon ParallelCluster.

警告

集群需要名称解析系统才能正常运行。如果DisableManagedDns必需设置为true,还必须提供额外的名称解析系统。

更新策略:如果更改此设置,则不允许更新。

HostedZoneId(可选,String)

定义自定义 Route 53 托管区域 ID,用于集群的 DNS 名称解析。

更新策略:如果更改此设置,则不允许更新。

UseEc2Hostnames(可选,String)

指定使用默认 EC2 主机名。

注意

UseEc2Hostnames必需设置为true,Slurm 配置文件设置为Amazon ParallelCluster prologepilog脚本:

  • prolog运行以将节点信息添加到/etc/hosts分配每项任务时在计算节点上。

  • epilog运行以清理写入的内容prolog.

添加自定义prolog要么epilog脚本,将它们添加到/opt/slurm/etc/pcluster/prolog.d/要么/opt/slurm/etc/pcluster/epilog.d/分别为文件夹。

更新策略:如果更改此设置,则不允许更新。