Seção Scheduling - AWS ParallelCluster

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Seção Scheduling

(Obrigatório) Define o programador de trabalhos usado no cluster e as instâncias de computação que o programador de trabalhos gerencia. Você pode usar o Slurm ou AWS Batch agendador. Cada um oferece suporte a um conjunto diferente de configurações e propriedades.

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 ExternalSlurmdbd: boolean Host: string Port: integer 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

Propriedades do Scheduling

Scheduler (Obrigatório, String)

Especifica o tipo de programador usado. Os valores compatíveis são slurm e awsbatch.

Política de atualização: se essa configuração for alterada, a atualização não será permitida.

nota

awsbatch suporta apenas o sistema operacional alinux2 e a plataforma x86_64.

ScalingStrategy (Opcional, String)

Permite que você escolha o quão dinâmico Slurm os nós aumentam de escala. Os valores suportados sãoall-or-nothing, greedy-all-or-nothing e best-effort o valor padrão éall-or-nothing.

Política de atualização: essa configuração pode ser alterada durante uma atualização.

nota

A estratégia de escalabilidade se aplica somente aos nós a serem retomados pelo Slurm, não aos nós que eventualmente já estão em execução.

  • all-or-nothingEssa estratégia segue estritamente uma all-or-nothing-approach, com o objetivo de evitar instâncias ociosas no final do processo de escalabilidade. Ele opera em uma all-or-nothing base, o que significa que ele se expande completamente ou não cresce. Esteja ciente de que pode haver custos adicionais devido a instâncias lançadas temporariamente, quando os trabalhos exigem mais de 500 nós ou abrangem vários recursos computacionais. Essa estratégia tem o menor rendimento entre as três estratégias de escalonamento possíveis. O tempo de escalonamento depende do número de trabalhos enviados por Slurm retomar a execução do programa. Além disso, você não pode escalar muito além do limite padrão da conta de RunInstances recursos por execução, que é de 1000 instâncias por padrão. Mais detalhes podem ser encontrados na documentação de EC2APIlimitação da Amazon

  • greedy-all-or-nothing Semelhante à all-or-nothing estratégia, ela visa evitar instâncias ociosas após o escalonamento. Essa estratégia permite a superescalabilidade temporária durante o processo de escalabilidade para obter uma taxa de transferência maior do que a all-or-nothing abordagem, mas também vem com o mesmo limite de escalabilidade de 1.000 instâncias de acordo com o limite da conta de recursos. RunInstances

  • best-effort Essa estratégia prioriza a alta taxa de transferência, mesmo que isso signifique que algumas instâncias possam ficar inativas no final do processo de escalabilidade. Ele tenta alocar quantos nós forem solicitados pelos trabalhos, mas existe a possibilidade de não atender a solicitação inteira. Diferentemente das outras estratégias, a abordagem de melhor esforço pode acumular mais instâncias do que o RunInstances limite padrão, ao custo de ter recursos ociosos ao longo das várias execuções do processo de escalabilidade.

Cada estratégia é projetada para atender às diferentes necessidades de escalabilidade, permitindo que você selecione uma que atenda aos seus requisitos e restrições específicos.

AwsBatchQueues

(Opcional) As configurações da AWS Batch fila. Somente uma fila é suportada. Se Scheduler estiver definido como awsbatch, essa seção é obrigatória. Para obter mais informações sobre o programador awsbatch, consulte configuração de redes e Usando o agendador AWS Batch (awsbatch) com AWS ParallelCluster.

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

Política de atualização: essa configuração pode ser alterada durante uma atualização.

Propriedades do AwsBatchQueues

Name (Obrigatório, String)

O nome da AWS Batch fila.

Política de atualização: se essa configuração for alterada, a atualização não será permitida.

CapacityType (Opcional, String)

O tipo de recursos computacionais que a AWS Batch fila usa. Os valores suportados sãoONDEMAND, SPOT ouCAPACITY_BLOCK. O valor padrão é ONDEMAND.

nota

Se você definir CapacityType como SPOT, sua conta deverá conter uma função vinculada ao serviço AWSServiceRoleForEC2Spot. Você pode criar essa função usando o AWS CLI comando a seguir.

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

Para obter mais informações, consulte Função vinculada ao serviço para solicitações de instâncias spot no Guia EC2 do usuário da Amazon Amazon para instâncias Linux.

Política de atualização: a frota de computação deve ser interrompida para que essa configuração seja alterada para uma atualização.

Networking

(Obrigatório) Define a configuração de rede para a AWS Batch fila.

Networking: SubnetIds: - string AssignPublicIp: boolean SecurityGroups: - string AdditionalSecurityGroups: - string
Propriedades do Networking
SubnetIds (Obrigatório, [String])

Especifica o ID de uma sub-rede existente para provisionar a AWS Batch fila. No momento, somente uma sub-rede é compatível.

Política de atualização: a frota de computação deve ser interrompida para que essa configuração seja alterada para uma atualização.

AssignPublicIp (Opcional, String)

Cria ou atribui um endereço IP público aos nós na AWS Batch fila. Os valores compatíveis são true e false. O padrão depende da sub-rede que você especificou.

Política de atualização: se essa configuração for alterada, a atualização não será permitida.

SecurityGroups (Opcional, [String])

Lista de grupos de segurança que a AWS Batch fila usa. Se você não especificar grupos de segurança, AWS ParallelCluster cria novos grupos de segurança.

Política de atualização: essa configuração pode ser alterada durante uma atualização.

AdditionalSecurityGroups (Opcional, [String])

Lista de grupos de segurança que a AWS Batch fila usa.

Política de atualização: essa configuração pode ser alterada durante uma atualização.

ComputeResources

(Obrigatório) Define a ComputeResources configuração da AWS Batch fila.

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
Propriedades do ComputeResources
Name (Obrigatório, String)

O nome do ambiente de computação da AWS Batch fila.

Política de atualização: a frota de computação deve ser interrompida para que essa configuração seja alterada para uma atualização.

InstanceTypes (Obrigatório, [String])

A matriz de tipos AWS Batch de instância do ambiente computacional. Todos os tipos de instância devem usar a arquitetura x86_64.

Política de atualização: a frota de computação deve ser interrompida para que essa configuração seja alterada para uma atualização.

MinvCpus (Opcional, Integer)

O número mínimo VCPUs que um ambiente AWS Batch computacional pode usar.

Política de atualização: essa configuração pode ser alterada durante uma atualização.

DesiredVcpus (Opcional, Integer)

O número desejado de VCPUs no ambiente AWS Batch computacional. AWS Batch ajusta esse valor entre MinvCpus e MaxvCpus com base na demanda na fila de trabalhos.

Política de atualização: essa configuração não é analisada durante uma atualização.

MaxvCpus (Opcional, Integer)

O número máximo de VCPUs para o ambiente AWS Batch computacional. Você não pode definir isso para um valor menor que o DesiredVcpus.

Política de atualização: essa configuração não pode ser diminuída durante uma atualização.

SpotBidPercentage (Opcional, Float)

A porcentagem máxima do preço sob demanda para o tipo de instância que o preço de uma Instância EC2 Spot da Amazon pode atingir antes que as instâncias sejam lançadas. O valor padrão é 100 (100%). O intervalo compatível é 1-100.

Política de atualização: essa configuração pode ser alterada durante uma atualização.

SlurmQueues

(Opcional) Configurações para o Slurm queue. Se Scheduler estiver definido como slurm, essa seção é obrigatória.

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

Política de atualização: para essa configuração de valores de lista, um novo valor pode ser adicionado durante uma atualização ou a frota de computação deve ser interrompida ao remover um valor existente.

Propriedades do SlurmQueues

Name (Obrigatório, String)

O nome do Slurm queue.

nota

O tamanho do cluster pode mudar durante uma atualização. Para obter mais informações, consulte Capacidade, tamanho e atualização do cluster

Política de atualização: se essa configuração for alterada, a atualização não será permitida.

CapacityReservationTarget
nota

CapacityReservationTargeté adicionado com a AWS ParallelCluster versão 3.3.0.

CapacityReservationTarget: CapacityReservationId: string CapacityReservationResourceGroupArn: string

Especifica a reserva de capacidade sob demanda para os recursos de computação da fila.

CapacityReservationId (Opcional, String)

O ID da reserva de capacidade existente a ser direcionada para os recursos de computação da fila. O ID pode se referir a um ODCRou a um bloco de capacidade para ML.

A reserva deve usar a mesma plataforma usada pela instância. Por exemplo, se suas instâncias são executadas em rhel8, sua reserva de capacidade deve ser executada na plataforma Red Hat Enterprise Linux. Para obter mais informações, consulte Plataformas suportadas no Guia EC2 do usuário da Amazon para instâncias Linux.

nota

Se você incluir Instances na configuração do cluster, deverá excluir essa configuração de nível de fila da configuração CapacityReservationId.

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

CapacityReservationResourceGroupArn (Opcional, String)

O Amazon Resource Name (ARN) do grupo de recursos que serve como grupo vinculado ao serviço de reservas de capacidade para os recursos computacionais da fila. AWS ParallelCluster identifica e usa a reserva de capacidade mais adequada do grupo de recursos com base nas seguintes condições:

