Scheduling 섹션 - AWS ParallelCluster

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Scheduling 섹션

(필수) 클러스터에서 사용되는 작업 스케줄러와 작업 스케줄러가 관리하는 컴퓨팅 인스턴스를 정의합니다. Slurmor AWS Batch 스케줄러를 사용할 수 있습니다. 각각은 서로 다른 설정 및 속성 세트를 지원합니다.

Scheduling: Scheduler: slurm ScalingStrategy: string SlurmSettings: MungeKeySecretArn: string ScaledownIdletime: integer QueueUpdateStrategy: string EnableMemoryBasedScheduling: boolean CustomSlurmSettings: [dict] CustomSlurmSettingsIncludeFile: string Database: Uri: string UserName: string PasswordSecretArn: string DatabaseName: string Dns: DisableManagedDns: boolean HostedZoneId: string UseEc2Hostnames: boolean SlurmQueues: - Name: string ComputeSettings: LocalStorage: RootVolume: Size: integer Encrypted: boolean VolumeType: string Iops: integer Throughput: integer EphemeralVolume: MountDir: string CapacityReservationTarget: CapacityReservationId: string CapacityReservationResourceGroupArn: string CapacityType: string AllocationStrategy: string JobExclusiveAllocation: boolean CustomSlurmSettings: dict Tags: - Key: string Value: string HealthChecks: Gpu: Enabled: boolean Networking: SubnetIds: - string AssignPublicIp: boolean SecurityGroups: - string AdditionalSecurityGroups: - string PlacementGroup: Enabled: boolean Id: string Name: string Proxy: HttpProxyAddress: string ComputeResources: - Name: string InstanceType: string Instances: - InstanceType: string MinCount: integer MaxCount: integer DynamicNodePriority: integer StaticNodePriority: integer SpotPrice: float DisableSimultaneousMultithreading: boolean SchedulableMemory: integer HealthChecks: Gpu: Enabled: boolean Efa: Enabled: boolean GdrSupport: boolean CapacityReservationTarget: CapacityReservationId: string CapacityReservationResourceGroupArn: string Networking: PlacementGroup: Enabled: boolean Name: string CustomSlurmSettings: dict Tags: - Key: string Value: string CustomActions: OnNodeStart: Sequence: - Script: string Args: - string Script: string Args: - string OnNodeConfigured: Sequence: - Script: string Args: - string 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입니다.

업데이트 정책: 이 설정을 변경하면 업데이트가 허용되지 않습니다.

참고

awsbatchalinux2 운영 체제 및 x86_64 플랫폼만 지원합니다.

ScalingStrategy(선택 사항, String)

동적 Slurm 노드의 확장 방법을 선택할 수 있습니다. 지원되는 값은 greedy-all-or-nothing 이며all-or-nothing, best-effort 기본값은 입니다. all-or-nothing

업데이트 정책: 이 설정은 업데이트 중에 변경할 수 있습니다.

참고

스케일링 전략은 Slurm이 재개할 노드에만 적용되며, 최종적으로 이미 실행 중인 노드에는 적용되지 않습니다.

  • all-or-nothing이 전략은 확장 프로세스가 끝날 때 유휴 인스턴스가 발생하지 않도록 하기 위한 a를 엄격하게 따릅니다. all-or-nothing-approach all-or-nothing 기본적으로 운영되므로 완전히 확장하거나 전혀 확장하지 않을 수 있습니다. 작업에 500개 이상의 노드가 필요하거나 여러 컴퓨팅 리소스에 걸쳐 있는 경우 일시적으로 시작된 인스턴스로 인해 추가 비용이 발생할 수 있다는 점에 유의하십시오. 이 전략은 가능한 세 가지 확장 전략 중에서 처리량이 가장 낮습니다. 스케일링 시간은 Slurm 재개 프로그램 실행당 제출된 작업 수에 따라 달라집니다. 또한 실행당 기본 RunInstances 자원 계정 한도인 기본 1000개 인스턴스를 초과하여 확장할 수 없습니다. 자세한 내용은 AWS EC2 API 제한 설명서에서 확인할 수 있습니다.

  • greedy-all-or-nothing 이 전략과 마찬가지로 이 all-or-nothing 전략은 확장 이후 유휴 인스턴스를 피하는 것을 목표로 합니다. 이 전략을 사용하면 확장 프로세스 중에 임시 오버스케일링을 통해 all-or-nothing 접근 방식보다 높은 처리량을 달성할 수 있지만, RunInstances 리소스 계정 한도에 따라 1,000개의 인스턴스라는 동일한 규모 조정 한도가 적용됩니다.

  • best-effort 이 전략은 확장 프로세스가 끝날 때 일부 인스턴스가 유휴 상태일 수 있더라도 높은 처리량을 우선시합니다. 작업에서 요청한 만큼의 노드를 할당하려고 시도하지만 전체 요청을 충족하지 못할 수도 있습니다. 다른 전략과 달리 최선의 접근 방식은 표준 RunInstances 한도보다 많은 인스턴스를 누적할 수 있지만, 이는 여러 확장 프로세스 실행 과정에서 리소스가 유휴 상태로 유지되는 대가를 치르게 됩니다.

각 전략은 다양한 규모 조정 요구 사항을 충족하도록 설계되었으므로 특정 요구 사항 및 제약 조건에 맞는 전략을 선택할 수 있습니다.

AwsBatchQueues

(선택 사항) AWS Batch 대기열 설정. 대기열은 하나만 지원됩니다. Schedulerawsbatch로 설정된 경우 이 섹션은 필수입니다. awsbatch 스케줄러에 대한 자세한 내용은 네트워킹 설정AWS 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)

AWS Batch 대기열의 이름.

업데이트 정책: 이 설정을 변경하면 업데이트가 허용되지 않습니다.

CapacityType(선택 사항, String)

AWS Batch 대기열이 사용하는 컴퓨팅 리소스의 유형. 지원되는 값은 ONDEMAND SPOT 또는 CAPACITY_BLOCK 입니다. 기본 값은 ONDEMAND입니다.

참고

CapacityTypeSPOT로 설정하는 경우 계정에 AWSServiceRoleForEC2Spot 서비스 연결 역할이 포함되어야 합니다. 다음 AWS CLI 명령을 사용하여 이 역할을 생성할 수 있습니다.

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

자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서스팟 인스턴스 요청의 서비스 연결 역할을 참조하세요.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.

Networking

(필수) AWS Batch 큐의 네트워킹 구성을 정의합니다.

Networking: SubnetIds: - string AssignPublicIp: boolean SecurityGroups: - string AdditionalSecurityGroups: - string
Networking 속성
SubnetIds(필수, [String])

AWS Batch 큐를 프로비저닝할 기존 서브넷의 ID를 지정합니다. 현재 하나의 서브넷만 지원됩니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.

AssignPublicIp(선택 사항, String)

큐의 노드에 퍼블릭 IP 주소를 만들거나 할당합니다. AWS Batch 지원되는 값은 truefalse입니다. 기본값은 지정한 서브넷에 따라 달라집니다.

업데이트 정책: 이 설정을 변경하면 업데이트가 허용되지 않습니다.

SecurityGroups(선택 사항, [String])

AWS Batch 대기열이 사용하는 보안 그룹 목록. 보안 그룹을 지정하지 않는 경우 새 보안 그룹을 AWS ParallelCluster 생성합니다.

업데이트 정책: 이 설정은 업데이트 중에 변경할 수 있습니다.

AdditionalSecurityGroups(선택 사항, [String])

AWS Batch 대기열이 사용하는 보안 그룹 목록.

업데이트 정책: 이 설정은 업데이트 중에 변경할 수 있습니다.

ComputeResources

(필수) AWS Batch 대기열의 ComputeResources 구성을 정의합니다.

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)

AWS Batch 대기열 컴퓨팅 환경의 이름.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.

InstanceTypes(필수, [String])

인스턴스 유형으로 구성된 AWS Batch 컴퓨팅 환경 배열. 모든 인스턴스 유형은 x86_64 아키텍처를 사용해야 합니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.

MinvCpus(선택 사항, Integer)

AWS Batch 컴퓨팅 환경에서 사용할 수 있는 최소 vCPU 수.

업데이트 정책: 이 설정은 업데이트 중에 변경할 수 있습니다.

DesiredVcpus(선택 사항, Integer)

컴퓨팅 환경에서 원하는 vCPU 수. AWS Batch AWS Batch 이 값을 작업 대기열의 수요 사이에서 MinvCpus 또는 필요에 MaxvCpus 따라 조정합니다.

업데이트 정책: 이 설정은 업데이트 중에 분석되지 않습니다.

MaxvCpus(선택 사항, Integer)

컴퓨팅 환경의 최대 vCPU 수입니다. AWS Batch 이 값은 DesiredVcpus보다 낮은 값으로 설정할 수 없습니다.

업데이트 정책: 업데이트 중에는 이 설정을 줄일 수 없습니다.

SpotBidPercentage(선택 사항, Float)

인스턴스가 시작되기 전에 EC2 스팟 인스턴스 가격이 도달할 수 있는 인스턴스 유형의 주문형 가격의 최대 백분율입니다. 기본값은 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 CapacityReservationTarget: CapacityReservationId: string CapacityReservationResourceGroupArn: string CapacityType: string AllocationStrategy: string JobExclusiveAllocation: boolean CustomSlurmSettings: dict Tags: - Key: string Value: string HealthChecks: Gpu: Enabled: boolean Networking: SubnetIds: - string AssignPublicIp: boolean SecurityGroups: - string AdditionalSecurityGroups: - string PlacementGroup: Enabled: boolean Id: string Name: string Proxy: HttpProxyAddress: string ComputeResources: - Name: string InstanceType: string Instances: - InstanceType: string MinCount: integer MaxCount: integer DynamicNodePriority: integer StaticNodePriority: integer SpotPrice: float DisableSimultaneousMultithreading: boolean SchedulableMemory: integer HealthChecks: Gpu: Enabled: boolean Efa: Enabled: boolean GdrSupport: boolean CapacityReservationTarget: CapacityReservationId: string CapacityReservationResourceGroupArn: string Networking: PlacementGroup: Enabled: boolean Name: string CustomSlurmSettings: dict Tags: - Key: string Value: string CustomActions: OnNodeStart: Sequence: - Script: string Args: - string Script: string Args: - string OnNodeConfigured: Sequence: - Script: string Args: - string 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 대기열의 이름입니다.