O grupo de recursos deve ter pelo menos um ODCR para cada tipo de instância reservado em uma zona de disponibilidade em todos os recursos computacionais e zonas de disponibilidade da fila. Para obter mais informações, consulte Execute instâncias com reservas de capacidade sob demanda () ODCR.

Para obter mais informações sobre os requisitos de configuração de várias sub-redes, consulte Networking / SubnetIds.

nota

Várias zonas de disponibilidade foram adicionadas na AWS ParallelCluster versão 3.4.0.

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

CapacityType (Opcional, String)

O tipo de recursos computacionais que o Slurm usos da fila. Os valores suportados sãoONDEMAND, SPOT ouCAPACITY_BLOCK. O valor padrão é ONDEMAND.

nota

Se você definir CapacityType para SPOT, sua conta deverá conter uma função vinculada ao serviço AWSServiceRoleForEC2Spot. Você pode criar essa função usando o AWS CLI comando a seguir.

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

Para obter mais informações, consulte Função vinculada ao serviço para solicitações de instâncias spot no Guia EC2 do usuário da Amazon Amazon para instâncias Linux.

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

AllocationStrategy (Opcional, String)

Especifique a estratégia de alocação para todos os recursos de computação definidos em Instances.

Valores válidos: lowest-price | capacity-optimized | price-capacity-optimized

Padrão: lowest-price

lowest-price
  • Se você usaCapacityType = ONDEMAND, o Amazon EC2 Fleet usa o preço para determinar o pedido e lança primeiro as instâncias de menor preço.

  • Se você usaCapacityType = SPOT, o Amazon EC2 Fleet lança instâncias do pool de instâncias spot de menor preço que tem capacidade disponível. Se um pool ficar sem capacidade antes de atender à capacidade necessária, o Amazon EC2 Fleet atenderá à sua solicitação lançando instâncias para você. Em particular, o Amazon EC2 Fleet lança instâncias a partir do pool de instâncias spot de menor preço que tem capacidade disponível. O Amazon EC2 Fleet pode lançar instâncias spot de vários pools diferentes.

  • Se você definirCapacityType = CAPACITY_BLOCK, não há estratégias de alocação, portanto, o AllocationStrategy parâmetro não pode ser configurado.

capacity-optimized
  • Se você definir CapacityType = ONDEMAND, capacity-optimized não ficará disponível.

  • Se você definirCapacityType = SPOT, o Amazon EC2 Fleet executa instâncias a partir de pools de instâncias spot com capacidade ideal para o número de instâncias a serem executadas.

price-capacity-optimized
  • Se você definir CapacityType = ONDEMAND, capacity-optimized não ficará disponível.

  • Se você definirCapacityType = SPOT, o Amazon EC2 Fleet identifica os pools com a maior disponibilidade de capacidade para o número de instâncias que estão sendo iniciadas. Isso significa que solicitaremos instâncias spot dos grupos que acreditamos terem a menor probabilidade de interrupção a curto prazo. O Amazon EC2 Fleet então solicita instâncias spot do menor preço desses pools.

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

nota

AllocationStrategy é suportado a partir do AWS ParallelCluster versão 3.3.0.

JobExclusiveAllocation (Opcional, String)

Se definido comotrue, o Slurm o OverSubscribe sinalizador de partição está definido comoEXCLUSIVE. Quando OverSubscribe=EXCLUSIVE, os trabalhos na partição têm acesso exclusivo a todos os nós alocados. Para obter mais informações, consulte EXCLUSIVEno Slurm documentação.

Valores válidos: true | false

Padrão: false

Política de atualização: essa configuração pode ser alterada durante uma atualização.

nota

JobExclusiveAllocation é suportado a partir do AWS ParallelCluster versão 3.7.0.

CustomSlurmSettings (Opcional, Dict)

Define o personalizado Slurm configurações de partição (fila).

Especifica um dicionário personalizado Slurm pares de valores-chave de parâmetros de configuração que se aplicam a filas (partições).

Cada par de valores-chave separado, comoParam1: Value1, é adicionado separadamente ao final do Slurm linha de configuração de partição no formatoParam1=Value1.

Você só pode especificar Slurm parâmetros de configuração que não estão listados como negados em. CustomSlurmSettings Para obter informações sobre a lista negada Slurm parâmetros de configuração, consulteParâmetros de configuração do Slurm listados como negados para CustomSlurmSettings.

AWS ParallelCluster só verifica se um parâmetro está em uma lista de negação. AWS ParallelCluster não valida seu costume Slurm sintaxe ou semântica do parâmetro de configuração. Você é responsável por validar sua personalização Slurm parâmetros de configuração. Personalizado inválido Slurm parâmetros de configuração podem causar Slurm falhas de daemon que podem levar a falhas na criação e atualização do cluster.

Para obter mais informações sobre como especificar algo personalizado Slurm parâmetros de configuração com AWS ParallelCluster, consultePersonalização de configuração do Slurm.

Para obter mais informações sobre Slurm parâmetros de configuração, consulte slurm.conf na Slurm documentação.

Política de atualização: essa configuração pode ser alterada durante uma atualização.

nota

CustomSlurmSettings é suportado a partir do AWS ParallelCluster versão 3.6.0.

Tags (Opcional, [String])

Uma lista de pares de tag com chave-valor. As tags ComputeResource substituem as tags duplicadas especificadas em Seção Tags ou emSlurmQueues / Tags.

Key (Opcional, String)

A chave de tags.

Value (Opcional, String)

O valor da tag.

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

HealthChecks(Opcional)

Especifica as verificações de integridade do nó de computação em todos os recursos computacionais na fila.

Gpu(Opcional)

Especifique verificações de GPU saúde em todos os recursos computacionais em uma fila.

nota

AWS ParallelCluster não suportaHealthChecks/Gpuem nós que usam sistemas alinux2 ARM operacionais. Essas plataformas não oferecem suporte ao NVIDIAData Center GPU Manager (DCGM).

Enabled (Opcional, Boolean)

Se AWS ParallelCluster realiza verificações de GPU integridade nos nós de computação. O padrão é false.

Comportamento de verificação de integridade de Gpu
  • SeGpu/Enabledestiver definido comotrue, AWS ParallelCluster executa verificações de GPU saúde nos recursos computacionais na fila.

  • A verificação de Gpu GPU integridade realiza verificações de integridade nos recursos computacionais para evitar o envio de trabalhos em nós com um GPU degradado.

  • Se um nó de computação falhar em uma verificação de integridade do Gpu, o estado do nó de computação mudará para DRAIN. Novos trabalhos não começam nesse nó. Os trabalhos existentes são executados até a conclusão. Depois que todos os trabalhos em execução forem concluídos, o nó de computação será encerrado se for um nó dinâmico e será substituído se for um nó estático.

  • A duração da verificação de Gpu saúde depende do tipo de instância selecionada, do número de alvos GPUs na instância e do número de alvos de verificação de Gpu saúde (equivalente ao número de GPU alvos de trabalho). Para uma instância com 8GPUs, a duração típica é inferior a 3 minutos.

  • Se a verificação de integridade do Gpu for executada em uma instância sem suporte, ela será encerrada e o trabalho será executado no nó de computação. Por exemplo, se uma instância não tiver umGPU, ou se uma instância tiver umGPU, mas não for um, a verificação de integridade será encerrada e o trabalho será executado no nó de computação. NVIDIA GPU Somente NVIDIA GPUs são compatíveis.

  • A verificação de integridade Gpu usa a ferramenta dcgmi para realizar verificações de integridade em um nó e segue as seguintes etapas:

    Quando a verificação de integridade Gpu começa em um nó:

    1. Ele detecta se os serviços nvidia-dcgm e nvidia-fabricmanager estão em execução.

    2. Se esses serviços não estiverem em execução, a verificação de integridade Gpu os iniciará.

    3. Ele detecta se o modo de persistência está ativado.

    4. Se o modo de persistência não estiver ativado, a verificação de integridade Gpu o ativará.

    Ao final da verificação de saúde, a verificação de integridade Gpu restaura esses serviços e recursos ao estado inicial.

  • Se o trabalho for atribuído a um conjunto específico de nósGPUs, a verificação de Gpu integridade será executada somente nesse conjunto específico. Caso contrário, a verificação de Gpu integridade será executada GPUs em tudo no nó.

  • Se um nó de computação receber duas ou mais solicitações de verificação de integridade Gpu ao mesmo tempo, somente a primeira verificação de integridade será executada e as outras serão ignoradas. Esse também é o caso das verificações de saúde direcionadas ao nóGPUs. Você pode verificar os arquivos de log para obter informações adicionais sobre essa situação.

  • O log de verificação de integridade de um nó de computação específico está disponível no arquivo /var/log/parallelcluster/slurm_health_check.log. O arquivo está disponível na Amazon CloudWatch, no grupo de CloudWatch logs do cluster, onde você pode encontrar:

    • Detalhes sobre a ação executada pela verificação de integridade Gpu, incluindo a ativação e desativação de serviços e o modo de persistência.

    • O GPU identificador, o ID serial e UUID o.

    • A saída da verificação de integridade.