참고

클러스터 크기는 업데이트 중에 변경될 수 있습니다. 자세한 내용은 클러스터 용량 크기 및 업데이트를 참조하십시오.

업데이트 정책: 이 설정을 변경하면 업데이트가 허용되지 않습니다.

CapacityReservationTarget
참고

CapacityReservationTarget AWS ParallelCluster 버전 3.3.0에 추가되었습니다.

CapacityReservationTarget: CapacityReservationId: string CapacityReservationResourceGroupArn: string

대기열의 컴퓨팅 리소스에 대한 온디맨드 용량 예약을 지정합니다.

CapacityReservationId(선택 사항, String)

대기열의 컴퓨팅 리소스를 대상으로 하는 기존 용량 예약의 ID입니다. ID는 ML용 ODCR 또는 용량 블록을 참조할 수 있습니다.

예약은 인스턴스가 사용하는 것과 동일한 플랫폼을 사용해야 합니다. 예를 들어, 인스턴스가 rhel8에서 실행되는 경우 용량 예약은 Red Hat Enterprise Linux 플랫폼에서 실행되어야 합니다. 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서지원되는 플랫폼을 참조하세요.

참고

클러스터 구성에 Instances를 포함하는 경우 이 대기열 레벨 CapacityReservationId 설정을 구성에서 제외해야 합니다.

CapacityReservationResourceGroupArn(선택 사항, String)

대기열의 컴퓨팅 리소스에 대해 서비스에 연결된 용량 예약 그룹 역할을 하는 리소스 그룹의 Amazon 리소스 이름(ARN)입니다. AWS ParallelCluster 은 다음 조건에 따라 리소스 그룹에서 가장 적절한 용량 예약을 식별하고 사용합니다.

  • SlurmQueuesSlurmQueuesComputeResources/Networking또는 //에서 활성화된 경우 Networking, 인스턴스 유형을 대상으로 하는 리소스 그룹을 선택하고 PlacementGroup 컴퓨팅 PlacementGroup 리소스가 있는 경우 컴퓨팅 리소스로 사용할 리소스 그룹을 AWS ParallelCluster 선택합니다.

    PlacementGroupComputeResources에 정의된 인스턴스 유형 중 하나를 대상으로 해야 합니다.

  • SlurmQueuesSlurmQueuesComputeResources/Networking또는 /에서 PlacementGroup 활성화되지 않은 경우 Networking, 컴퓨팅 리소스가 있는 경우 컴퓨팅 리소스의 인스턴스 유형만 대상으로 하는 리소스 그룹을 AWS ParallelCluster 선택합니다.

리소스 그룹에는 대기열의 모든 컴퓨팅 리소스 및 가용 영역에 걸쳐 가용 영역에 예약된 각 인스턴스 유형에 대해 하나 이상의 ODCR이 있어야 합니다. 자세한 내용은 ODCR(온디맨드 용량 예약)로 인스턴스 시작 항목을 참조하세요.

다중 서브넷 구성 요구 사항에 대한 자세한 내용은 Networking/SubnetIds를 참조하세요.

참고

AWS ParallelCluster 버전 3.4.0에는 다중 가용 영역이 추가되었습니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

CapacityType(선택 사항, String)

Slurm 대기열에 사용되는 컴퓨팅 리소스의 유형입니다. 지원되는 값은 ONDEMAND 또는 SPOT입니다. 기본 값은 ONDEMAND입니다.

참고

CapacityTypeSPOT로 설정하는 경우 계정에 AWSServiceRoleForEC2Spot 서비스 연결 역할이 있어야 합니다. 다음 AWS CLI 명령어를 사용하여 이 역할을 생성할 수 있습니다.

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

자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서스팟 인스턴스 요청의 서비스 연결 역할을 참조하세요.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

AllocationStrategy(선택 사항, String)

Instances에 정의된 모든 컴퓨팅 리소스에 대한 할당 전략을 지정합니다.

유효한 값: lowest-price | capacity-optimized

기본값: lowest-price

lowest-price
  • CapacityType = ONDEMAND를 사용하면 EC2 플릿이 가격을 통해 순서를 결정하여 최저 가격의 인스턴스를 먼저 시작합니다.

  • CapacityType = SPOT을 사용하면 EC2 플릿이 사용 가능한 용량이 있는 최저 가격의 스팟 인스턴스 풀에서 인스턴스를 시작합니다. 필수 용량을 이행하기 전에 풀에 용량이 부족해질 경우 EC2 플릿은 인스턴스를 시작하여 요청을 이행합니다. 특히 EC2 플릿은 가용 용량이 있는 최저 가격의 스팟 인스턴스 풀에서 인스턴스를 시작합니다. EC2 플릿은 여러 다른 풀에서 스팟 인스턴스를 시작할 수 있습니다.

  • 설정하면 CapacityType = CAPACITY_BLOCK 할당 전략이 없으므로 AllocationStrategy 매개 변수를 구성할 수 없습니다.

capacity-optimized
  • CapacityType = ONDEMAND을 설정하면 capacity-optimized는 사용할 수 없습니다.

  • CapacityType = SPOT을 설정하면 EC2 플릿은 시작할 인스턴스 수에 대해 최적의 용량을 가진 스팟 인스턴스 풀에서 인스턴스를 시작합니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

참고

AllocationStrategy은 AWS ParallelCluster 버전 3.3.0부터 지원됩니다.

JobExclusiveAllocation(선택 사항, String)

true로 설정하면 Slurm 파티션 OverSubscribe 플래그가 EXCLUSIVE로 설정됩니다. OverSubscribe=EXCLUSIVE인 경우 파티션의 작업은 할당된 모든 노드에 독점적으로 액세스할 수 있습니다. 자세한 내용은 Slurm 설명서의 EXCLUSIVE를 참조하세요.

유효한 값: true | false

기본값: false

업데이트 정책: 이 설정은 업데이트 중에 변경할 수 있습니다.

참고

JobExclusiveAllocation은 AWS ParallelCluster 버전 3.7.0부터 지원됩니다.

CustomSlurmSettings(선택 사항, Dict)

사용자 지정 Slurm 파티션(대기열) 구성 설정을 정의합니다.

대기열(파티션)에 적용되는 사용자 지정 Slurm 구성 파라미터 키-값 쌍의 사전을 지정합니다.

각 개별 키-값 쌍(예: Param1: Value1)은 Slurm 파티션 구성 라인 끝에 Param1=Value1 형식으로 별도로 추가됩니다.

CustomSlurmSettings 거부 목록에 없는 Slurm 구성 파라미터만 지정할 수 있습니다. 거부 목록에 있는 Slurm 구성 파라미터에 관한 자세한 내용은 CustomSlurmSettings을 위한 거부 목록에 등록된 Slurm 구성 파라미터를 참조하세요.

AWS ParallelCluster 매개 변수가 거부 목록에 있는지 여부만 확인합니다. AWS ParallelCluster 사용자 지정 Slurm 구성 매개변수 구문이나 의미 체계를 검증하지 않습니다. 사용자 지정 Slurm 구성 파라미터의 유효성을 검사하는 것은 사용자의 책임입니다. 잘못된 사용자 지정 Slurm 구성 파라미터로 인해 Slurm 대몬(daemon) 장애가 발생하여 클러스터 생성 및 업데이트 실패로 이어질 수 있습니다.

를 사용하여 사용자 지정 Slurm 구성 매개변수를 지정하는 방법에 대한 자세한 내용은 을 AWS ParallelCluster참조하십시오. Slurm 구성 사용자 지정

Slurm 구성 파라미터에 대한 자세한 내용은 Slurm의 slurm.conf를 참조하세요.

업데이트 정책: 이 설정은 업데이트 중에 변경할 수 있습니다.

참고

CustomSlurmSettings은 AWS ParallelCluster 버전 3.6.0부터 지원됩니다.

Tags(선택 사항, [문자열])

태그 키-값 쌍의 목록입니다. ComputeResource 태그는 Tags 섹션 또는 SlurmQueues/Tags에 지정된 중복 태그보다 우선합니다.

Key(선택 사항, String)

태그 키

Value(선택 사항, String)

태그 값

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

HealthChecks(선택 사항)

대기열에 있는 모든 컴퓨팅 리소스에 대해 컴퓨팅 노드 상태 확인을 지정하세요.

Gpu(선택 사항)

대기열에 있는 모든 컴퓨팅 리소스에 대한 GPU 상태 확인을 지정하세요.

참고

AWS ParallelCluster alinux2ARM 운영 체제를 사용하는 Gpu 노드에서는 HealthChecks /를 지원하지 않습니다. 이러한 플랫폼은 NVIDIA 데이터 센터 GPU 관리자(DCGM)를 지원하지 않습니다.

Enabled(선택 사항, Boolean)

컴퓨팅 노드에서 GPU 상태 검사를 AWS ParallelCluster 수행하는지 여부. 기본값은 false입니다.

Gpu 상태 확인 동작
  • Gpu/Enabledtrue로 설정된 경우 AWS ParallelCluster 는 대기열의 컴퓨팅 리소스에 대해 GPU 상태 확인을 수행합니다.

  • Gpu 상태 확인은 컴퓨팅 리소스에서 GPU 상태 확인을 수행하여 성능이 저하된 GPU가 있는 노드에서 작업을 제출하지 못하도록 합니다.

  • 컴퓨팅 노드가 Gpu 상태 확인에 실패하면 컴퓨팅 노드 상태가 DRAIN로 변경됩니다. 이 노드에서는 새 작업이 시작되지 않습니다. 기존 작업이 완료될 때까지 실행됩니다. 실행 중인 모든 작업이 완료된 후 동적 노드인 경우 컴퓨팅 노드가 종료되고 정적 노드인 경우 대체됩니다.

  • Gpu 상태 확인 기간은 선택한 인스턴스 유형, 인스턴스의 GPU 수, Gpu 상태 확인 대상 수(작업 GPU 대상 수와 동일)에 따라 다릅니다. GPU가 8개인 인스턴스의 경우 일반적인 지속 시간은 3분 미만입니다.

  • 지원되지 않는 인스턴스에서 Gpu가 상태 확인을 실행하면 인스턴스가 종료되고 작업이 컴퓨팅 노드에서 실행됩니다. 예를 들어 인스턴스에 GPU가 없거나 인스턴스에 GPU가 있지만 NVIDIA GPU가 아닌 경우 상태 확인이 종료되고 작업이 컴퓨팅 노드에서 실행됩니다. NVIDIA GPU만 지원됩니다.

  • Gpu 상태 확인은 dcgmi 도구를 사용하여 노드에서 상태 확인을 수행하고 다음 단계를 수행합니다.

    노드에서 Gpu 상태 확인이 시작되는 경우:

    1. nvidia-dcgmnvidia-fabricmanager 서비스가 실행 중인지 여부를 감지합니다.

    2. 이러한 서비스가 실행되고 있지 않으면 Gpu 상태 확인이 시작됩니다.

    3. 지속성 모드가 활성화되었는지 여부를 감지합니다.

    4. 지속성 모드가 활성화되지 않은 경우 Gpu 상태 확인을 통해 활성화됩니다.

    상태 확인이 끝나면 상태 확인은 Gpu 이러한 서비스와 리소스를 초기 상태로 복원합니다.

  • 작업이 특정 노드 GPU 세트에 할당된 경우 Gpu 상태 확인은 해당 세트에서만 실행됩니다. 그렇지 않으면 노드의 모든 GPU에서 Gpu 상태 확인이 실행됩니다.

  • 컴퓨팅 노드가 2개 이상의 Gpu 상태 확인 요청을 동시에 수신하면 첫 번째 상태 확인만 실행되고 나머지는 건너뛰게 됩니다. 노드 GPU를 대상으로 하는 상태 확인의 경우도 마찬가지입니다. 로그 파일에서 이 상황과 관련된 추가 정보를 확인할 수 있습니다.

  • 특정 컴퓨팅 노드의 상태 확인 로그는 /var/log/parallelcluster/slurm_health_check.log 파일에서 확인할 수 있습니다. 이 파일은 CloudWatch Amazon의 클러스터 CloudWatch 로그 그룹에서 사용할 수 있으며, 여기에서 다음을 찾을 수 있습니다.

    • 서비스 및 지속성 모드의 활성화/비활성화를 포함하여 Gpu 상태 확인에서 실행한 작업에 대한 세부 정보

    • GPU 식별자, 시리얼 ID, UUID.

    • 상태 확인 출력

업데이트 정책: 이 설정은 업데이트 중에 변경할 수 있습니다.

참고

HealthChecks AWS ParallelCluster 버전 3.6.0부터 지원됩니다.

Networking

(필수) Slurm 대기열의 네트워킹 구성을 정의합니다.

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

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

Networking 속성
SubnetIds(필수, [String])

Slurm 대기열을 프로비저닝하는 기존 서브넷의 ID

SlurmQueues/ComputeResources/InstanceType에서 인스턴스 유형을 구성하는 경우 서브넷을 하나만 정의할 수 있습니다.

SlurmQueues/ComputeResources/Instances에서 인스턴스 유형을 구성하는 경우 단일 서브넷 또는 여러 서브넷을 정의할 수 있습니다.

여러 서브넷을 사용하는 경우 대기열에 정의된 모든 서브넷은 동일한 VPC에 있어야 하며 각 서브넷은 별도의 가용 영역(AZ)에 있어야 합니다.

예를 들어 대기열에 서브넷-1과 서브넷-2를 정의한다고 가정해 보겠습니다.

subnet-1subnet-2 모두 AZ-1에 있을 수는 없습니다.

subnet-1은 AZ-1에 있을 수 있고 subnet-2는 AZ-2에 있을 수 있습니다.

인스턴스 유형을 하나만 구성하고 여러 서브넷을 사용하려면 InstanceType 대신에 Instances에서 인스턴스 유형을 정의하세요.

예를 들어 ComputeResources/InstanceType=instance.type 대신 ComputeResources/Instances/InstanceType=instance.type를 정의하세요.

참고

여러 가용 영역에 걸친 Elastic Fabric Adapter(EFA)는 지원되지 않습니다.

가용 영역을 여러 개 사용하면 스토리지 네트워킹 지연 시간이 늘어나고 AZ 간 데이터 전송 비용이 추가될 수 있습니다. 예를 들어 인스턴스가 다른 AZ에 있는 파일 스토리지에 액세스할 때 이런 현상이 발생할 수 있습니다. 자세한 내용은 동일 AWS 리전내 데이터 전송을 참조하세요.

단일 서브넷 사용에서 다중 서브넷으로 변경하기 위한 클러스터 업데이트:
  • 클러스터의 서브넷 정의가 단일 서브넷과 AWS ParallelCluster 관리형 FSx for Lustre 파일 시스템으로 정의된다고 가정해 보겠습니다. 그러면 업데이트된 서브넷 ID 정의로 이 클러스터를 직접 업데이트할 수 없습니다. 클러스터를 업데이트하려면 먼저 관리 파일 시스템을 외부 파일 시스템으로 변경해야 합니다. 자세한 내용은 AWS ParallelCluster 관리형 스토리지를 외부 스토리지로 전환 항목을 참조하세요.

  • 추가하도록 정의된 여러 서브넷의 모든 AZ에 EFS 탑재 대상이 없는 경우 클러스터의 서브넷 정의가 단일 서브넷과 외부 Amazon EFS 파일 시스템으로 정의된다고 가정해 보겠습니다. 그러면 업데이트된 서브넷 ID 정의로 이 클러스터를 직접 업데이트할 수 없습니다. 클러스터를 업데이트하거나 클러스터를 만들려면 먼저 정의된 여러 서브넷의 모든 AZ에 대한 탑재 대상을 모두 만들어야 합니다.

Arn에 정의된 가용 영역 및 클러스터 용량 예약: CapacityReservation ResourceGroup
  • 정의된 용량 예약 리소스 그룹에 포함되는 인스턴스 유형 및 가용 영역 집합과 대기열에 정의된 인스턴스 유형 및 가용 영역 집합 간에 중복이 없으면 클러스터를 생성할 수 없습니다.

  • 정의된 용량 예약 리소스 그룹에 포함되는 인스턴스 유형 및 가용 영역 집합과 대기열에 정의된 인스턴스 유형 및 가용 영역 집합 간에 부분적으로 겹치는 부분이 있는 경우 클러스터를 생성할 수 있습니다. AWS ParallelCluster 이 경우 부분 중복에 대한 경고 메시지를 보냅니다.

  • 자세한 정보는 ODCR(온디맨드 용량 예약)로 인스턴스 시작을 참조하세요.

참고

AWS ParallelCluster 버전 3.4.0에 다중 가용 영역이 추가되었습니다.

주의

이 경고는 버전 3.3.1 이전의 모든 3.x.y AWS ParallelCluster 버전에 적용됩니다. AWS ParallelCluster 이 매개변수가 변경되어도 버전 3.3.1은 영향을 받지 않습니다.

버전 3.3.1 이전 AWS ParallelCluster 3개 버전의 경우:

이 매개 변수를 변경하고 클러스터를 업데이트하면 새 관리형 FSx for Lustre 파일 시스템이 생성되고 기존 데이터를 보존하지 않고 기존 관리형 FSx for Lustre 파일 시스템이 삭제됩니다. 이로 인해 데이터가 손실됩니다. 데이터를 보존하려면 진행하기 전에 기존 FSx for Lustre 파일 시스템의 데이터를 백업해야 합니다. 자세한 내용은 FSx for Lustre 사용 설명서백업 작업을 참조하세요.

새 서브넷 값이 추가된 경우, 업데이트 정책: 이 설정은 업데이트 중에 변경할 수 있습니다.

서브넷 값이 제거된 경우, 업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

AssignPublicIp(선택 사항, String)

퍼블릭 IP 주소를 생성하거나 Slurm 대기열의 노드에 할당합니다. 지원되는 값은 truefalse입니다. 지정하는 서브넷에 따라 기본값이 결정됩니다. 퍼블릭 IP가 있는 서브넷은 기본적으로 퍼블릭 IP 주소를 할당합니다.

p4d또는 hpc6id 인스턴스 유형을 정의하거나 여러 네트워크 인터페이스 또는 네트워크 인터페이스 카드가 있는 다른 인스턴스 유형을 정의하는 경우 HeadNodeNetworking//를 설정하여 퍼블릭 ElasticIptrue액세스를 제공해야 합니다. AWS 퍼블릭 IP는 단일 네트워크 인터페이스로 시작한 인스턴스에만 할당할 수 있습니다. 이 경우 NAT 게이트웨이를 사용하여 클러스터 컴퓨팅 노드에 대한 퍼블릭 액세스를 제공하는 것이 좋습니다. 이 경우 AssignPublicIpfalse로 설정합니다. IP 주소에 고나한 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서인스턴스 시작 중 퍼블릭 IPv4 주소 할당을 참조하세요.

업데이트 정책: 이 설정을 변경하면 업데이트가 허용되지 않습니다.

SecurityGroups(선택 사항, [String])

Slurm 대기열에 사용할 보안 그룹의 목록입니다. 지정된 보안 그룹이 없는 경우 보안 그룹이 자동으로 AWS ParallelCluster 생성됩니다.

보안 그룹이 SharedStorage시스템에 맞게 구성되어 있는지 확인하십시오.

주의

이 경고는 3개 모두에 적용됩니다. x. y AWS ParallelCluster 버전 3.3.0 이전 버전 AWS ParallelCluster 이 매개변수가 변경되어도 버전 3.3.0은 영향을 받지 않습니다.

버전 3.3.0 이전의 AWS ParallelCluster 3개 버전의 경우:

이 매개 변수를 변경하고 클러스터를 업데이트하면 새 관리형 FSx for Lustre 파일 시스템이 생성되고 기존 데이터를 보존하지 않고 기존 관리형 FSx for Lustre 파일 시스템이 삭제됩니다. 이로 인해 데이터가 손실됩니다. 데이터를 보존하려면 기존 FSx for Lustre 파일 시스템의 데이터를 백업해야 합니다. 자세한 내용은 FSx for Lustre 사용 설명서백업 작업을 참조하세요.

주의

컴퓨팅 인스턴스에 Efa를 사용하도록 설정하는 경우 EFA 지원 인스턴스가 자체 내의 모든 인바운드 및 아웃바운드 트래픽을 허용하는 보안 그룹에 구성되어야 합니다.

업데이트 정책: 이 설정은 업데이트 중에 변경할 수 있습니다.

AdditionalSecurityGroups(선택 사항, [String])

Slurm 대기열에 사용할 추가 보안 그룹의 목록입니다.