Política de atualização: essa configuração pode ser alterada durante uma atualização.

nota

HealthChecksé suportado a partir da AWS ParallelCluster versão 3.6.0.

Networking

(Obrigatório) Define a configuração de rede para o Slurm queue.

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

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

Propriedades do Networking
SubnetIds (Obrigatório, [String])

A IDs das sub-redes existentes às quais você provisiona o Slurm entrar na fila.

Se você configurar os tipos de instância em SlurmQueues / ComputeResources / InstanceType, só poderá definir uma sub-rede.

Se você configurar os tipos de instância em SlurmQueues / ComputeResources / Instances, poderá definir uma única sub-rede ou várias sub-redes.

Se você usa várias sub-redes, todas as sub-redes definidas para uma fila devem estar na mesmaVPC, com cada sub-rede em uma zona de disponibilidade (AZ) separada.

Por exemplo, suponha que você defina subnet-1 e subnet-2 para sua fila.

subnet-1 e subnet-2 não podem ambas estar no AZ-1.

subnet-1 pode estar em AZ-1 e subnet-2 pode estar em AZ-2.

Se você configurar somente um tipo de instância e quiser usar várias sub-redes, defina seu tipo de instância em Instances vez de InstanceType.

Por exemplo, defina ComputeResources / Instances / InstanceType=instance.type em vez de ComputeResources / InstanceType=instance.type.

nota

O Elastic Fabric Adapter (EFA) não é compatível com diferentes zonas de disponibilidade.

O uso de várias zonas de disponibilidade pode causar aumentos na latência da rede de armazenamento e custos adicionais de transferência de dados entre AZ. Por exemplo, isso pode ocorrer quando uma instância acessa o armazenamento de arquivos localizado em uma AZ diferente. Para obter mais informações, consulte Transferência de dados dentro da mesma Região da AWS.

Atualizações de cluster para mudar do uso de uma única sub-rede para várias sub-redes:
  • Suponha que a definição de sub-rede de um cluster seja definida com uma única sub-rede e um sistema de arquivos AWS ParallelCluster gerenciado FSx para Lustre. Então, você não pode atualizar esse cluster diretamente com uma definição de ID de sub-rede atualizada. Para fazer a atualização do cluster, você deve primeiro alterar o sistema de arquivos gerenciado para um sistema de arquivos externo. Para obter mais informações, consulte Converta armazenamento AWS ParallelCluster gerenciado em armazenamento externo.

  • Suponha que a definição de sub-rede de um cluster seja definida com uma única sub-rede e um sistema de EFS arquivos externo da Amazon se não existirem destinos de EFS montagem para todas as várias sub-redes definidas AZs para serem adicionadas. Então, você não pode atualizar esse cluster diretamente com uma definição de ID de sub-rede atualizada. Para atualizar o cluster ou criar um cluster, você deve primeiro criar todos os destinos de montagem para todos os AZs das várias sub-redes definidas.

Zonas de disponibilidade e reservas de capacidade de cluster definidas em CapacityReservationResourceGroupArn:
  • Você não pode criar um cluster se não houver sobreposição entre o conjunto de tipos de instância e zonas de disponibilidade cobertas pelo grupo de recursos de reserva de capacidade definido e o conjunto de tipos de instância e zonas de disponibilidade definidos para a fila.

  • Você pode criar um cluster se houver uma sobreposição parcial entre o conjunto de tipos de instância e zonas de disponibilidade cobertos pelo grupo de recursos de reserva de capacidade definido e o conjunto de tipos de instância e zonas de disponibilidade definidos para a fila. AWS ParallelCluster envia uma mensagem de aviso sobre a sobreposição parcial desse caso.

  • Para obter mais informações, consulte Execute instâncias com reservas de capacidade sob demanda () ODCR.

nota

Várias zonas de disponibilidade foram adicionadas na AWS ParallelCluster versão 3.4.0.

Atenção

Esse aviso se aplica a todas as AWS ParallelCluster versões 3.x.y anteriores à versão 3.3.1. AWS ParallelCluster a versão 3.3.1 não será afetada se esse parâmetro for alterado.

Para AWS ParallelCluster 3 versões anteriores à versão 3.3.1:

Alterar esse parâmetro e atualizar um cluster cria um novo sistema de arquivos gerenciado FSx para Lustre e exclui o sistema de arquivos gerenciado FSx para Lustre existente sem preservar os dados existentes. Isso resulta em perda de dados. Antes de continuar, certifique-se de fazer backup dos dados do sistema de arquivos existente FSx do Lustre se quiser preservar os dados. Para obter mais informações, consulte Trabalhando com backups no Guia do FSx usuário do Lustre.

Se um novo valor de sub-rede for adicionado, Política de atualização: essa configuração pode ser alterada durante uma atualização.

Se um valor de sub-rede for removido, Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

AssignPublicIp (Opcional, String)

Cria ou atribui um endereço IP público aos nós no Slurm queue. Os valores compatíveis são true e false. A sub-rede que você especifica determina o valor padrão. Uma sub-rede com IPs padrão público para atribuição de endereços IP públicos.

Se você definir um p4d ou hpc6id tipo de instância ou outro tipo de instância que tenha várias interfaces de rede ou uma placa de interface de rede, você deve definir HeadNodeNetworking//ElasticIptruepara fornecer acesso público. AWS public só IPs pode ser atribuído a instâncias iniciadas com uma única interface de rede. Nesse caso, recomendamos que você use um NATgateway para fornecer acesso público aos nós de computação do cluster. Neste caso, defina AssignPublicIp para false. Para obter mais informações sobre endereços IP, consulte Atribuir um IPv4 endereço público durante a execução da instância no Guia EC2 do usuário da Amazon para instâncias Linux.

Política de atualização: se essa configuração for alterada, a atualização não será permitida.

SecurityGroups (Opcional, [String])

Uma lista de grupos de segurança a serem usados para o Slurm queue. Se nenhum grupo de segurança for especificado, AWS ParallelCluster cria grupos de segurança para você.

Verifique se os grupos de segurança estão configurados corretamente para seus SharedStoragesistemas.

Atenção

Este aviso se aplica a todos os 3.x.y AWS ParallelCluster versões anteriores à versão 3.3.0. AWS ParallelCluster a versão 3.3.0 não será afetada se esse parâmetro for alterado.

Para AWS ParallelCluster 3 versões anteriores à versão 3.3.0:

Alterar esse parâmetro e atualizar um cluster cria um novo sistema de arquivos gerenciado FSx para Lustre e exclui o sistema de arquivos gerenciado FSx para Lustre existente sem preservar os dados existentes. Isso resulta em perda de dados. Certifique-se de fazer backup dos dados do sistema de arquivos existente FSx do Lustre se quiser preservar os dados. Para obter mais informações, consulte Trabalhando com backups no Guia do FSx usuário do Lustre.

Atenção

Se você habilitar o Efa para suas instâncias de computação, certifique-se de que suas instâncias EFA habilitadas sejam membros de um grupo de segurança que permite todo o tráfego de entrada e saída para si mesmo.

Política de atualização: essa configuração pode ser alterada durante uma atualização.

AdditionalSecurityGroups (Opcional, [String])

Uma lista de grupos de segurança adicionais a serem usados para o Slurm queue.

Política de atualização: essa configuração pode ser alterada durante uma atualização.

PlacementGroup(Opcional)

Especifica as configurações do grupo de posicionamento para o Slurm queue.

PlacementGroup: Enabled: boolean Id: string Name: string

Política de atualização: todos os nós de computação devem ser interrompidos para a exclusão de um grupo de posicionamento gerenciado. A frota de computação deve ser interrompida ou QueueUpdateStrategy deve ser configurada para que essa configuração seja alterada para uma atualização.

Enabled (Opcional, Boolean)

Indica se um grupo de posicionamento é usado para o Slurm queue. O padrão é false.

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

Id (Opcional, String)

O nome do grupo de posicionamento de um grupo de posicionamento de cluster existente que o Slurm usos da fila. Certifique-se de fornecer o nome do grupo de posicionamento e não o ID.

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

Name (Opcional, String)

O nome do grupo de posicionamento de um grupo de posicionamento de cluster existente que o Slurm usos da fila. Certifique-se de fornecer o nome do grupo de posicionamento e não o ID.

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

nota
Proxy(Opcional)

Especifica as configurações de proxy para o Slurm queue.

Proxy: HttpProxyAddress: string

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

HttpProxyAddress (Opcional, String)

Define um servidor HTTPS proxy HTTP ou servidor para o Slurm queue. Normalmente, é https://x.x.x.x:8080.

Não há valor padrão.

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

Image

(Opcional) Especifica a imagem a ser usada para o Slurm queue. Para usar o mesmo AMI para todos os nós, use a CustomAmiconfiguração na Imageseção.

Image: CustomAmi: string

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

Propriedades do Image
CustomAmi (Opcional, String)

O AMI a ser usado para o Slurm fila em vez da padrãoAMIs. Você pode usar o pcluster CLIcomando para ver uma lista dos padrõesAMIs.

nota