업데이트 정책: 이 설정은 업데이트 중에 변경할 수 있습니다.

PlacementGroup(선택 사항)

Slurm 대기열의 배치 그룹 설정을 지정합니다.

PlacementGroup: Enabled: boolean Id: string Name: string

업데이트 정책: 관리형 배치 그룹 삭제를 위해서는 모든 컴퓨팅 노드를 중지해야 합니다. 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

Enabled(선택 사항, Boolean)

Slurm대기열에 배치 그룹을 사용할지 여부를 나타냅니다. 기본값은 false입니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

Id(선택 사항, String)

Slurm 대기열이 사용하는 기존 클러스터 배치 그룹의 배치 그룹 이름 ID가 아닌 배치 그룹 이름을 입력해야 합니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

Name(선택 사항, String)

Slurm 대기열이 사용하는 기존 클러스터 배치 그룹의 배치 그룹 이름 ID가 아닌 배치 그룹 이름을 입력해야 합니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

참고
Proxy(선택 사항)

Slurm 대기열의 프록시 설정을 지정합니다.

Proxy: HttpProxyAddress: string

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

HttpProxyAddress(선택 사항, String)

Slurm 대기열의 HTTP 또는 HTTPS 프록시 서버를 정의합니다. 보통은 https://x.x.x.x:8080입니다.

기본값이 없습니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

Image

(선택 사항) Slurm 대기열에 사용할 이미지를 지정합니다. 모든 노드에 동일한 AMI를 사용하려면 Image섹션의 CustomAmi설정을 사용하십시오.

Image: CustomAmi: string

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

Image 속성
CustomAmi(선택 사항, String)

기본 AMI 대신 Slurm 대기열에 사용할 AMI입니다. pcluster CLI 명령을 사용하여 기본 AMI 목록을 볼 수 있습니다.

참고

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

(필수) Slurm 대기열의 ComputeResources 구성을 정의합니다.

참고

클러스터 크기는 업데이트 중에 변경될 수 있습니다. 자세한 내용은 클러스터 용량 크기 및 업데이트를 참조하십시오.

ComputeResources: - Name: string InstanceType: string Instances: - InstanceType: string MinCount: integer MaxCount: integer DynamicNodePriority: integer StaticNodePriority: integer SpotPrice: float DisableSimultaneousMultithreading: boolean SchedulableMemory: integer HealthChecks: Gpu: Enabled: boolean Efa: Enabled: boolean GdrSupport: boolean CapacityReservationTarget: CapacityReservationId: string CapacityReservationResourceGroupArn: string Networking: PlacementGroup: Enabled: boolean Name: string CustomSlurmSettings: dict Tags: - Key: string Value: string

업데이트 정책: 이 목록 값 설정의 경우 업데이트 중에 새 값을 추가할 수 있으며, 또는 기존 값을 제거할 때 컴퓨팅 플릿을 중지해야 합니다.

ComputeResources 속성
Name(필수, String)

Slurm 대기열 컴퓨팅 환경의 이름 계획 이름은 최대 25자까지 가능합니다.

업데이트 정책: 이 설정을 변경하면 업데이트가 허용되지 않습니다.

InstanceType(필수, String)

이 Slurm 컴퓨팅 리소스에 사용되는 인스턴스 유형입니다. 클러스터의 모든 인스턴스 유형은 동일한 프로세서 아키텍처를 사용해야 합니다. 인스턴스는 x86_64 또는 arm64 아키텍처 중 하나를 사용할 수 있습니다.

클러스터 구성은 InstanceType또는 인스턴스를 정의해야 합니다. 둘 다 정의하면 AWS ParallelCluster 실패합니다.

InstanceType를 정의할 때는 여러 서브넷을 정의할 수 없습니다. 인스턴스 유형을 하나만 구성하고 여러 서브넷을 사용하려면 InstanceType 대신에 Instances에서 인스턴스 유형을 정의하세요. 자세한 내용은 Networking/SubnetIds 항목을 참조하세요.

p4d또는 hpc6id 인스턴스 유형이나 여러 네트워크 인터페이스 또는 네트워크 인터페이스 카드가 있는 다른 인스턴스 유형을 정의하는 경우 에 설명된 대로 프라이빗 서브넷에서 컴퓨팅 인스턴스를 시작해야 합니다. 두 개의 서브넷을 사용하는 AWS ParallelCluster AWS 퍼블릭 IP는 단일 네트워크 인터페이스로 시작된 인스턴스에만 할당할 수 있습니다. 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서인스턴스 시작 중 퍼블릭 IPv4 주소 할당을 참조하세요.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.

Instances(필수)

컴퓨팅 리소스의 인스턴스 유형 목록을 지정합니다. 인스턴스 유형 목록에 대한 할당 전략을 지정하려면 AllocationStrategy을 참조하세요.

클러스터 구성은 InstanceType 또는 Instances 중 하나를 정의해야 합니다. 둘 다 정의하면 AWS ParallelCluster 은 실패합니다.

자세한 정보는 Slurm을 사용하여 여러 인스턴스 유형 할당을 참조하세요.

Instances: - InstanceType: string

업데이트 정책: 이 목록 값 설정의 경우 업데이트 중에 새 값을 추가할 수 있으며, 또는 기존 값을 제거할 때 컴퓨팅 플릿을 중지해야 합니다.

InstanceType(필수, String)

이 Slurm 컴퓨팅 리소스에 사용할 인스턴스 유형입니다. 클러스터의 모든 인스턴스 유형은 동일한 프로세서 아키텍처, x86_64 또는 arm64를 사용해야 합니다.

Instances에 나열된 인스턴스 유형은 다음을 가지고 있어야 합니다.

  • 동일한 수의 vCPU. DisableSimultaneousMultithreadingtrue으로 설정되었다면 동일한 수의 코어.

  • 동일한 제조사의 동일한 수의 액셀러레이터

  • Efa/Enabledtrue로 설정되어 있으면 EFA 지원

Instances 목록에 있는 인스턴스 유형은 다음을 가지고 있을 수 있습니다:

p4d또는 hpc6id 인스턴스 유형이나 다중 네트워크 인터페이스 또는 네트워크 인터페이스 카드가 있는 다른 인스턴스 유형을 정의하는 경우 에 설명된 대로 프라이빗 서브넷에서 컴퓨팅 인스턴스를 시작해야 합니다. 두 개의 서브넷을 사용하는 AWS ParallelCluster AWS 퍼블릭 IP는 단일 네트워크 인터페이스로 시작한 인스턴스에만 할당할 수 있습니다. 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서인스턴스 시작 중 퍼블릭 IPv4 주소 할당을 참조하세요.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.

참고

Instances AWS ParallelCluster 버전 3.3.0부터 지원됩니다.

MinCount(선택 사항, Integer)

Slurm 컴퓨팅 리소스가 사용하는 최소 인스턴스 수입니다. 기본값은 0입니다.

참고

업데이트 중에 클러스터 크기가 변경될 수 있습니다. 자세한 내용은 클러스터 용량 크기 및 업데이트를 참조하십시오.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.

MaxCount(선택 사항, Integer)

Slurm 컴퓨팅 리소스가 사용하는 최대 인스턴스 수입니다. 기본값은 10.

용량 블록 예약의 모든 인스턴스 부분이 정적 노드로 관리되므로 사용할 CapacityType = CAPACITY_BLOCK 때는 0보다 크거나 MaxCount 같아야 합니다. MinCount

클러스터 생성 시 헤드 노드는 클러스터 생성 성공 신호를 보내기 전에 모든 정적 노드가 준비될 때까지 기다립니다. 하지만 사용 시 CapacityType = CAPACITY_BLOCK Capacity Block과 관련된 컴퓨팅 리소스의 노드 부분은 이 검사 대상에서 제외됩니다. 구성된 모든 용량 블록이 활성 상태가 아니더라도 클러스터는 생성됩니다.

참고

업데이트 중에 클러스터 크기가 변경될 수 있습니다. 자세한 내용은 클러스터 용량 크기 및 업데이트를 참조하십시오.

DynamicNodePriority(선택 사항, Integer)

대기열 컴퓨팅 리소스에 있는 동적 노드의 우선 순위 우선 순위는 컴퓨팅 리소스 동적 Slurm 노드의 노드 Weight 구성 파라미터에 매핑됩니다. 기본 값은 1000입니다.

Slurm은 Weight 값이 가장 낮은 노드부터 우선 순위를 지정합니다.

주의

Slurm 파티션(대기열)에 여러 Weight 값을 사용하면 대기열의 작업 예약 속도가 느려질 수 있습니다.

버전 3.7.0 이전 AWS ParallelCluster 버전에서는 정적 노드와 동적 노드 모두에 동일한 기본 가중치가 할당되었습니다. 1 이 경우 정적 및 동적 노드의 이름 지정 스키마로 인해 Slurm가 유휴 정적 노드보다 유휴 동적 노드를 우선할 수 있습니다. 다른 모든 조건이 같으면 Slurm는 노드 이름을 알파벳순으로 스케줄링합니다.

참고

DynamicNodePriority AWS ParallelCluster 버전 3.7.0에 추가되었습니다.

업데이트 정책: 이 설정은 업데이트 중에 변경할 수 있습니다.

StaticNodePriority(선택 사항, Integer)

대기열 컴퓨팅 리소스에 있는 정적 노드의 우선 순위 우선 순위는 컴퓨팅 리소스 정적 Slurm 노드 Weight 구성 파라미터에 매핑됩니다. 기본 값은 1입니다.

Slurm은 Weight 값이 가장 낮은 노드부터 우선 순위를 지정합니다.

주의

Slurm 파티션(대기열)에 여러 Weight 값을 사용하면 대기열의 작업 예약 속도가 느려질 수 있습니다.

참고

StaticNodePriority AWS ParallelCluster 버전 3.7.0에 추가되었습니다.

업데이트 정책: 이 설정은 업데이트 중에 변경할 수 있습니다.

SpotPrice(선택 사항, Float)

인스턴스가 시작되기 전에 EC2 스팟 인스턴스에 지불한 최고 가격입니다. 기본값은 온디맨드 요금입니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

DisableSimultaneousMultithreading(선택 사항, Boolean)

true이면 Slurm 대기열에 있는 노드의 멀티스레딩이 비활성화됩니다. 기본 값은 false입니다.

일부 인스턴스 유형은 멀티스레딩을 비활성화할 수 없습니다. 멀티스레딩 비활성화를 지원하는 인스턴스 유형 목록은 Amazon EC2 사용 설명서에서 인스턴스 유형별 각 CPU 코어의 CPU 코어 및 스레드를 참조하십시오.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.

SchedulableMemory(선택 사항, Integer)

컴퓨팅 리소스의 컴퓨팅 노드에 대한 Slurm 파라미터 RealMemory에 구성된 메모리 양(MiB) 이 값은 SlurmSettings/EnableMemoryBasedScheduling가 활성화된 경우 작업에 사용할 수 있는 노드 메모리의 상한값입니다. 기본값은 Amazon EC2 인스턴스 유형에 나열되고 Amazon EC2 API 유형에서 반환되는 메모리의 95% 입니다. DescribeInstance GiB 단위로 지정된 값을 MiB로 변환해야 합니다.

지원되는 값: 1-EC2Memory

EC2MemoryAmazon EC2 인스턴스 유형에 나열되고 Amazon EC2 API 유형에서 반환되는 메모리 (MiB 단위) 입니다. DescribeInstance GiB 단위로 지정된 값을 MiB로 변환해야 합니다.

이 옵션은 SlurmSettings/EnableMemoryBasedScheduling가 활성화된 경우에 가장 적합합니다. 자세한 내용은 Slurm 메모리 기반 스케줄링 항목을 참조하세요.

참고

SchedulableMemory은 AWS ParallelCluster 버전 3.2.0부터 지원됩니다.

버전 3.2.0부터 기본적으로 Amazon EC2 API에서 반환되는 메모리의 95% 까지 Slurm 컴퓨팅 노드를 AWS ParallelCluster 구성합니다RealMemory. DescribeInstanceTypes 이 구성은 EnableMemoryBasedScheduling의 값과는 무관합니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

HealthChecks(선택 사항)

컴퓨팅 리소스의 상태 확인을 지정하세요.

Gpu(선택 사항)

컴퓨팅 리소스에 대한 GPU 상태 확인을 지정합니다.

Enabled(선택 사항, Boolean)

대기열에 있는 컴퓨팅 리소스에 대해 GPU 상태 검사를 AWS ParallelCluster 수행하는지 여부. 기본값은 false입니다.

참고

AWS ParallelCluster alinux2ARM 운영 체제를 사용하는 Gpu 노드에서는 HealthChecks /를 지원하지 않습니다. 이러한 플랫폼은 NVIDIA 데이터 센터 GPU 관리자(DCGM)를 지원하지 않습니다.

Gpu 상태 확인 동작
  • GpuEnabled/가 로 true 설정된 경우 컴퓨팅 리소스에서 GPU 상태 점검을 AWS ParallelCluster 수행합니다.

  • Gpu 상태 확인은 컴퓨팅 리소스에서 상태 확인을 수행하여 성능이 저하된 GPU가 있는 노드에서 작업을 제출하지 못하도록 합니다.

  • 컴퓨팅 노드가 Gpu 상태 확인에 실패하면 컴퓨팅 노드 상태가 DRAIN로 변경됩니다. 이 노드에서는 새 작업이 시작되지 않습니다. 기존 작업이 완료될 때까지 실행됩니다. 실행 중인 모든 작업이 완료된 후 동적 노드인 경우 컴퓨팅 노드가 종료되고 정적 노드인 경우 대체됩니다.

  • Gpu 상태 확인 기간은 선택한 인스턴스 유형, 인스턴스의 GPU 수, Gpu 상태 확인 대상 수(작업 GPU 대상 수와 동일)에 따라 다릅니다. GPU가 8개인 인스턴스의 경우 일반적인 지속 시간은 3분 미만입니다.

  • 지원되지 않는 인스턴스에서 Gpu가 상태 확인을 실행하면 인스턴스가 종료되고 작업이 컴퓨팅 노드에서 실행됩니다. 예를 들어 인스턴스에 GPU가 없거나 인스턴스에 GPU가 있지만 NVIDIA GPU가 아닌 경우 상태 확인이 종료되고 작업이 컴퓨팅 노드에서 실행됩니다. NVIDIA GPU만 지원됩니다.

  • Gpu 상태 확인은 dcgmi 도구를 사용하여 노드에서 상태 확인을 수행하고 다음 단계를 수행합니다.

    노드에서 Gpu 상태 확인이 시작되는 경우:

    1. nvidia-dcgmnvidia-fabricmanager 서비스가 실행 중인지 여부를 감지합니다.

    2. 이러한 서비스가 실행되고 있지 않으면 Gpu 상태 확인이 시작됩니다.

    3. 지속성 모드가 활성화되었는지 여부를 감지합니다.

    4. 지속성 모드가 활성화되지 않은 경우 Gpu 상태 확인을 통해 활성화됩니다.

    상태 확인이 끝나면 상태 확인은 Gpu 이러한 서비스와 리소스를 초기 상태로 복원합니다.

  • 작업이 특정 노드 GPU 세트에 할당된 경우 Gpu 상태 확인은 해당 세트에서만 실행됩니다. 그렇지 않으면 노드의 모든 GPU에서 Gpu 상태 확인이 실행됩니다.

  • 컴퓨팅 노드가 2개 이상의 Gpu 상태 확인 요청을 동시에 수신하면 첫 번째 상태 확인만 실행되고 나머지는 건너뛰게 됩니다. 노드 GPU를 대상으로 하는 상태 확인의 경우도 마찬가지입니다. 로그 파일에서 이 상황과 관련된 추가 정보를 확인할 수 있습니다.

  • 특정 컴퓨팅 노드의 상태 확인 로그는 /var/log/parallelcluster/slurm_health_check.log 파일에서 확인할 수 있습니다. 이 파일은 CloudWatch Amazon의 클러스터 CloudWatch 로그 그룹에서 사용할 수 있으며, 여기에서 다음을 찾을 수 있습니다.

    • 서비스 및 지속성 모드의 활성화/비활성화를 포함하여 Gpu 상태 확인에서 실행한 작업에 대한 세부 정보

    • GPU 식별자, 시리얼 ID, UUID.

    • 상태 확인 출력

업데이트 정책: 이 설정은 업데이트 중에 변경할 수 있습니다.

참고

HealthChecks AWS ParallelCluster 버전 3.6.0부터 지원됩니다.

Efa(선택 사항)

Slurm 대기열에 있는 노드의 Elastic Fabric Adapter(EFA) 설정을 지정합니다.

Efa: Enabled: boolean GdrSupport: boolean

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

Enabled(선택 사항, Boolean)

Elastic Fabric Adapter(EFA)를 활성화하도록 지정합니다. EFA를 지원하는 EC2 인스턴스 목록을 보려면 Linux 인스턴스용 Amazon EC2 사용 설명서의 지원되는 인스턴스 유형을 참조하세요. 자세한 내용은 Elastic Fabric Adapter 항목을 참조하세요. 클러스터 SlurmQueues/Networking/PlacementGroup를 사용하여 인스턴스 간 지연 시간을 최소화하는 것이 좋습니다.

기본 값은 false입니다.

참고

여러 가용 영역에 걸친 Elastic Fabric Adapter(EFA)는 지원되지 않습니다. 자세한 내용은 SubnetIds를 참조하세요.

주의

에서 SecurityGroups사용자 지정 보안 그룹을 정의하는 경우 EFA 지원 인스턴스가 자체적으로 모든 인바운드 및 아웃바운드 트래픽을 허용하는 보안 그룹의 구성원이어야 합니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

GdrSupport(선택 사항, Boolean)

(선택 사항) AWS ParallelCluster 버전 3.0.2부터는 이 설정이 적용되지 않습니다. Slurm 컴퓨팅 리소스 및 운영 체제의 인스턴스 유형에서 지원되는 경우 GPUDirect RDMA(remote direct memory access)에 대한 Elastic Fabric Adapter(EFA) 지원이 항상 활성화됩니다.

참고

AWS ParallelCluster 버전 3.0.0에서 3.0.1까지: 컴퓨팅 리소스에 대한 GPUDirect RDMA 지원이 활성화되었습니다. Slurm EFA는 특정 운영 체제(Osalinux2, centos7, ubuntu1804, 또 ubuntu2004)의 특정 인스턴스 유형(p4d.24xlarge)에서 지원됩니다. 기본값은 false입니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

CapacityReservationTarget
CapacityReservationTarget: CapacityReservationId: string CapacityReservationResourceGroupArn: string

컴퓨팅 리소스에 사용할 온디맨드 용량 예약을 지정합니다.

CapacityReservationId(선택 사항, String)

대기열의 컴퓨팅 리소스를 대상으로 하는 기존 용량 예약의 ID입니다. ID는 ML용 ODCR 또는 용량 블록을 참조할 수 있습니다.

이 매개 변수를 컴퓨팅 리소스 수준에서 지정하는 InstanceType 것이 선택 사항인 경우 예약에서 자동으로 검색됩니다.

CapacityReservationResourceGroupArn(선택 사항, String)

컴퓨팅 리소스의 서비스 연결 용량 예약 그룹 역할을 하는 리소스 그룹에 Amazon 리소스 이름(ARN)을 나타냅니다. AWS ParallelCluster 는 그룹에서 가장 적절한 용량 예약을 식별하여 사용합니다. 리소스 그룹에는 컴퓨팅 리소스에 대해 나열된 각 인스턴스 유형에 대해 하나 이상의 ODCR이 있어야 합니다. 자세한 정보는 ODCR(온디맨드 용량 예약)로 인스턴스 시작을 참조하세요.

  • SlurmQueuesSlurmQueuesComputeResources/NetworkingNetworking또는 //에서 활성화된 경우 PlacementGroup 인스턴스 유형을 대상으로 하는 리소스 그룹을 AWS ParallelCluster 선택하고 컴퓨팅 리소스 (있는 경우) 를 PlacementGroup 대상으로 합니다.

    PlacementGroupComputeResources에 정의된 인스턴스 유형 중 하나를 대상으로 해야 합니다.

  • SlurmQueuesSlurmQueuesComputeResources/Networking또는 //에서 PlacementGroup 활성화되지 않은 경우 Networking, 컴퓨팅 리소스의 인스턴스 유형만 대상으로 하는 리소스 그룹 (있는 경우) 을 AWS ParallelCluster 선택합니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

참고

CapacityReservationTarget이 AWS ParallelCluster 버전 3.3.0에 추가되었습니다.