O AMI deve ser baseado no mesmo sistema operacional usado pelo nó principal.

pcluster list-official-images

Se o personalizado AMI exigir permissões adicionais para seu lançamento, você deverá adicionar essas permissões à política do nó principal.

Por exemplo, se um cliente AMI tiver um instantâneo criptografado associado a ele, as seguintes políticas adicionais serão necessárias nas políticas do nó principal.

{ "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>" ] } ] }

Para solucionar problemas de avisos de AMI validação personalizados, consulte. Solução de AMI problemas personalizados

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

ComputeResources

(Obrigatório) Define a ComputeResources configuração do Slurm queue.

nota

O tamanho do cluster pode mudar durante uma atualização. Para obter mais informações, consulte Capacidade, tamanho e atualização do cluster

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

Política de atualização: para essa configuração de valores de lista, um novo valor pode ser adicionado durante uma atualização ou a frota de computação deve ser interrompida ao remover um valor existente.

Propriedades do ComputeResources
Name (Obrigatório, String)

O nome do Slurm ambiente de computação em fila. O nome do pode ter até 25 caracteres.

Política de atualização: se essa configuração for alterada, a atualização não será permitida.

InstanceType (Obrigatório, String)

O tipo de instância usado neste Slurm recurso computacional. Todos os tipos de instância em um cluster devem usar a mesma arquitetura de processador. As instâncias podem usar a arquitetura x86_64 ou arm64.

A configuração do cluster deve definir uma InstanceTypeou duas Instâncias. Se ambos estiverem definidos, AWS ParallelCluster falhará.

Ao definir InstanceType, você não pode definir várias sub-redes. Se você configurar somente um tipo de instância e quiser usar várias sub-redes, defina seu tipo de instância em Instances em vez de InstanceType. Para obter mais informações, consulte Networking / SubnetIds.

Se você definir um p4d ou hpc6id tipo de instância, ou outro tipo de instância que tenha várias interfaces de rede ou uma placa de interface de rede, você deve executar as instâncias de computação na sub-rede privada, conforme descrito em. AWS ParallelCluster usando duas sub-redes AWS public só IPs pode ser atribuído a instâncias que são iniciadas com uma única interface de rede. Para obter mais informações, consulte Atribuir um IPv4 endereço público durante o lançamento da instância no Guia EC2 do usuário da Amazon para instâncias Linux.

Política de atualização: a frota de computação deve ser interrompida para que essa configuração seja alterada para uma atualização.

Instances (Obrigatório)

Especifica a lista de tipos de instância para um recurso de computação. Para especificar a estratégia de alocação para a lista de tipos de instância, consulte AllocationStrategy.

A configuração do cluster deve definir InstanceType ou Instances. Se ambos estiverem definidos, AWS ParallelCluster falhará.

Para obter mais informações, consulte Alocação a vários tipos de instância com o Slurm.

Instances: - InstanceType: string
nota

A partir da AWS ParallelCluster versão 3.7.0, EnableMemoryBasedScheduling pode ser ativado se você configurar vários tipos de instância em Instâncias.

Para AWS ParallelCluster as versões 3.2.0 a 3.6.x, não EnableMemoryBasedScheduling pode ser ativado se você configurar vários tipos de instância em Instâncias.

Política de atualização: para essa configuração de valores de lista, um novo valor pode ser adicionado durante uma atualização ou a frota de computação deve ser interrompida ao remover um valor existente.

InstanceType (Obrigatório, String)

O tipo de instância a ser usado neste Slurm recurso computacional. Todos os tipos de instância em um cluster devem usar a mesma arquitetura de processador, seja x86_64 ou arm64.

Os tipos de instância listados em Instances devem ter:

  • O mesmo número devCPUs, ou, se DisableSimultaneousMultithreadingestiver definido comotrue, o mesmo número de núcleos.

  • O mesmo número de aceleradores dos mesmos fabricantes.

  • EFAsuportado, se Efa/Enableddefinido comotrue.

Os tipos de instância listados em Instances devem ter:

Se você definir um p4d ou hpc6id tipo de instância, ou outro tipo de instância que tenha várias interfaces de rede ou uma placa de interface de rede, você deve executar as instâncias de computação na sub-rede privada, conforme descrito em. AWS ParallelCluster usando duas sub-redes AWS public só IPs pode ser atribuído a instâncias iniciadas com uma única interface de rede. Para obter mais informações, consulte Atribuir um IPv4 endereço público durante o lançamento da instância no Guia EC2 do usuário da Amazon para instâncias Linux.

Política de atualização: a frota de computação deve ser interrompida para que essa configuração seja alterada para uma atualização.

nota

Instancesé suportado a partir da AWS ParallelCluster versão 3.3.0.

MinCount (Opcional, Integer)

O número mínimo de instâncias em que o Slurm usos de recursos computacionais. O padrão é 0.

nota

O tamanho do cluster pode mudar durante uma atualização. Para obter mais informações, consulte Capacidade, tamanho e atualização do cluster

Política de atualização: a frota de computação deve ser interrompida para que essa configuração seja alterada para uma atualização.

MaxCount (Opcional, Integer)

O número máximo de instâncias em que o Slurm usos de recursos computacionais. O padrão é 10.

Ao usarCapacityType = CAPACITY_BLOCK, MaxCount deve ser igual MinCount e maior que 0, porque todas as instâncias que fazem parte da reserva do Bloco de Capacidade são gerenciadas como nós estáticos.

No momento da criação do cluster, o nó principal espera que todos os nós estáticos estejam prontos antes de sinalizar o sucesso da criação do cluster. No entanto, ao usarCapacityType = CAPACITY_BLOCK, os nós que fazem parte dos recursos computacionais associados aos blocos de capacidade não serão considerados para essa verificação. O cluster será criado mesmo que nem todos os blocos de capacidade configurados estejam ativos.

nota

O tamanho do cluster pode mudar durante uma atualização. Para obter mais informações, consulte Capacidade, tamanho e atualização do cluster

DynamicNodePriority (Opcional, Integer)

A prioridade dos nós dinâmicos em um recurso de computação em fila. Os mapas prioritários para o Slurm parâmetro Weightde configuração de nó para os nós dinâmicos de recursos computacionais. O valor padrão é 1000.

Slurm prioriza primeiro os nós com os Weight valores mais baixos.

Atenção

O uso de muitos Weight valores diferentes em um Slurm partição (fila) pode diminuir a taxa de agendamento de trabalhos na fila.

Nas AWS ParallelCluster versões anteriores à versão 3.7.0, os nós estáticos e dinâmicos receberam o mesmo peso padrão de. 1 Nesse caso, Slurm pode priorizar nós dinâmicos ociosos sobre nós estáticos ociosos devido ao esquema de nomenclatura para nós estáticos e dinâmicos. Quando tudo é igual, Slurm agenda os nós em ordem alfabética por nome.

nota

DynamicNodePriorityé adicionado na AWS ParallelCluster versão 3.7.0.

Política de atualização: essa configuração pode ser alterada durante uma atualização.

StaticNodePriority (Opcional, Integer)

A prioridade dos nós dinâmicos em um recurso de computação em fila. Os mapas prioritários para o Slurm parâmetro Weightde configuração de nó para os nós estáticos do recurso computacional. O valor padrão é 1.

Slurm prioriza primeiro os nós com os Weight valores mais baixos.

Atenção

O uso de muitos Weight valores diferentes em um Slurm partição (fila) pode diminuir a taxa de agendamento de trabalhos na fila.

nota

StaticNodePriorityé adicionado na AWS ParallelCluster versão 3.7.0.

Política de atualização: essa configuração pode ser alterada durante uma atualização.

SpotPrice (Opcional, Float)

O preço máximo pago por uma instância EC2 spot da Amazon antes de qualquer instância ser lançada. O valor padrão é o preço sob demanda.

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

DisableSimultaneousMultithreading (Opcional, Boolean)

Setrue, multithreading nos nós do Slurm a fila está desativada. O valor padrão é false.

Nem todos os tipos de instância podem desativar o multithreading. Para obter uma lista de tipos de instância que suportam a desativação do multithreading, consulte CPUnúcleos e threads para cada tipo de CPU núcleo por instância no Guia do usuário da Amazon EC2.

Política de atualização: a frota de computação deve ser interrompida para que essa configuração seja alterada para uma atualização.

SchedulableMemory (Opcional, Integer)

A quantidade de memória em MiB que está configurada no Slurm parâmetro RealMemory para os nós de computação de um recurso computacional. Esse valor é o limite superior da memória do nó disponível para trabalhos quando SlurmSettings / EnableMemoryBasedScheduling está habilitado. O valor padrão é 95 por cento da memória listada nos tipos de EC2 instância da Amazon e retornada pela Amazon EC2 API DescribeInstanceTypes. Certifique-se de converter valores fornecidos em GiB em MiB.

Valores com suporte: 1-EC2Memory

EC2Memoryé a memória (em MiB) listada nos tipos de EC2 instância da Amazon e retornada pela Amazon. EC2 API DescribeInstanceTypes Certifique-se de converter valores fornecidos em GiB em MiB.