Networking
Networking: PlacementGroup: Enabled: boolean Name: string

업데이트 정책: 관리형 배치 그룹 삭제를 위해서는 모든 컴퓨팅 노드를 중지해야 합니다. 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

PlacementGroup(선택 사항)

컴퓨팅 리소스의 배치 그룹 설정을 지정합니다.

Enabled(선택 사항, Boolean)

컴퓨팅 리소스에 배치 그룹을 사용할지 여부를 나타냅니다.

  • Name가 정의되지 않은 상태로 true로 설정하면 SlurmQueues/Networking/PlacementGroup 설정에 관계없이 해당 컴퓨팅 리소스에 자체 관리형 배치 그룹이 할당됩니다.

  • Name가 정의된 상태로 true로 설정하면 SlurmQueues/Networking/PlacementGroup 설정에 관계없이 해당 컴퓨팅 리소스에 이름이 지정된 배치 그룹이 할당됩니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

Name(선택 사항, String)

컴퓨팅 리소스에 사용되는 기존 클러스터 배치 그룹의 배치 그룹 이름입니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

참고
  • PlacementGroup/EnabledName가 모두 설정되지 않은 경우 각 값이 SlurmQueues/Networking/PlacementGroup로 디폴트됩니다.

  • ComputeResourcesNetworkingPlacementGroup//는 AWS ParallelCluster 버전 3.3.0에 추가되었습니다.

CustomSlurmSettings(선택 사항, Dict)

(선택 사항) 사용자 지정 Slurm 노드(컴퓨팅 리소스) 구성 설정을 정의합니다.

Slurm 노드(컴퓨팅 리소스)에 적용되는 사용자 지정 Slurm 구성 파라미터 키-값 쌍의 사전을 지정합니다.

각 개별 키-값 쌍(예: Param1: Value1)은 Slurm 노드 구성 라인 끝에 Param1=Value1 형식으로 별도로 추가됩니다.

CustomSlurmSettings 거부 목록에 없는 Slurm 구성 파라미터만 지정할 수 있습니다. 거부 목록에 있는 Slurm 구성 파라미터에 관한 자세한 내용은 CustomSlurmSettings을 위한 거부 목록에 등록된 Slurm 구성 파라미터를 참조하세요.

AWS ParallelCluster 매개 변수가 거부 목록에 있는지 여부만 확인합니다. AWS ParallelCluster 사용자 지정 Slurm 구성 매개변수 구문이나 의미 체계를 검증하지 않습니다. 사용자 지정 Slurm 구성 파라미터의 유효성을 검사하는 것은 사용자의 책임입니다. 잘못된 사용자 지정 Slurm 구성 파라미터로 인해 Slurm 대몬(daemon) 장애가 발생하여 클러스터 생성 및 업데이트 실패로 이어질 수 있습니다.

를 사용하여 사용자 지정 Slurm 구성 매개변수를 지정하는 방법에 대한 자세한 내용은 을 AWS ParallelCluster참조하십시오. Slurm 구성 사용자 지정

Slurm 구성 파라미터에 대한 자세한 내용은 Slurm의 slurm.conf를 참조하세요.

업데이트 정책: 이 설정은 업데이트 중에 변경할 수 있습니다.

참고

CustomSlurmSettings은 AWS ParallelCluster 버전 3.6.0부터 지원됩니다.

Tags(선택 사항, [문자열])

태그 키-값 쌍의 목록입니다. ComputeResource 태그는 Tags 섹션 또는 SlurmQueues/Tags에 지정된 중복 태그보다 우선합니다.

Key(선택 사항, String)

태그 키

Value(선택 사항, String)

태그 값

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

ComputeSettings

(필수) Slurm 대기열의 ComputeSettings 구성을 정의합니다.

ComputeSettings 속성

Slurm 대기열에 있는 ComputeSettings 노드의 속성을 지정합니다.

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

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

LocalStorage(선택 사항)

Slurm 대기열에 있는 LocalStorage 노드의 속성을 지정합니다.

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)

Slurm 대기열에 있는 노드의 루트 볼륨 크기를 기비바이트(GiB) 단위로 지정합니다. 기본 크기는 AMI에서 가져옵니다. 다른 크기를 사용하려면 AMI에서 growroot를 지원해야 합니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

Encrypted(선택 사항, Boolean)

true 경우 Slurm 대기열에 있는 노드의 루트 볼륨이 암호화됩니다. 기본 값은 false입니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

VolumeType(선택 사항, String)

Slurm 대기열에 있는 노드의 Amazon EBS 볼륨 유형을 지정합니다. 지원되는 값은 gp2, gp3, io1, io2, sc1, st1, standard입니다. 기본 값은 gp3입니다.

자세한 내용을 알아보려면 Amazon EC2 사용 설명서Amazon EBS 볼륨 유형을 참조하세요.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

Iops(선택 사항, Boolean)

io1, io2, gp3 유형 볼륨의 IOPS 수를 정의합니다.

기본 값, 지원되는 값, volume_iops:volume_size 비율은 VolumeTypeSize에 따라 달라집니다.

VolumeType = io1

기본 Iops = 100

지원되는 값 Iops = 100~64000†

최대 volume_iopsvolume_size의 비율 = 50IOPS/GiB. 5000 IOPS는 최소 100GiB의 volume_size가 필요합니다.

VolumeType = io2

기본 Iops = 100

지원되는 값 Iops = 100~64000(io2 Block Express 볼륨의 경우 256000)†

최대 IopsSize 비율 = 500IOPS/GiB. 5000 IOPS에는 최소 10GiB의 Size가 필요합니다.

VolumeType = gp3

기본 Iops = 3000

지원되는 값 Iops = 3000-16000 †

최대 Iops:Size 비율 = IOPS가 3000보다 큰 볼륨의 경우 GiB당 500 IOPS입니다.

† 최대 IOPS는 32,000 IOPS 이상으로 프로비저닝된 Nitro 시스템에 구축된 인스턴스에서만 보장됩니다. 다른 인스턴스는 최대 32,000 IOPS를 가질 수 있습니다. 이전 io1 볼륨은 볼륨을 수정하지 않는 한 전체 성능에 도달할 수 없습니다. io2 블록 익스프레스 볼륨은 R5b 인스턴스 유형에서 최대 256000의 volume_iops 값을 지원합니다. 자세한 내용은 Amazon EC2 사용 설명서의 io2 블록 익스프레스 볼륨을 참조하십시오.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

Throughput(선택 사항, Integer)

gp3 볼륨 유형의 처리량을 MiB/s 단위로 정의합니다. 이 설정은 VolumeTypegp3일 때만 유효합니다. 기본 값은 125입니다. 지원되는 값: 125-1000MiB/s

Throughput:Iops의 비율은 0.25를 초과할 수 없습니다. 1000MiB/s의 최대 처리량을 위해서는 Iops 설정이 최소 4000이어야 합니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

EphemeralVolume(선택 사항, Boolean)

임시 볼륨의 설정을 지정합니다. 임시 볼륨은 모든 인스턴스 스토어 볼륨을 ext4 파일 시스템으로 포맷된 단일 논리 볼륨으로 결합하여 생성됩니다. 기본값은 /scratch입니다. 인스턴스 스토어 볼륨이 없는 인스턴스 유형의 경우 임시 볼륨이 생성되지 않습니다. 자세한 내용은 Amazon EC2 사용 설명서인스턴스 스토어 볼륨을 참조하세요.

EphemeralVolume: MountDir: string

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

MountDir(선택 사항, String)

Slurm 대기열에 있는 각 노드에 대한 임시 볼륨의 탑재 디렉터리입니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

CustomActions

(선택 사항) Slurm 대기열 내 노드상에서 실행할 사용자 지정 스크립트를 지정합니다.

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

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

CustomActions 속성
OnNodeStart(선택 사항, String)

노드 배포 부트스트랩 작업이 시작되기 전에 Slurm 대기열의 노드에서 실행할 스크립트 시퀀스 또는 단일 스크립트를 지정합니다. AWS ParallelCluster 는 동일한 사용자 지정 작업에 단일 스크립트와 Sequence를 모두 포함하는 것은 지원하지 않습니다. 자세한 내용은 사용자 지정 부트스트랩 작업 항목을 참조하세요.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

OnNodeConfigured(선택 사항, String)

노드 부트스트랩 작업이 모두 완료된 후 Slurm 대기열의 노드에서 실행할 스크립트 시퀀스 또는 단일 스크립트를 지정합니다. AWS ParallelCluster 는 동일한 사용자 지정 작업에 단일 스크립트와 Sequence를 모두 포함하는 것은 지원하지 않습니다. 자세한 내용은 사용자 지정 부트스트랩 작업 항목을 참조하세요.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지하거나 QueueUpdateStrategy를 설정해야 합니다.

참고

Sequence AWS ParallelCluster 버전 3.6.0부터 추가되었습니다. 지정하는 Sequence 경우 사용자 지정 작업에 사용할 여러 스크립트를 나열할 수 있습니다. AWS ParallelCluster 스크립트는 포함하지 않고 단일 스크립트로 사용자 정의 액션을 구성할 수 있도록 계속 지원합니다Sequence.

AWS ParallelCluster 단일 스크립트와 Sequence 동일한 사용자 지정 작업을 모두 포함하는 것은 지원하지 않습니다.

Iam

(선택 사항) Slurm 대기열의 선택적 IAM 설정을 정의합니다.

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 설정을 지정할 수 없습니다.

S3Access에 추가된 특성은 새로운 권한을 요구하는 경우가 많으므로 AdditionalIamPolicies 및 AWS ParallelCluster 중 하나 또는 모두를 지정하는 것이 좋습니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.

InstanceRole(선택 사항, String)

Slurm 대기열의 기본 인스턴스 역할 또는 인스턴스 프로파일을 재정의할 인스턴스 역할을 지정합니다. InstanceProfileInstanceRole를 둘 다 지정할 수 없습니다. 형식은 arn:${Partition}:iam::${Account}:role/${RoleName}입니다.

이를 지정하면 S3AccessAdditionalIamPolicies 설정을 지정할 수 없습니다.

S3Access에 추가된 특성은 새로운 권한을 요구하는 경우가 많으므로 AdditionalIamPolicies 및 AWS ParallelCluster 중 하나 또는 모두를 지정하는 것이 좋습니다.

업데이트 정책: 이 설정은 업데이트 중에 변경할 수 있습니다.

S3Access(선택 사항)

Slurm 대기열의 버킷을 지정합니다. 이는 Slurm 대기열의 버킷에 지정된 액세스 권한을 부여하는 정책을 생성하는 데 사용됩니다.

이를 지정하면 InstanceProfileInstanceRole 설정을 지정할 수 없습니다.

S3Access에 추가된 특성은 새로운 권한을 요구하는 경우가 많으므로 AdditionalIamPolicies 및 AWS ParallelCluster 중 하나 또는 모두를 지정하는 것이 좋습니다.

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

업데이트 정책: 이 설정은 업데이트 중에 변경할 수 있습니다.

BucketName(필수, String)

버킷의 이름입니다.

업데이트 정책: 이 설정은 업데이트 중에 변경할 수 있습니다.

KeyName(선택 사항, String)

버킷의 키입니다. 기본 값은 *입니다.

업데이트 정책: 이 설정은 업데이트 중에 변경할 수 있습니다.

EnableWriteAccess(선택 사항, Boolean)

버킷에 대해 쓰기 액세스가 활성화되어 있는지 여부를 나타냅니다.

업데이트 정책: 이 설정은 업데이트 중에 변경할 수 있습니다.

AdditionalIamPolicies(선택 사항)

Amazon EC2에 대한 IAM 정책의 Amazon 리소스 이름(ARN) 목록을 쉼표로 구분하여 지정합니다. 이 목록은 에서 요구하는 권한 외에도 Slurm 대기열에 사용되는 루트 역할에 첨부됩니다 AWS ParallelCluster.

IAM 정책 이름과 해당 ARN은 서로 다릅니다. 이름은 사용할 수 없습니다.

이를 지정하면 InstanceProfileInstanceRole 설정을 지정할 수 없습니다.

AdditionalIamPolicies을 사용하는 것이 좋습니다. AWS ParallelCluster 가 요구하는 권한에 AdditionalIamPolicies가 추가되며, InstanceRole에는 요구되는 권한이 모두 포함되어 있어야 하기 때문입니다. 기능이 추가됨에 따라 필요한 권한은 종종 릴리스마다 변경됩니다.

기본값이 없습니다.

AdditionalIamPolicies: - Policy: string

업데이트 정책: 이 설정은 업데이트 중에 변경할 수 있습니다.

SlurmSettings

(선택 사항) 전체 클러스터에 적용되는 Slurm 설정을 정의합니다.

SlurmSettings: ScaledownIdletime: integer QueueUpdateStrategy: string EnableMemoryBasedScheduling: boolean CustomSlurmSettings: [dict] CustomSlurmSettingsIncludeFile: string Database: Uri: string UserName: string PasswordSecretArn: string Dns: DisableManagedDns: boolean HostedZoneId: string UseEc2Hostnames: boolean

SlurmSettings 속성

ScaledownIdletime(선택 사항, Integer)

작업이 없고 Slurm 노드가 종료되는 시간(분)을 정의합니다.

기본 값은 10입니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.

MungeKeySecretArn(선택 사항, String)

Slurm 클러스터에서 사용할 base64로 인코딩된 먼지 키가 포함된 일반 텍스트 Secrets AWS Manager 시크릿의 Amazon 리소스 이름 (ARN) 입니다. 이 Munge 키는 Slurm 클라이언트 명령과 원격 서버 역할을 하는 Slurm 데몬 간의 RPC 호출을 인증하는 데 사용됩니다. MungeKeySecretArn 제공되지 AWS ParallelCluster 않으면 클러스터에 대한 임의의 Munge 키가 생성됩니다.

참고

MungeKeySecretArn AWS ParallelCluster 버전 3.8.0부터 지원됩니다.

주의

MungeKeySecretArn 가 기존 클러스터에 새로 추가된 경우, ParallelCluster 롤백 시 또는 나중에 제거할 때 이전 Munge Key가 복원되지 않습니다. MungeKeySecretArn 대신 무작위 Munge 키가 새로 생성됩니다.

AWS ParallelCluster 사용자에게 해당 특정 비밀 리소스에 DescribeSecret대한 권한이 있는지 여부가 MungeKeySecretArn 확인됩니다. MungeKeySecretArn 다음과 같은 경우에 유효합니다.

  • 지정된 비밀이 존재하고

  • 암호는 일반 텍스트이며 유효한 base64로 인코딩된 문자열을 포함합니다.

  • 디코딩된 바이너리 먼지 키의 크기는 256비트에서 8192비트 사이입니다.

pcluster 사용자 IAM 정책에 이 포함되지 DescribeSecret 않은 경우 MungeKeySecretArn 유효성이 검사되지 않고 경고 메시지가 표시됩니다. 자세한 정보는 기본 AWS ParallelCluster pcluster 사용자 정책을 참조하세요.

업데이트할 MungeKeySecretArn 때 컴퓨팅 플릿과 모든 로그인 노드를 중지해야 합니다.

ARN이 동일하게 유지되는 동안 비밀 ARN의 보안 값이 수정되는 경우 클러스터는 새 munge 키로 자동 업데이트되지 않습니다. 비밀 ARN의 새 munge 키를 사용하려면 컴퓨팅 플릿과 로그인 노드를 중지한 다음 헤드 노드에서 다음 명령을 실행해야 합니다.

sudo /opt/parallelcluster/scripts/slurm/update_munge_key.sh

명령을 실행한 후 컴퓨팅 플릿과 로그인 노드를 모두 재개할 수 있습니다. 새로 프로비저닝된 컴퓨팅 및 로그인 노드는 새 munge 키를 사용하여 자동으로 시작됩니다.

Base64로 인코딩된 사용자 지정 먼지 키를 생성하려면 Munge 소프트웨어와 함께 배포된 Mungekey 유틸리티를 사용한 다음 OS에서 일반적으로 사용할 수 있는 base64 유틸리티를 사용하여 이를 인코딩하면 됩니다. 또는 bash를 사용할 수도 있습니다 (bs 파라미터를 32에서 1024 사이로 설정하십시오).

dd if=/dev/random bs=128 count=1 2>/dev/null | base64 -w 0

또는 Python은 다음과 같습니다.

import random import os import base64 # key length in bytes key_length=128 base64.b64encode(os.urandom(key_length)).decode("utf-8")

업데이트 정책: COMPUTE FLEET 및 로그인 노드가 중지된 새 업데이트 정책 (3.7.0에서 잘못 추가되지 않음).

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은 AWS ParallelCluster 버전 3.2.0부터 지원됩니다.

EnableMemoryBasedScheduling(선택 사항, Boolean)

true이면 Slurm에 메모리 기반 스케줄링이 활성화됩니다. 자세한 내용은SlurmQueues/ComputeResources/SchedulableMemory 항목을 참조하세요.

기본 값은 false입니다.

주의

메모리 기반 스케줄링을 활성화하면 Slurm 스케줄러가 작업 및 노드 할당을 처리하는 방식에 영향을 줍니다.

자세한 내용은 Slurm 메모리 기반 스케줄링 항목을 참조하세요.

참고

EnableMemoryBasedScheduling은 AWS ParallelCluster 버전 3.2.0부터 지원됩니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.

CustomSlurmSettings(선택 사항, [Dict])

전체 클러스터에 적용되는 사용자 지정 Slurm 설정을 정의합니다.

AWS ParallelCluster 가 생성하는 slurm.conf 파일 끝에 추가할 키-값 쌍의 Slurm 구성 사전 목록을 지정합니다.

목록의 각 사전은 Slurm 구성 파일에 추가된 별도의 줄로 표시됩니다. 단순 또는 복합 파라미터를 지정할 수 있습니다.

단순 파라미터는 다음 예제와 같이 단일 키 쌍으로 구성됩니다.

- Param1: 100 - Param2: "SubParam1,SubParam2=SubValue2"

Slurm 구성으로 렌더링된 예제:

Param1=100 Param2=SubParam1,SubParam2=SubValue2

복잡한 Slurm 구성 파라미터는 다음 예제와 같이 공백으로 구분된 여러 키-값 쌍으로 구성됩니다.

- NodeName: test-nodes[1-10] CPUs: 4 RealMemory: 4196 ... # other node settings - NodeSet: test-nodeset Nodes: test-nodes[1-10] ... # other nodeset settings - PartitionName: test-partition Nodes: test-nodeset ... # other partition settings

Slurm 구성으로 렌더링된 예제:

NodeName=test-nodes[1-10] CPUs=4 RealMemory=4196 ... # other node settings NodeSet=test-nodeset Nodes=test-nodes[1-10] ... # other nodeset settings PartitionName=test-partition Nodes=test-nodeset ... # other partition settings
참고

사용자 지정 Slurm 노드의 이름에 -st- 또는 -dy- 패턴을 포함해서는 안 됩니다. 이러한 패턴은 AWS ParallelCluster가 관리하는 노드에만 사용됩니다.

CustomSlurmSettings에서 사용자 지정 Slurm 구성 파라미터를 지정하는 경우 CustomSlurmSettingsIncludeFile에 대한 사용자 지정 Slurm 구성 파라미터를 지정해서는 안 됩니다.

CustomSlurmSettings 거부 목록에 없는 Slurm 구성 파라미터만 지정할 수 있습니다. 거부 목록에 있는 Slurm 구성 파라미터에 관한 자세한 내용은 CustomSlurmSettings을 위한 거부 목록에 등록된 Slurm 구성 파라미터를 참조하세요.

AWS ParallelCluster 파라미터가 거부 목록에 있는지 여부만 확인합니다. AWS ParallelCluster 사용자 지정 Slurm 구성 매개변수 구문이나 의미 체계를 검증하지 않습니다. 사용자 지정 Slurm 구성 파라미터의 유효성을 검사하는 것은 사용자의 책임입니다. 잘못된 사용자 지정 Slurm 구성 파라미터로 인해 Slurm 대몬(daemon) 장애가 발생하여 클러스터 생성 및 업데이트 실패로 이어질 수 있습니다.

를 사용하여 사용자 지정 Slurm 구성 매개변수를 지정하는 방법에 대한 자세한 내용은 을 AWS ParallelCluster참조하십시오. Slurm 구성 사용자 지정

Slurm 구성 파라미터에 대한 자세한 내용은 Slurm의 slurm.conf를 참조하세요.

업데이트 정책: 이 설정은 업데이트 중에 변경할 수 있습니다.

참고