Essa opção é mais relevante quando SlurmSettings / EnableMemoryBasedScheduling está habilitada. Para obter mais informações, consulte Programação baseada em memória do Slurm.

nota

SchedulableMemory é suportado a partir do AWS ParallelCluster versão 3.2.0.

A partir da versão 3.2.0, por padrão, AWS ParallelCluster configura RealMemory para Slurm nós de computação para 95 por cento da memória que é retornada pela Amazon EC2 APIDescribeInstanceTypes. Essa configuração é independente do valor de EnableMemoryBasedScheduling.

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

HealthChecks(Opcional)

Especifica as verificações de integridade em um recurso de computação.

Gpu(Opcional)

Especifique as verificações de GPU saúde em um recurso computacional.

Enabled (Opcional, Boolean)

Se AWS ParallelCluster realiza verificações de GPU saúde na computação de um recurso em uma fila. O padrão é false.

nota

AWS ParallelCluster não suportaHealthChecks/Gpuem nós que usam sistemas alinux2 ARM operacionais. Essas plataformas não oferecem suporte ao NVIDIAData Center GPU Manager (DCGM).

Comportamento de verificação de integridade de Gpu
  • SeGpu/Enabledestiver definido comotrue, AWS ParallelCluster executa verificações de GPU saúde em um recurso computacional.

  • A verificação de Gpu saúde realiza verificações de saúde em um recurso computacional para evitar o envio de trabalhos em nós com um GPU degradado.

  • Se um nó de computação falhar em uma verificação de integridade do Gpu, o estado do nó de computação mudará para DRAIN. Novos trabalhos não começam nesse nó. Os trabalhos existentes são executados até a conclusão. Depois que todos os trabalhos em execução forem concluídos, o nó de computação será encerrado se for um nó dinâmico e será substituído se for um nó estático.

  • A duração da verificação de Gpu saúde depende do tipo de instância selecionada, do número de alvos GPUs na instância e do número de alvos de verificação de Gpu saúde (equivalente ao número de GPU alvos de trabalho). Para uma instância com 8GPUs, a duração típica é inferior a 3 minutos.

  • Se a verificação de integridade do Gpu for executada em uma instância sem suporte, ela será encerrada e o trabalho será executado no nó de computação. Por exemplo, se uma instância não tiver umGPU, ou se uma instância tiver umGPU, mas não for um, a verificação de integridade será encerrada e o trabalho será executado no nó de computação. NVIDIA GPU Somente NVIDIA GPUs são compatíveis.

  • A verificação de integridade Gpu usa a ferramenta dcgmi para realizar verificações de integridade em um nó e segue as seguintes etapas:

    Quando a verificação de integridade Gpu começa em um nó:

    1. Ele detecta se os serviços nvidia-dcgm e nvidia-fabricmanager estão em execução.

    2. Se esses serviços não estiverem em execução, a verificação de integridade Gpu os iniciará.

    3. Ele detecta se o modo de persistência está ativado.

    4. Se o modo de persistência não estiver ativado, a verificação de integridade Gpu o ativará.

    Ao final da verificação de saúde, a verificação de integridade Gpu restaura esses serviços e recursos ao estado inicial.

  • Se o trabalho for atribuído a um conjunto específico de nósGPUs, a verificação de Gpu integridade será executada somente nesse conjunto específico. Caso contrário, a verificação de Gpu integridade será executada GPUs em tudo no nó.

  • Se um nó de computação receber duas ou mais solicitações de verificação de integridade Gpu ao mesmo tempo, somente a primeira verificação de integridade será executada e as outras serão ignoradas. Esse também é o caso das verificações de saúde direcionadas ao nóGPUs. Você pode verificar os arquivos de log para obter informações adicionais sobre essa situação.

  • O log de verificação de integridade de um nó de computação específico está disponível no arquivo /var/log/parallelcluster/slurm_health_check.log. Esse arquivo está disponível na Amazon CloudWatch, no grupo de CloudWatch logs do cluster, onde você pode encontrar:

    • Detalhes sobre a ação executada pela verificação de integridade Gpu, incluindo a ativação e desativação de serviços e o modo de persistência.

    • O GPU identificador, o ID serial e UUID o.

    • A saída da verificação de integridade.

Política de atualização: essa configuração pode ser alterada durante uma atualização.

nota

HealthChecksé suportado a partir da AWS ParallelCluster versão 3.6.0.

Efa(Opcional)

Especifica as configurações do Elastic Fabric Adapter (EFA) para os nós no Slurm queue.

Efa: Enabled: boolean GdrSupport: boolean

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

Enabled (Opcional, Boolean)

Especifica que o Elastic Fabric Adapter (EFA) está ativado. Para ver a lista de EC2 instâncias da Amazon que oferecem suporteEFA, consulte Tipos de instância compatíveis no Guia EC2 do usuário da Amazon para instâncias Linux. Para obter mais informações, consulte Elastic Fabric Adapter. Recomendamos que você use um cluster SlurmQueues / Networking / PlacementGroup para minimizar as latências entre as instâncias.

O valor padrão é false.

nota

O Elastic Fabric Adapter (EFA) não é compatível com diferentes zonas de disponibilidade. Para obter mais informações, consulte SubnetIds.

Atenção

Se você estiver definindo um grupo de segurança personalizado em SecurityGroups, certifique-se de que suas instâncias EFA habilitadas sejam membros de um grupo de segurança que permita todo o tráfego de entrada e saída para si mesmo.

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

GdrSupport (Opcional, Boolean)

(Opcional) A partir do AWS ParallelCluster versão 3.0.2, essa configuração não tem efeito. O suporte do Elastic Fabric Adapter GPUDirect RDMA (EFA) para (acesso direto remoto à memória) está sempre habilitado se for suportado pelo tipo de instância do Slurm recurso computacional e sistema operacional.

nota

AWS ParallelCluster versão 3.0.0 a 3.0.1: Support GPUDirect RDMA for habilitado para Slurm recursos computacionais. Support for GPUDirect RDMA é suportado por tipos de instância específicos (p4d.24xlarge) em sistemas operacionais específicos (Osis alinux2ubuntu1804, ouubuntu2004). O valor padrão é falso.

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

CapacityReservationTarget
CapacityReservationTarget: CapacityReservationId: string CapacityReservationResourceGroupArn: string

Especifica a reserva de capacidade sob demanda para usar com os recursos de computação da fila.

CapacityReservationId (Opcional, String)

O ID da reserva de capacidade existente a ser direcionada para os recursos de computação da fila. O id pode se referir a um ODCRou a um bloco de capacidade para ML.

Quando esse parâmetro for especificado no nível do recurso computacional, InstanceType for opcional, ele será automaticamente recuperado da reserva.

CapacityReservationResourceGroupArn (Opcional, String)

Indica o Amazon Resource Name (ARN) do grupo de recursos que serve como o grupo vinculado ao serviço de reservas de capacidade para o recurso computacional. AWS ParallelCluster identifica e usa a reserva de capacidade mais adequada do grupo. O grupo de recursos deve ter pelo menos um ODCR para cada tipo de instância listado para o recurso computacional. Para obter mais informações, consulte Execute instâncias com reservas de capacidade sob demanda () ODCR.

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

nota

CapacityReservationTarget é adicionado com o AWS ParallelCluster versão 3.3.0.

Networking
Networking: PlacementGroup: Enabled: boolean Name: string

Política de atualização: todos os nós de computação devem ser interrompidos para a exclusão de um grupo de posicionamento gerenciado. A frota de computação deve ser interrompida ou QueueUpdateStrategy deve ser configurada para que essa configuração seja alterada para uma atualização.

PlacementGroup(Opcional)

Especifica as configurações do grupo de posicionamento para o recurso de computação.

Enabled (Opcional, Boolean)

Indica se um grupo de posicionamento é usado para o recurso de computação.

  • Se definido como true, sem um Name definido, esse recurso de computação receberá seu próprio grupo de posicionamento gerenciado, independentemente da configuração SlurmQueues / Networking / PlacementGroup.

  • Se definido como true, sem um Name definido, esse recurso de computação receberá seu próprio grupo de posicionamento nomeado, independentemente das configurações SlurmQueues / Networking / PlacementGroup.

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

Name (Opcional, String)

O nome do grupo de posicionamento de um grupo de posicionamento de cluster existente usado pelo recurso de computação.

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

nota
  • Se PlacementGroup / Enabled e Name não estiverem definidos, seus respectivos valores serão padronizados para as configurações SlurmQueues / Networking / PlacementGroup.

  • ComputeResources/Networking/PlacementGroupé adicionado com a AWS ParallelCluster versão 3.3.0.

CustomSlurmSettings (Opcional, Dict)

(Opcional) Define o personalizado Slurm definições de configuração do nó (recurso computacional).

Especifica um dicionário personalizado Slurm pares de valores-chave de parâmetros de configuração que se aplicam a Slurm nós (recursos computacionais).

Cada par de valores-chave separado, comoParam1: Value1, é adicionado separadamente ao final do Slurm linha de configuração do nó no formatoParam1=Value1.

Você só pode especificar Slurm parâmetros de configuração que não estão listados como negados em. CustomSlurmSettings Para obter informações sobre a lista negada Slurm parâmetros de configuração, consulteParâmetros de configuração do Slurm listados como negados para CustomSlurmSettings.

AWS ParallelCluster só verifica se um parâmetro está em uma lista de negação. AWS ParallelCluster não valida seu costume Slurm sintaxe ou semântica do parâmetro de configuração. Você é responsável por validar sua personalização Slurm parâmetros de configuração. Personalizado inválido Slurm parâmetros de configuração podem causar Slurm falhas de daemon que podem levar a falhas na criação e atualização do cluster.

Para obter mais informações sobre como especificar algo personalizado Slurm parâmetros de configuração com AWS ParallelCluster, consultePersonalização de configuração do Slurm.

Para obter mais informações sobre Slurm parâmetros de configuração, consulte slurm.conf na Slurm documentação.

Política de atualização: essa configuração pode ser alterada durante uma atualização.

nota

CustomSlurmSettings é suportado a partir do AWS ParallelCluster versão 3.6.0.

Tags (Opcional, [String])

Uma lista de pares de tag com chave-valor. As tags ComputeResource substituem as tags duplicadas especificadas em Seção Tags ou SlurmQueues / Tags.

Key (Opcional, String)

A chave de tags.

Value (Opcional, String)

O valor da tag.

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

ComputeSettings

(Obrigatório) Define a ComputeSettings configuração do Slurm queue.

Propriedades do ComputeSettings

Especifica as propriedades ComputeSettings dos nós no Slurm queue.

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

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

LocalStorage(Opcional)

Especifica as propriedades LocalStorage dos nós no Slurm queue.

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

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

RootVolume(Opcional)

Especifica os detalhes do volume raiz dos nós no Slurm queue.

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

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

Size (Opcional, Integer)

Especifica o tamanho do volume raiz em gibibytes (GiB) para os nós no Slurm queue. O tamanho padrão vem doAMI. Usar um tamanho diferente requer que os AMI suportesgrowroot.

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

Encrypted (Opcional, Boolean)

Setrue, o volume raiz dos nós no Slurm as filas são criptografadas. O valor padrão é false.

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

VolumeType (Opcional, String)

Especifica o tipo de EBS volume Amazon dos nós no Slurm queue. Os valores compatíveis são gp2, gp3, io1, io2, sc1, st1 e standard. O valor padrão é gp3.

Para obter mais informações, consulte os tipos de EBS volume da Amazon no Guia EC2 do usuário da Amazon.

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

Iops (Opcional, Boolean)

Define o número de volumes IOPS para io1io2, e gp3 tipo.

O valor padrão, os valores suportados e a proporção do volume_iops para volume_size variam de acordo com VolumeType e Size.

VolumeType = io1

Padrão Iops = 100

Valores suportados Iops = 100–64000 †

volume_iopsMáximo em volume_size relação à proporção = 50 IOPS por GiB. 5000 IOPS requer pelo menos 100 GiB. volume_size

VolumeType = io2

Padrão Iops = 100

Valores suportados Iops = 100–64000 (256000 para volumes do io2 Block Express) †

IopsMáximo em Size relação à proporção = 500 IOPS por GiB. 5000 IOPS requer pelo menos 10 GiB. Size

VolumeType = gp3

Padrão Iops = 3000

Valores Iops suportados = 3000–16000 †

SizeRelação máxima Iops = 500 IOPS por GiB para volumes com IOPS mais de 3000.

† IOPS O máximo é garantido somente em instâncias criadas no sistema Nitro que também são provisionadas com mais de 32.000. IOPS Outras instâncias podem ter até 32.000IOPS. Os volumes de io1 mais antigos podem não atingir o desempenho total, a menos que você modifique o volume. io2 Os volumes do Block Express oferecem suporte a valores volume_iops de até 256000 em tipos de instância R5b. Para obter mais informações, consulte Volumes do io2 Block Express no Guia EC2 do usuário da Amazon.

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

Throughput (Opcional, Integer)

Define o throughput para tipos de volume gp3, em MiB/s. Isso é válido somente quando VolumeType é gp3. O valor padrão é 125. Valores suportados: 125–1000 MiB/s

A proporção de Throughput para Iops não pode ser superior a 0,25. O throughput máximo de 1000 MiB/s exige que a configuração Iops seja de pelo menos 4000.

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

EphemeralVolume (Opcional, Boolean)

Especifica as configurações do volume efêmero. O volume efêmero é criado combinando todos os volumes de armazenamento de instâncias em um único volume lógico formatado com o sistema de arquivos ext4. O padrão é /scratch. Se o tipo de instância não tiver volumes de armazenamento de instâncias, nenhum volume efêmero será criado. Para obter mais informações, consulte Volumes de armazenamento de instâncias no Guia EC2 do usuário da Amazon.

EphemeralVolume: MountDir: string

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

CustomActions

(Opcional) Especifica scripts personalizados a serem executados nos nós do Slurm queue.

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

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

Propriedades do CustomActions
OnNodeStart (Opcional, String)

Especifica uma sequência de scripts ou um único script a ser executado nos nós do Slurm fila antes que qualquer ação de bootstrap de implantação de nó seja iniciada. AWS ParallelCluster não suporta a inclusão de um único script e Sequence da mesma ação personalizada. Para obter mais informações, consulte Ações de bootstrap personalizadas.

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

OnNodeConfigured (Opcional, String)

Especifica uma sequência de scripts ou um único script a ser executado nos nós do Slurm fila após a conclusão de todas as ações de bootstrap do nó. AWS ParallelCluster não suporta a inclusão de um único script e Sequence da mesma ação personalizada. Para obter mais informações, consulte Ações de bootstrap personalizadas.

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

nota

Sequenceé adicionado a partir da AWS ParallelCluster versão 3.6.0. Ao especificarSequence, você pode listar vários scripts para uma ação personalizada. AWS ParallelCluster continua oferecendo suporte à configuração de uma ação personalizada com um único script, sem incluirSequence.

AWS ParallelCluster não suporta a inclusão de um único script e Sequence da mesma ação personalizada.

Iam

(Opcional) Define IAM configurações opcionais para o Slurm queue.

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

Política de atualização: essa configuração pode ser alterada durante uma atualização.

Propriedades do Iam
InstanceProfile (Opcional, String)

Especifica um perfil de instância para substituir a função de instância padrão ou o perfil de instância do Slurm queue. Não é possível especificar ambos InstanceProfile e InstanceRole. O formato é arn:${Partition}:iam::${Account}:instance-profile/${InstanceProfileName}.

Se isso for especificado, as configurações S3Access e AdditionalIamPolicies não poderão ser especificadas.

Recomendamos que você especifique uma ou ambas configurações S3Access e AdditionalIamPolicies, pois os recursos adicionados ao AWS ParallelCluster geralmente exigem novas permissões.

Política de atualização: a frota de computação deve ser interrompida para que essa configuração seja alterada para uma atualização.

InstanceRole (Opcional, String)

Especifica uma função de instância para substituir a função de instância padrão ou o perfil de instância do Slurm queue. Não é possível especificar ambos InstanceProfile e InstanceRole. O formato é arn:${Partition}:iam::${Account}:role/${RoleName}.

Se isso for especificado, as configurações S3Access e AdditionalIamPolicies não poderão ser especificadas.

Recomendamos que você especifique uma ou ambas configurações S3Access e AdditionalIamPolicies, pois os recursos adicionados ao AWS ParallelCluster geralmente exigem novas permissões.

Política de atualização: essa configuração pode ser alterada durante uma atualização.

S3Access(Opcional)

Especifica um bucket para o Slurm queue. Isso é usado para gerar políticas para conceder o acesso especificado ao bucket no Slurm queue.

Se isso for especificado, as configurações InstanceProfile e InstanceRole não poderão ser especificadas.

Recomendamos que você especifique uma ou ambas configurações S3Access e AdditionalIamPolicies, pois os recursos adicionados ao AWS ParallelCluster geralmente exigem novas permissões.

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

Política de atualização: essa configuração pode ser alterada durante uma atualização.

BucketName (Obrigatório, String)

O nome do bucket do .

Política de atualização: essa configuração pode ser alterada durante uma atualização.

KeyName (Opcional, String)

A chave para o bucket. O valor padrão é *.

Política de atualização: essa configuração pode ser alterada durante uma atualização.

EnableWriteAccess (Opcional, Boolean)

Indica se o acesso de gravação está habilitado para o bucket.

Política de atualização: essa configuração pode ser alterada durante uma atualização.

AdditionalIamPolicies(Opcional)

Especifica uma lista de nomes de recursos da Amazon (ARNs) de IAM políticas para a AmazonEC2. Essa lista está anexada à função raiz usada para o Slurm fila, além das permissões exigidas pelo AWS ParallelCluster.

O nome IAM de uma política e seu ARN são diferentes. Os nomes não podem ser usados.

Se isso for especificado, as configurações InstanceProfile e InstanceRole não poderão ser especificadas.