CustomSlurmSettings은 AWS ParallelCluster 버전 3.6.0부터 지원됩니다.

CustomSlurmSettingsIncludeFile(선택 사항, String)

전체 클러스터에 적용되는 사용자 지정 Slurm 설정을 정의합니다.

AWS ParallelCluster 가 생성하는 slurm.conf 파일 끝에 추가할 사용자 지정 Slurm 구성 파라미터로 구성된 사용자 지정 Slurm 파일을 지정합니다.

파일의 경로를 포함해야 합니다. 경로는 https:// 또는 s3://로 시작되어야 합니다.

CustomSlurmSettingsIncludeFile의 사용자 지정 Slurm 구성 파라미터를 지정하는 경우 CustomSlurmSettings에 대한 사용자 지정 Slurm 구성 파라미터를 지정해서는 안 됩니다.

참고

사용자 지정 Slurm 노드의 이름에 -st- 또는 -dy- 패턴을 포함해서는 안 됩니다. 이러한 패턴은 AWS ParallelCluster가 관리하는 노드에만 사용됩니다.

CustomSlurmSettingsIncludeFile 거부 목록에 없는 Slurm 구성 파라미터만 지정할 수 있습니다. 거부 목록에 있는 Slurm 구성 파라미터에 관한 자세한 내용은 CustomSlurmSettings을 위한 거부 목록에 등록된 Slurm 구성 파라미터를 참조하세요.

AWS ParallelCluster 매개변수가 거부 목록에 있는지 여부만 확인합니다. AWS ParallelCluster 사용자 지정 Slurm 구성 매개변수 구문이나 의미 체계를 검증하지 않습니다. 사용자 지정 Slurm 구성 파라미터의 유효성을 검사하는 것은 사용자의 책임입니다. 잘못된 사용자 지정 Slurm 구성 파라미터로 인해 Slurm 대몬(daemon) 장애가 발생하여 클러스터 생성 및 업데이트 실패로 이어질 수 있습니다.

를 사용하여 사용자 지정 Slurm 구성 매개변수를 지정하는 방법에 대한 자세한 내용은 을 AWS ParallelCluster참조하십시오. Slurm 구성 사용자 지정

Slurm 구성 파라미터에 대한 자세한 내용은 Slurm의 slurm.conf를 참조하세요.

업데이트 정책: 이 설정은 업데이트 중에 변경할 수 있습니다.

참고

CustomSlurmSettings은 AWS ParallelCluster 버전 3.6.0부터 지원됩니다.

Database

(선택 사항) 클러스터에서 Slurm 회계를 활성화하기 위한 설정을 정의합니다. 자세한 내용은 Slurm회계 담당자: AWS ParallelCluster 항목을 참조하세요.

Database: Uri: string UserName: string PasswordSecretArn: string

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.

Database 속성

Uri(필수, String)

Slurm 회계의 백엔드로 사용되는 데이터베이스 서버의 주소입니다. 이 URI는 host:port 형식을 따라야 하며 mysql://과 같은 체계를 포함해서는 안 됩니다. 호스트는 헤드 노드에서 확인할 수 있는 IP 주소 또는 DNS 이름일 수 있습니다. 포트가 제공되지 않은 경우 AWS ParallelCluster 은 MySQL 기본 포트 3306을 사용합니다.

AWS ParallelCluster Slurm계정 데이터베이스를 클러스터에 부트스트랩하므로 데이터베이스에 액세스해야 합니다.

다음과 같은 상황이 발생하기 전에 데이터베이스에 연결할 수 있어야 합니다.

  • 클러스터가 생성됩니다.

  • Slurm 회계가 클러스터 업데이트로 활성화됩니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.

UserName(필수, String)

Slurm가 데이터베이스에 연결하고, 계정 로그를 작성하고, 쿼리를 수행하는 데 사용되는 ID 사용자에게 데이터베이스에 대한 읽기 및 쓰기 권한이 모두 있어야 합니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.

PasswordSecretArn(필수, String)

UserName일반 텍스트 비밀번호가 포함된 AWS Secrets Manager 비밀번호의 Amazon 리소스 이름 (ARN). 이 비밀번호는 데이터베이스 서버에서 인증하기 위해 UserName 및 Slurm 회계와 함께 사용됩니다.

참고

AWS Secrets Manager 콘솔을 사용하여 암호를 생성할 때는 “기타 유형의 암호”를 선택하고 일반 텍스트를 선택한 다음 암호 텍스트만 암호에 포함해야 합니다.

암호를 만드는 AWS Secrets Manager 데 사용하는 방법에 대한 자세한 내용은 암호 만들기를 참조하십시오. AWS Secrets Manager

사용자에게 DescribeSecret권한이 있는 경우 PasswordSecretArn 유효성이 확인됩니다. PasswordSecretArn지정된 비밀이 존재할 경우 유효합니다. 사용자 IAM 정책이 DescribeSecret을 포함하지 않는 경우 PasswordSecretArn가 검증되지 않고 경고 메시지가 표시됩니다. 자세한 내용은 기본 AWS ParallelCluster pcluster 사용자 정책 항목을 참조하세요.

PasswordSecretArn를 업데이트할 때는 컴퓨팅 플릿을 중지해야 합니다. 암호 값이 변경되고 암호 ARN이 변경되지 않는 경우 클러스터는 새 데이터베이스 암호로 자동 업데이트되지 않습니다. 새 암호 값에 맞게 클러스터를 업데이트하려면 컴퓨팅 플릿이 중지된 후 헤드 노드 내에서 다음 명령을 실행해야 합니다.

$ sudo /opt/parallelcluster/scripts/slurm/update_slurm_database_password.sh
주의

계정 데이터가 손실되지 않도록 컴퓨팅 플릿이 중지된 경우에만 데이터베이스 비밀번호를 변경하는 것이 좋습니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.

DatabaseName(선택 사항, String)

Slurm Accounting에 사용할 데이터베이스 서버의 데이터베이스 이름 (Uri 매개 변수로 정의됨).

데이터베이스 이름에는 소문자, 숫자, 밑줄이 포함될 수 있습니다. 이름은 64자를 초과할 수 없습니다.

이 매개변수는 slurmdbd.conf의 StorageLoc 매개변수에 매핑됩니다.

DatabaseName지정되지 않은 경우 ParallelCluster 클러스터 이름을 사용하여 값을 정의합니다. StorageLoc

DatabaseName업데이트는 허용되며, 다음 사항을 고려하면 다음과 같습니다.

  • 이름이 있는 데이터베이스가 데이터베이스 서버에 아직 DatabaseName 없는 경우 slurmdbd는 데이터베이스를 생성합니다. 필요에 따라 새 데이터베이스를 재구성하는 것은 사용자의 책임입니다 (예: 클러스터, 계정, 사용자, 연결, QoS 등).

  • 데이터베이스 서버에 이름이 있는 데이터베이스가 DatabaseName 이미 있는 경우 slurmdbd는 해당 데이터베이스를 Slurm Accounting 기능에 사용합니다.

업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.

참고

Database이 릴리스 3.3.0부터 추가됩니다.

Dns

(선택 사항) 전체 클러스터에 적용되는 Slurm 설정을 정의합니다.

Dns: DisableManagedDns: boolean HostedZoneId: string UseEc2Hostnames: boolean

Dns 속성

DisableManagedDns(선택 사항, Boolean)

true이면 클러스터의 DNS 항목이 생성되지 않고 Slurm 노드 이름을 확인할 수 없습니다.

기본적으로 시작 시 노드가 등록되는 Route 53 호스팅 영역을 AWS ParallelCluster 생성합니다. 기본 값은 false입니다. DisableManagedDnstrue 설정하면 에서 호스팅 영역을 생성하지 않습니다 AWS ParallelCluster.

이 설정을 사용하여 인터넷에 액세스할 수 없는 서브넷에 클러스터를 배포하는 방법을 알아보려면 인터넷에 액세스할 수 없는 단일 서브넷의 AWS ParallelCluster을 참조하세요.

주의

클러스터가 제대로 작동하려면 이름 확인 시스템이 필요합니다. DisableManagedDnstrue로 설정되어 있으면 이름 확인 시스템을 제공해야 합니다. EC2 기본 DNS를 사용하려면 UseEc2Hostnamestrue로 설정합니다. 또는 자체 DNS 해석기를 구성하고 인스턴스 시작 시 노드 이름이 등록되도록 하세요. 예를 들어 CustomActions/OnNodeStart를 구성하여 이 작업을 수행할 수 있습니다.

업데이트 정책: 이 설정을 변경하면 업데이트가 허용되지 않습니다.

HostedZoneId(선택 사항, String)

클러스터의 DNS 이름 확인에 사용할 사용자 지정 Route 53 호스팅 영역 ID를 정의합니다. 제공된 경우 지정된 호스팅 영역에 클러스터 노드를 AWS ParallelCluster 등록하고 관리형 호스팅 영역을 생성하지 않습니다.

업데이트 정책: 이 설정을 변경하면 업데이트가 허용되지 않습니다.

UseEc2Hostnames(선택 사항, Boolean)

true이면 클러스터 컴퓨팅 노드가 기본 EC2 호스트 이름으로 구성됩니다. 또한 Slurm NodeHostName가 이 정보로 업데이트됩니다. 기본값은 false입니다.

이 설정을 사용하여 인터넷에 액세스할 수 없는 서브넷에 클러스터를 배포하는 방법을 알아보려면 인터넷에 액세스할 수 없는 단일 서브넷의 AWS ParallelCluster을 참조하세요.

참고

이 노트는 AWS ParallelCluster 버전 3.3.0부터는 관련이 없습니다.

3.3.0 이전 AWS ParallelCluster 지원 버전의 경우:

UseEc2Hostnames가 로 true 설정된 경우 Slurm 구성 파일은 및 스크립트와 함께 설정됩니다. AWS ParallelCluster prolog epilog

  • prolog를 실행하여 각 작업이 할당될 때 컴퓨팅 노드의 /etc/hosts에 노드 정보를 추가합니다.

  • epilog를 실행하여 prolog가 작성한 내용을 정리합니다.

사용자 정의 prolog 또는 epilog 스크립트를 추가하려면 각각 /opt/slurm/etc/pcluster/prolog.d/ 또는 /opt/slurm/etc/pcluster/epilog.d/ 폴더에 추가하세요.

업데이트 정책: 이 설정을 변경하면 업데이트가 허용되지 않습니다.