Recomendamos usar AdditionalIamPolicies porque AdditionalIamPolicies são adicionadas às permissões exigidas pelo AWS ParallelCluster , e InstanceRole deve incluir todas as permissões necessárias. As permissões necessárias muitas vezes são alteradas entre as versões à medida que recursos são adicionados.

Não há valor padrão.

AdditionalIamPolicies: - Policy: string

Política de atualização: essa configuração pode ser alterada durante uma atualização.

SlurmSettings

(Opcional) Define as configurações para Slurm que se aplicam a todo o cluster.

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

Propriedades do SlurmSettings

ScaledownIdletime (Opcional, Integer)

Define a quantidade de tempo (em minutos) em que não há trabalho e o Slurm o nó termina.

O valor padrão é 10.

Política de atualização: a frota de computação deve ser interrompida para que essa configuração seja alterada para uma atualização.

MungeKeySecretArn (Opcional, String)

O Amazon Resource Name (ARN) do segredo em texto simples do AWS Secrets Manager que contém a chave munge codificada em base64 para ser usada no Slurm cluster. Essa chave munge será usada para RPC autenticar chamadas entre Slurm comandos do cliente e Slurm daemons atuando como servidores remotos. Se não MungeKeySecretArn for fornecido, AWS ParallelCluster gerará uma chave munge aleatória para o cluster.

nota

MungeKeySecretArné suportado a partir da AWS ParallelCluster versão 3.8.0.

Atenção

Se o MungeKeySecretArn for adicionado recentemente a um cluster existente, não ParallelCluster restaurará a chave munge anterior no caso de uma reversão ou ao remover posteriormente o. MungeKeySecretArn Em vez disso, uma nova chave munge aleatória será gerada.

Se o AWS ParallelCluster usuário tiver permissão para acessar DescribeSecretesse recurso secreto específico, MungeKeySecretArn é validado. MungeKeySecretArn é válido se:

  • O segredo especificado existe e

  • O segredo é texto simples e contém uma string válida codificada em base64, e

  • A chave munge binária decodificada tem um tamanho entre 256 e 8192 bits.

Se a IAM política de usuário do pcluster não incluir DescribeSecret, ela não MungeKeySecretArn será validada e uma mensagem de aviso será exibida. Para obter mais informações, consulte Política básica de usuário pcluster do AWS ParallelCluster.

Quando você atualiza MungeKeySecretArn, a frota computacional e todos os nós de login devem ser interrompidos.

Se o valor secreto no segredo ARN for modificado enquanto o ARN permanecer o mesmo, o cluster não será atualizado automaticamente com a nova chave munge. Para usar a nova chave munge ARN do segredo, você deve interromper a frota de computação e os nós de login e, em seguida, executar o seguinte comando no nó principal.

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

Depois de executar o comando, você pode retomar a frota de computação e os nós de login: os nós de computação e login recém-provisionados começarão automaticamente a usar a nova chave munge.

Para gerar uma chave munge personalizada codificada em base64, você pode usar o utilitário mungekey distribuído com o software munge e depois codificá-la usando o utilitário base64 geralmente disponível em seu sistema operacional. Como alternativa, você pode usar bash (defina o parâmetro bs entre 32 e 1024)

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

ou Python da seguinte forma:

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

Política de atualização: NEW UPDATE POLICY WITH COMPUTE FLEET AND LOGIN NODES STOPPED (erroneamente não adicionada na versão 3.7.0).

QueueUpdateStrategy (Opcional, String)

Especifica a estratégia de substituição para os parâmetros da seção SlurmQueues que têm a seguinte política de atualização:

Política de atualização: a frota de computação deve ser interrompida ou QueueUpdateStrategy para que essa configuração seja alterada para uma atualização.

O valor QueueUpdateStrategy é usado somente quando um processo de atualização do cluster é iniciado.

Valores válidos: COMPUTE_FLEET_STOP | DRAIN | TERMINATE

Valor padrão: COMPUTE_FLEET_STOP

DRAIN

Os nós em filas com valores de parâmetros alterados são definidos como DRAINING. Os nós nesse estado não aceitam novos trabalhos e os trabalhos em execução continuam sendo concluídos.

Depois que um nó se torna idle (DRAINED), um nó é substituído se o nó for estático e o nó será encerrado se o nó for dinâmico. Outros nós em outras filas sem valores de parâmetros alterados não são afetados.

O tempo que essa estratégia precisa para substituir todos os nós da fila por valores de parâmetros alterados depende da workload em execução.

COMPUTE_FLEET_STOP

O valor padrão do parâmetro é QueueUpdateStrategy. Com essa configuração, a atualização dos parâmetros na seção SlurmQueues exige que você interrompa a frota de computação antes de realizar uma atualização do cluster:

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

Em filas com valores de parâmetros alterados, os trabalhos em execução são encerrados e os nós são desligados imediatamente.

Os nós estáticos são substituídos e os nós dinâmicos são encerrados.

Outros nós em outras filas sem valores de parâmetros alterados não são afetados.

Política de atualização: essa configuração não é analisada durante uma atualização.

nota

QueueUpdateStrategy é suportado a partir do AWS ParallelCluster versão 3.2.0.

EnableMemoryBasedScheduling (Opcional, Boolean)

Setrue, o agendamento baseado em memória estiver ativado no Slurm. Para obter mais informações, consulte SlurmQueues/ComputeResources/SchedulableMemory.

O valor padrão é false.

Atenção

A ativação do agendamento baseado em memória afeta a forma como o Slurm O agendador lida com tarefas e alocação de nós.

Para obter mais informações, consulte Programação baseada em memória do Slurm.

nota

EnableMemoryBasedScheduling é suportado a partir do AWS ParallelCluster versão 3.2.0.

nota

A partir da AWS ParallelCluster versão 3.7.0, EnableMemoryBasedScheduling pode ser ativado se você configurar vários tipos de instância em Instâncias.

Para AWS ParallelCluster as versões 3.2.0 a 3.6.x, não EnableMemoryBasedScheduling pode ser ativado se você configurar vários tipos de instância em Instâncias.

Política de atualização: a frota de computação deve ser interrompida para que essa configuração seja alterada para uma atualização.

CustomSlurmSettings (Opcional, [Dict])

Define o personalizado Slurm configurações que se aplicam a todo o cluster.

Especifica uma lista de Slurm dicionários de configuração de pares de valores-chave a serem anexados ao final do arquivo gerado. slurm.conf AWS ParallelCluster

Cada dicionário na lista aparece como uma linha separada adicionada ao Slurm arquivo de configuração. Você pode especificar parâmetros simples ou complexos.

Parâmetros simples consistem em um único par de chaves, conforme mostrado nos exemplos a seguir:

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

Exemplo renderizado em Slurm configuração:

Param1=100 Param2=SubParam1,SubParam2=SubValue2

Complexo Slurm os parâmetros de configuração consistem em vários pares de valores-chave separados por espaço, conforme mostrado nos exemplos a seguir:

- 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

Exemplo, renderizado em Slurm configuração:

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
nota

Personalizar Slurm os nós não devem conter os -dy- padrões -st- ou em seus nomes. Esses padrões são reservados para nós gerenciados pelo AWS ParallelCluster.

Se você especificar personalizado Slurm parâmetros de configuração emCustomSlurmSettings, você não deve especificar parâmetros personalizados Slurm parâmetros de configuração paraCustomSlurmSettingsIncludeFile.

Você só pode especificar Slurm parâmetros de configuração que não estão listados como negados em. CustomSlurmSettings Para obter informações sobre a lista negada Slurm parâmetros de configuração, consulteParâmetros de configuração do Slurm listados como negados para CustomSlurmSettings.

AWS ParallelCluster só verifica se um parâmetro está em uma lista de negação. AWS ParallelCluster não valida seu costume Slurm sintaxe ou semântica do parâmetro de configuração. Você é responsável por validar sua personalização Slurm parâmetros de configuração. Personalizado inválido Slurm parâmetros de configuração podem causar Slurm falhas de daemon que podem levar a falhas na criação e atualização do cluster.

Para obter mais informações sobre como especificar algo personalizado Slurm parâmetros de configuração com AWS ParallelCluster, consultePersonalização de configuração do Slurm.

Para obter mais informações sobre Slurm parâmetros de configuração, consulte slurm.conf na Slurm documentação.

Política de atualização: essa configuração pode ser alterada durante uma atualização.

nota

CustomSlurmSettings é suportado a partir do AWS ParallelCluster versão 3.6.0.

CustomSlurmSettingsIncludeFile (Opcional, String)

Define o personalizado Slurm configurações que se aplicam a todo o cluster.

Especifica o personalizado Slurm arquivo que consiste em um arquivo personalizado Slurm parâmetros de configuração a serem anexados ao final do slurm.conf arquivo AWS ParallelCluster gerado.

Você deve incluir o caminho para o arquivo. O caminho do arquivo pode começar com https:// ou s3://.

Se você especificar personalizado Slurm parâmetros de configuração paraCustomSlurmSettingsIncludeFile, você não deve especificar parâmetros personalizados Slurm parâmetros de configuração paraCustomSlurmSettings.

nota

Personalizar Slurm os nós não devem conter os -dy- padrões -st- ou em seus nomes. Esses padrões são reservados para nós gerenciados pelo AWS ParallelCluster.

Você só pode especificar Slurm parâmetros de configuração que não estão listados como negados em. CustomSlurmSettingsIncludeFile Para obter informações sobre a lista negada Slurm parâmetros de configuração, consulteParâmetros de configuração do Slurm listados como negados para CustomSlurmSettings.

AWS ParallelCluster só verifica se um parâmetro está em uma lista de negação. AWS ParallelCluster não valida seu costume Slurm sintaxe ou semântica do parâmetro de configuração. Você é responsável por validar sua personalização Slurm parâmetros de configuração. Personalizado inválido Slurm parâmetros de configuração podem causar Slurm falhas de daemon que podem levar a falhas na criação e atualização do cluster.

Para obter mais informações sobre como especificar algo personalizado Slurm parâmetros de configuração com AWS ParallelCluster, consultePersonalização de configuração do Slurm.

Para obter mais informações sobre Slurm parâmetros de configuração, consulte slurm.conf na Slurm documentação.

Política de atualização: essa configuração pode ser alterada durante uma atualização.

nota

CustomSlurmSettings é suportado a partir do AWS ParallelCluster versão 3.6.0.

Database

(Opcional) Define as configurações a serem ativadas Slurm Contabilidade no cluster. Para obter mais informações, consulte Slurm contabilidade com AWS ParallelCluster.

Database: Uri: string UserName: string PasswordSecretArn: string

Política de atualização: a frota de computação deve ser interrompida para que essa configuração seja alterada para uma atualização.

Propriedades do Database

Uri (Obrigatório, String)

O endereço do servidor de banco de dados usado como back-end para Slurm contabilidade. Isso URI deve ser formatado como host:port e não deve conter um esquema, comomysql://. O host pode ser um endereço IP ou um DNS nome que pode ser resolvido pelo nó principal. Se uma porta não for fornecida, AWS ParallelCluster usa o MySQL porta padrão 3306.

AWS ParallelCluster inicializa o Slurm banco de dados contábil para o cluster e deve acessar o banco de dados.

O banco de dados deve estar acessível antes que o seguinte ocorra:

  • Um cluster é criado.

  • Slurm a contabilidade é habilitada com uma atualização de cluster.

Política de atualização: a frota de computação deve ser interrompida para que essa configuração seja alterada para uma atualização.

UserName (Obrigatório, String)

A identidade que Slurm usa para se conectar ao banco de dados, gravar registros contábeis e realizar consultas. O usuário deve ter as permissões de leitura e gravação no banco de dados.

Política de atualização: a frota de computação deve ser interrompida para que essa configuração seja alterada para uma atualização.

PasswordSecretArn (Obrigatório, String)

O nome de recurso da Amazon (ARN) do AWS Secrets Manager segredo que contém a senha em UserName texto simples. Essa senha é usada junto com UserName e Slurm contabilidade para autenticar no servidor de banco de dados.

nota

Ao criar um segredo usando o AWS Secrets Manager console, certifique-se de selecionar “Outro tipo de segredo”, selecionar texto simples e incluir apenas o texto da senha no segredo.

Para obter mais informações sobre como usar AWS Secrets Manager para criar um segredo, consulte Criar um AWS Secrets Manager segredo.

Se o usuário tiver permissão para PasswordSecretArn isso DescribeSecret, é validado. PasswordSecretArné válido se o segredo especificado existir. Se a IAM política do usuário não incluirDescribeSecret, PasswordSecretArn não será validada e uma mensagem de aviso será exibida. Para obter mais informações, consulte Política básica de usuário pcluster do AWS ParallelCluster.

Quando você atualiza PasswordSecretArn, a frota de computação deve ser interrompida. Se o valor do segredo mudar e o segredo ARN não mudar, o cluster não será atualizado automaticamente com a nova senha do banco de dados. Para atualizar o cluster para o novo valor secreto, você deve executar o comando a seguir de dentro do nó principal depois que a frota de computação for interrompida.

$ sudo /opt/parallelcluster/scripts/slurm/update_slurm_database_password.sh
Atenção

Recomendamos que você altere a senha do banco de dados somente quando a frota de computação for interrompida para evitar a perda de dados contábeis.

Política de atualização: a frota de computação deve ser interrompida para que essa configuração seja alterada para uma atualização.

DatabaseName (Opcional, String)

Nome do banco de dados no servidor de banco de dados (definido pelo parâmetro Uri) a ser usado para Slurm Contabilidade.

O nome do banco de dados pode conter letras minúsculas, números e sublinhados. O nome não pode ter mais de 64 caracteres.

Esse parâmetro é mapeado para o StorageLoc parâmetro slurmdbd.conf.

Se não DatabaseName for fornecido, ParallelCluster usará o nome do cluster para definir um valor paraStorageLoc.

A atualização do DatabaseName é permitida, com as seguintes considerações:

  • Se um banco de dados com um nome ainda DatabaseName não existir no servidor de banco de dados, o slurmdbd o criará. Será sua responsabilidade reconfigurar o novo banco de dados conforme necessário (por exemplo, adicionar as entidades contábeis — clusters, contas, usuáriosQOSs, associações etc.).

  • Se um banco de dados com um nome DatabaseName já existir no servidor de banco de dados, o slurmdbd o usará para o Slurm Funcionalidade contábil.

Política de atualização: a frota de computação deve ser interrompida para que essa configuração seja alterada para uma atualização.

nota

Database é adicionado a partir da versão 3.3.0.

ExternalSlurmdbd

(Opcional) Define as configurações a serem ativadas Slurm Contabilidade com um servidor slurmdbd externo. Para ter mais informações, consulte Slurm contabilidade com AWS ParallelCluster.

ExternalSlurmdbd: Host: string Port: integer

Propriedades do ExternalSlurmdbd

Host(Obrigatório,String)

O endereço do servidor externo slurmdbd para Slurm contabilidade. O host pode ser um endereço IP ou um DNS nome que pode ser resolvido pelo nó principal.

Política de atualização: essa configuração pode ser alterada durante uma atualização.

Port(Opcional,Integer)

A porta que o serviço slurmdbd escuta. O valor padrão é 6819.

Política de atualização: essa configuração pode ser alterada durante uma atualização.

Dns

(Opcional) Define as configurações para Slurm que se aplicam a todo o cluster.

Dns: DisableManagedDns: boolean HostedZoneId: string UseEc2Hostnames: boolean

Propriedades do Dns

DisableManagedDns (Opcional, Boolean)

Setrue, as DNS entradas do cluster não forem criadas e Slurm os nomes dos nós não podem ser resolvidos.

Por padrão, AWS ParallelCluster cria uma zona hospedada do Route 53 na qual os nós são registrados quando iniciados. O valor padrão é false. Se DisableManagedDns estiver definido comotrue, a zona hospedada não será criada por AWS ParallelCluster.

Para saber como usar essa configuração para implantar clusters em sub-redes sem acesso à Internet, consulte AWS ParallelCluster em uma única sub-rede sem acesso à Internet.

Atenção

É necessário um sistema de resolução de nomes para que o cluster funcione adequadamente. Se DisableManagedDns estiver definido como true, você deverá fornecer um sistema de resolução de nomes. Para usar o EC2 padrão da AmazonDNS, UseEc2Hostnames defina comotrue. Como alternativa, configure seu próprio DNS resolvedor e certifique-se de que os nomes dos nós sejam registrados quando as instâncias forem iniciadas. Por exemplo, você pode fazer isso configurando CustomActions / OnNodeStart.

Política de atualização: se essa configuração for alterada, a atualização não será permitida.

HostedZoneId (Opcional, String)

Define uma ID de zona hospedada personalizada do Route 53 a ser usada para resolução de DNS nomes para o cluster. Quando fornecido, AWS ParallelCluster registra os nós do cluster na zona hospedada especificada e não cria uma zona hospedada gerenciada.

Política de atualização: se essa configuração for alterada, a atualização não será permitida.

UseEc2Hostnames (Opcional, Boolean)

Setrue, os nós de computação do cluster estiverem configurados com o nome de EC2 host padrão. A ferramenta Slurm NodeHostNametambém é atualizado com essas informações. O padrão é false.

Para saber como usar essa configuração para implantar clusters em sub-redes sem acesso à Internet, consulte AWS ParallelCluster em uma única sub-rede sem acesso à Internet.

nota

Esta nota não é relevante a partir do AWS ParallelCluster versão 3.3.0.

Para versões AWS ParallelCluster compatíveis anteriores à 3.3.0:

Quando UseEc2Hostnames definido comotrue, o arquivo de configuração do Slurm é definido com os scripts AWS ParallelCluster prolog eepilog:

  • O prolog é executado para adicionar informações sobre nós ao /etc/hosts nos nós de computação quando cada trabalho é alocado.

  • O epilog é executado para limpar o conteúdo escrito pelo prolog.

Para adicionar scripts personalizados prolog ou epilog, adicione-os às pastas /opt/slurm/etc/pcluster/prolog.d/ ou /opt/slurm/etc/pcluster/epilog.d/, respectivamente.

Política de atualização: se essa configuração for alterada, a atualização não será permitida.