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 AWS Batch agendador Slurm ou. Cada um oferece suporte a um conjunto diferente de configurações e propriedades.
Scheduling: Scheduler: slurm ScalingStrategy:stringSlurmSettings: MungeKeySecretArn:stringScaledownIdletime:integerQueueUpdateStrategy:stringEnableMemoryBasedScheduling:booleanCustomSlurmSettings:[dict]CustomSlurmSettingsIncludeFile:stringDatabase: Uri:stringUserName:stringPasswordSecretArn:stringDatabaseName:stringExternalSlurmdbd:booleanHost:stringPort:integerDns: DisableManagedDns:booleanHostedZoneId:stringUseEc2Hostnames:booleanSlurmQueues: - Name:stringComputeSettings: LocalStorage: RootVolume: Size:integerEncrypted:booleanVolumeType:stringIops:integerThroughput:integerEphemeralVolume: MountDir:stringCapacityReservationTarget: CapacityReservationId:stringCapacityReservationResourceGroupArn:stringCapacityType:stringAllocationStrategy:stringJobExclusiveAllocation:booleanCustomSlurmSettings:dictTags: - Key:stringValue:stringHealthChecks: Gpu: Enabled:booleanNetworking: SubnetIds: -stringAssignPublicIp:booleanSecurityGroups: -stringAdditionalSecurityGroups: -stringPlacementGroup: Enabled:booleanId:stringName:stringProxy: HttpProxyAddress:stringComputeResources: - Name:stringInstanceType:stringInstances: - InstanceType:stringMinCount:integerMaxCount:integerDynamicNodePriority:integerStaticNodePriority:integerSpotPrice:floatDisableSimultaneousMultithreading:booleanSchedulableMemory:integerHealthChecks: Gpu: Enabled:booleanEfa: Enabled:booleanGdrSupport:booleanCapacityReservationTarget: CapacityReservationId:stringCapacityReservationResourceGroupArn:stringNetworking: PlacementGroup: Enabled:booleanName:stringCustomSlurmSettings:dictTags: - Key:stringValue:stringCustomActions: OnNodeStart: Sequence: - Script:stringArgs: -stringScript:stringArgs: -stringOnNodeConfigured: Sequence: - Script:stringArgs: -stringScript:stringArgs: -stringIam: InstanceProfile:stringInstanceRole:stringS3Access: - BucketName:stringEnableWriteAccess:booleanKeyName:stringAdditionalIamPolicies: - Policy:stringImage: CustomAmi:string
Scheduling: Scheduler: awsbatch AwsBatchQueues: - Name:stringCapacityType:stringNetworking: SubnetIds: -stringAssignPublicIp:booleanSecurityGroups: -stringAdditionalSecurityGroups: -stringComputeResources: # this maps to a Batch compute environment (initially we support only 1) - Name:stringInstanceTypes: -stringMinvCpus:integerDesiredvCpus:integerMaxvCpus:integerSpotBidPercentage:float
Propriedades do Scheduling
Scheduler(Obrigatório,String)-
Especifica o tipo de programador usado. Os valores compatíveis são
slurmeawsbatch.Política de atualização: se essa configuração for alterada, a atualização não será permitida.
nota
awsbatchsuporta apenas o sistema operacionalalinux2e a plataformax86_64. ScalingStrategy(Opcional,String)-
Permite que você escolha como os nós dinâmicos do Slurm aumentam a escala verticalmente. Os valores compatíveis são
all-or-nothing,greedy-all-or-nothingebest-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 dimensionamento se aplica apenas aos nós que serão retomados pelo Slurm, não aos nós que 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 throughput entre as três estratégias de escalabilidade possíveis. O tempo de escalabilidade depende do número de trabalhos enviados por execução do programa de currículo Slurm. 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 EC2 limitação de API da Amazon -
greedy-all-or-nothingSemelhante à 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 throughput, 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:stringCapacityType:stringNetworking: SubnetIds: -stringAssignPublicIp:booleanSecurityGroups: -stringAdditionalSecurityGroups: -stringComputeResources: # this maps to a Batch compute environment (initially we support only 1) - Name:stringInstanceTypes: -stringMinvCpus:integerDesiredvCpus:integerMaxvCpus:integerSpotBidPercentage: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 compatíveis são
ONDEMAND,SPOTouCAPACITY_BLOCK. O valor padrão éONDEMAND.nota
Se você definir
CapacityTypecomoSPOT, sua conta deverá conter uma função vinculada ao serviçoAWSServiceRoleForEC2Spot. 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.rproxy.govskope.caPara 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.
Networking
(Obrigatório) Define a configuração de rede para a AWS Batch fila.
Networking: SubnetIds: -stringAssignPublicIp:booleanSecurityGroups: -stringAdditionalSecurityGroups: -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.
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
trueefalse. 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:stringInstanceTypes: -stringMinvCpus:integerDesiredvCpus:integerMaxvCpus:integerSpotBidPercentage:float
Propriedades do ComputeResources
Name(Obrigatório,String)-
O nome do ambiente de computação da AWS Batch fila.
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. 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
MinvCpuseMaxvCpuscom 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 alcançar 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 a fila Slurm. Se Scheduler estiver definido como slurm, essa seção é obrigatória.
SlurmQueues: - Name:stringComputeSettings: LocalStorage: RootVolume: Size:integerEncrypted:booleanVolumeType:stringIops:integerThroughput:integerEphemeralVolume: MountDir:stringCapacityReservationTarget: CapacityReservationId:stringCapacityReservationResourceGroupArn:stringCapacityType:stringAllocationStrategy:stringJobExclusiveAllocation:booleanCustomSlurmSettings:dictTags: - Key:stringValue:stringHealthChecks: Gpu: Enabled:booleanNetworking: SubnetIds: -stringAssignPublicIp:booleanSecurityGroups: -stringAdditionalSecurityGroups: -stringPlacementGroup: Enabled:booleanId:stringName:stringProxy: HttpProxyAddress:stringComputeResources: - Name:stringInstanceType:stringInstances: - InstanceType:stringMinCount:integerMaxCount:integerDynamicNodePriority:integerStaticNodePriority:integerSpotPrice:floatDisableSimultaneousMultithreading:booleanSchedulableMemory:integerHealthChecks: Gpu: Enabled:booleanEfa: Enabled:booleanGdrSupport:booleanCapacityReservationTarget: CapacityReservationId:stringCapacityReservationResourceGroupArn:stringNetworking: PlacementGroup: Enabled:booleanName:stringCustomSlurmSettings:dictTags: - Key:stringValue:stringCustomActions: OnNodeStart: Sequence: - Script:stringArgs: -stringScript:stringArgs: -stringOnNodeConfigured: Sequence: - Script:stringArgs: -stringScript:stringArgs: -stringIam: InstanceProfile:stringInstanceRole:stringS3Access: - BucketName:stringEnableWriteAccess:booleanKeyName:stringAdditionalIamPolicies: - Policy:stringImage: CustomAmi:string
Propriedades do SlurmQueues
Name(Obrigatório,String)-
O nome da fila do Slurm.
nota
O tamanho do cluster pode mudar durante uma atualização. Para ter mais informações, consulte Cluster capacity size and update.
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:stringCapacityReservationResourceGroupArn:stringEspecifica 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 uma ODCR ou a um Bloco de Capacidade para ML.
A reserva deve usar a mesma plataforma que a instância usa. 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. CapacityReservationResourceGroupArn(Opcional,String)-
O nome do recurso da Amazon (ARN) do grupo de recursos que serve como o grupo de reservas de capacidade vinculadas ao serviço para os recursos de computação da fila. AWS ParallelCluster identifica e usa a reserva de capacidade mais adequada do grupo de recursos com base nas seguintes condições:
-
Se
PlacementGroupestiver habilitado em SlurmQueues/Networkingou SlurmQueues/ComputeResources/Networking, AWS ParallelCluster seleciona um grupo de recursos que tem como alvo o tipo de instância ePlacementGrouppara um recurso computacional, se o recurso computacional existir.PlacementGroupprecisa ter como alvo um dos tipos de instância definidos em ComputeResources. -
Se
PlacementGroupnão estiver habilitado em SlurmQueues/Networkingou SlurmQueues/ComputeResources/Networking, AWS ParallelCluster seleciona um grupo de recursos que tem como alvo somente o tipo de instância de um recurso computacional, se o recurso computacional existir.
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 de computação e zonas de disponibilidade da fila. Para obter mais informações, consulte Iniciar 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.
-
CapacityType(Opcional,String)-
Os tipos de recursos de computação que a fila Slurm usa. Os valores compatíveis são
ONDEMAND,SPOTouCAPACITY_BLOCK. O valor padrão éONDEMAND.nota
Se você definir
CapacityTypeparaSPOT, sua conta deverá conter uma função vinculada ao serviçoAWSServiceRoleForEC2Spot. Você pode usar o AWS CLI comando a seguir para criar essa função.$aws iam create-service-linked-role --aws-service-name spot.amazonaws.com.rproxy.govskope.caPara 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.
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|prioritized|capacity-optimized-prioritizedCapacityType Estratégias permitidas SOB DEMANDA menor preço, priorizado DETECTAR menor preço, com capacidade otimizada, price-capacity-optimized capacity-optimized-prioritized BLOQUEIO_DE_CAPACIDADE Não suportado — AllocationStrategy não pode ser configurado Padrão:
lowest-pricelowest-price-
-
Se você usa
CapacityType = 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ê usa
CapacityType = 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 atingir a 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 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ê definir
CapacityType = CAPACITY_BLOCK, não haverá estratégias de alocação, portanto o parâmetroAllocationStrategynão poderá ser configurado.
-
capacity-optimized-
-
Se você definir
CapacityType = ONDEMAND,capacity-optimizednão ficará disponível. -
Se você definir
CapacityType = 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-optimizednão ficará disponível. -
Se você definir
CapacityType = 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.
-
prioritized-
-
Se você definir
CapacityType = ONDEMAND, o Amazon EC2 Fleet honra a ordem prioritária que AWS ParallelCluster se aplica às LaunchTemplate substituições quando várias sub-redes são especificadas. AWS ParallelCluster deriva a substituição da posiçãopriorityda sub-rede de destino,SlurmQueues/Networking/SubnetIdscom a primeira sub-rede recebendo a maior prioridade. As prioridades são definidas AWS ParallelCluster em ordem decrescente deSlurmQueues/Networking/SubnetIds, com a primeira SubnetId tendo a prioridade mais alta e a última SubnetID tendo a menor prioridade. -
Se você definir
CapacityType = SPOT,prioritizednão ficará disponível.
-
capacity-optimized-prioritized-
-
Se você definir
CapacityType = ONDEMAND,capacity-optimized-prioritizednão ficará disponível. -
Se você definir
CapacityType = SPOT, o Amazon EC2 Fleet otimiza primeiro a capacidade e depois aplica, com base no melhor esforço, a ordem prioritária atribuída às AWS ParallelCluster substituições. LaunchTemplate As prioridades são definidas AWS ParallelCluster em ordem decrescente deSlurmQueues/Networking/SubnetIds, com a primeira SubnetId tendo a prioridade mais alta e a última SubnetID tendo a menor prioridade. Todas as substituições que têm como alvo a mesma sub-rede recebem o mesmo valor de prioridade.
-
nota
AllocationStrategyé suportado a partir do AWS ParallelCluster versão 3.3.0.Novo na versão 3.14.0:
prioritized(para On-Demand) ecapacity-optimized-prioritized(para Spot). JobExclusiveAllocation(Opcional,String)-
Se definido como
true, o sinalizadorOverSubscribede partição Slurm será definido comoEXCLUSIVE. QuandoOverSubscribe=EXCLUSIVE, os trabalhos na partição têm acesso exclusivo a todos os nós alocados. Para obter mais informações, consulte EXCLUSIVEna documentação do Slurm. Valores válidos:
true|falsePadrão:
falsePolí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 as configurações personalizadas da partição (fila) Slurm.
Especifica um dicionário de pares de valores-chave de parâmetros de configuração personalizados Slurm que se aplicam às filas (partições).
Cada par de valores-chave separado, como
Param1: Value1, é adicionado separadamente ao final da linha de configuração da partição Slurm no formatoParam1=Value1.Você só pode especificar parâmetros de configuração Slurm que não estejam listados como negados em
CustomSlurmSettings. Para obter mais informações sobre parâmetros de configuração negados do Slurm, consulte Listado na lista de negação Slurm parâmetros de configuração para CustomSlurmSettings.AWS ParallelCluster só verifica se um parâmetro está em uma lista de negação. AWS ParallelCluster não valida a sintaxe ou a Slurm semântica do parâmetro de configuração personalizado. É sua responsabilidade validar seus parâmetros de Slurm configuração personalizados. Parâmetros de configuração personalizados do Slurm inválidos podem causar falhas no daemon do Slurm que podem levar a falhas na criação e atualização do cluster.
Para obter mais informações sobre como especificar parâmetros Slurm de configuração personalizados com AWS ParallelCluster, consulteSlurm personalização de configuração.
Para obter mais informações sobre os parâmetros de configuração Slurm, consulte slurm.conf
na documentação do Slurm. 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 em
SlurmQueues/Tags.Key(Opcional,String)-
A chave de tags.
Value(Opcional,String)-
O valor da tag.
HealthChecks(opcional)-
Especifica as verificações de integridade do nó de computação em todos os recursos computacionais na fila.
Gpu(opcional)-
Especifica as verificações de integridade dos recursos de computação em uma fila.
nota
AWS ParallelCluster não suporta
HealthChecks/Gpuem nós que usam sistemas operacionaisalinux2ARM. Essas plataformas não são compatíveis com o NVIDIA Data Center GPU Manager (DCGM). Não é recomendável ativar as verificações de integridade da GPU ao usar tipos de instância cujo tamanho total de memória da GPU seja maior que 327680 MiB.
Enabled(Opcional,Boolean)-
Se AWS ParallelCluster realiza verificações de integridade da GPU nos nós de computação. O padrão é
false.
Comportamento de verificação de integridade de
Gpu-
Se
Gpu/Enabledestiver definido comotrue, AWS ParallelCluster executa verificações de integridade da GPU nos recursos de computação na fila. -
A verificação de integridade
Gpurealiza verificações de integridade da GPU nos recursos de computação para evitar o envio de trabalhos em nós com uma GPU degradada. -
Se um nó de computação falhar em uma verificação de integridade do
Gpu, o estado do nó de computação mudará paraDRAIN. 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
Gpuintegridade depende do tipo de instância selecionada, do número de unidades GPUs na instância, da memória total da GPU e do número de destinos da verificação deGpuintegridade (equivalente ao número de destinos da GPU do trabalho). Por exemplo, em um p4d.24xlarge, a duração típica é de 3 minutos. -
Se a verificação de integridade do
Gpufor 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 uma GPU, ou se uma instância tiver uma GPU, mas não for uma GPU NVIDIA, a verificação de integridade será encerrada e o trabalho será executado no nó de computação. Somente a NVIDIA GPUs é compatível. -
A verificação de integridade
Gpuusa a ferramentadcgmipara realizar verificações de integridade em um nó e segue as seguintes etapas:Quando a verificação de integridade
Gpucomeça em um nó:-
Ele detecta se os serviços
nvidia-dcgmenvidia-fabricmanagerestão em execução. -
Se esses serviços não estiverem em execução, a verificação de integridade
Gpuos iniciará. -
Ele detecta se o modo de persistência está ativado.
-
Se o modo de persistência não estiver ativado, a verificação de integridade
Gpuo ativará.
Ao final da verificação de saúde, a verificação de integridade
Gpurestaura esses serviços e recursos ao estado inicial. -
-
Se o trabalho for atribuído a um conjunto específico de nós GPUs, a verificação de
Gpuintegridade será executada somente nesse conjunto específico. Caso contrário, a verificação deGpuintegridade será executada GPUs em tudo no nó. -
Se um nó de computação receber duas ou mais solicitações de verificação de integridade
Gpuao 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 desse nó de destino 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 identificador da GPU, o ID serial e o UUID.
-
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 a fila do Slurm.
Networking: SubnetIds: -stringAssignPublicIp:booleanSecurityGroups: -stringAdditionalSecurityGroups: -stringPlacementGroup: Enabled:booleanId:stringName:stringProxy: HttpProxyAddress:string
Propriedades do Networking
SubnetIds(Obrigatório,[String])-
A IDs das sub-redes existentes nas quais você provisiona a Slurm 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 mesma VPC, 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-1esubnet-2não podem ambas estar no AZ-1.subnet-1pode estar em AZ-1 esubnet-2pode 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
Instancesvez deInstanceType.Por exemplo, defina
ComputeResources/Instances/InstanceType=instance.typeem vez deComputeResources/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 arquivos externo do Amazon EFS se os destinos de montagem do EFS não existirem 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 Iniciar 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:
Se você alterar esse parâmetro e atualizar um cluster, isso criará um novo sistema de arquivos gerenciado FSx para Lustre e excluirá 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 na fila do Slurm. Os valores compatíveis são
trueefalse. 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 tipo de hpc6id instância p4d ou, ou outro tipo de instância que tenha várias interfaces de rede ou uma placa de interface de rede, ElasticIpdefina HeadNodeNetworking//como
truepara 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 gateway NAT para fornecer acesso público aos nós de computação do cluster. Neste caso, definaAssignPublicIpparafalse. 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 usar para a fila Slurm. 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.yAWS 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:
Se você alterar esse parâmetro e atualizar um cluster, isso criará um novo sistema de arquivos gerenciado FSx para Lustre e excluirá 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 habilitadas para EFA sejam membros de um grupo de segurança que permita todo o tráfego de entrada e saída para si.
Política de atualização: essa configuração pode ser alterada durante uma atualização.
AdditionalSecurityGroups(Opcional,[String])-
Uma lista adicional de grupos de segurança a usar para a fila Slurm.
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 a fila Slurm.
PlacementGroup: Enabled:booleanId:stringName:stringEnabled(Opcional,Boolean)-
Indica se um grupo de posicionamento é usado para a fila Slurm. O padrão é
false. Id(Opcional,String)-
O ID do grupo de posicionamento de um grupo de posicionamento de cluster existente que a Slurm fila usa. Certifique-se de fornecer o ID do grupo de colocação e não o nome.
Name(Opcional,String)-
O nome do grupo de posicionamento de um grupo de posicionamento de cluster existente que a fila Slurm usa. Certifique-se de fornecer o nome do grupo de posicionamento e não o ID.
nota
-
Se
PlacementGroup/Enabledfor definido comotrue, sem umNameouIddefinido, cada recurso de computação receberá seu próprio grupo de posicionamento gerenciado, a menos que ComputeResources / Networking / PlacementGroup seja definido para substituir essa configuração. -
A partir da AWS ParallelCluster versão 3.3.0, SlurmQueues/Networking/PlacementGroup/Namefoi adicionado como alternativa preferencial para SlurmQueues//NetworkingPlacementGroup/Id.
PlacementGroup / Id e PlacementGroup / Name são equivalentes. Você pode usar qualquer um.
Se você incluir PlacementGroup/Ide PlacementGroup/Name, AWS ParallelCluster falhará. É preciso escolher um ou outro.
Você não precisa atualizar seu cluster para usar PlacementGroup / Name.
Proxy(opcional)-
Especifica as configurações de proxy para o a fila Slurm.
Proxy: HttpProxyAddress:stringHttpProxyAddress(Opcional,String)-
Define um servidor proxy HTTP ou HTTPS para a fila Slurm. Normalmente, é
https://.x.x.x.x:8080Não há valor padrão.
Image
(Opcional) Especifica a imagem a ser usada na fila Slurm. Para usar a mesma AMI em todos os nós, use a CustomAmiconfiguração na Imageseção.
Image: CustomAmi:string
Propriedades do Image
CustomAmi(Opcional,String)-
A AMI a ser usada para a Slurm fila em vez da padrão AMIs. Você pode usar o comando pcluster CLI para ver uma lista dos padrões. AMIs
nota
A AMI deve ser baseada no mesmo sistema operacional usado pelo nó principal.
pcluster list-official-imagesSe a AMI personalizada exigir permissões adicionais para sua execução, você deverá adicionar essas permissões à política do nó principal.
Por exemplo, se uma AMI personalizada tiver um snapshot criptografado associado a ela, as seguintes políticas adicionais serão necessárias nas políticas do usuário e do nó principal.
Para solucionar problemas de avisos de validação da AMI personalizada, consulte Solução de problemas de AMI personalizada.
ComputeResources
(Obrigatório) Define a configuração ComputeResources para a fila Slurm.
nota
-
O tamanho do cluster pode mudar durante uma atualização. Para obter mais informações, consulte Tamanho e atualização da capacidade do cluster.
-
Novos recursos computacionais só podem ser adicionados ao cluster se forem implantados em sub-redes pertencentes aos blocos CIDR que existem quando o cluster é criado.
ComputeResources: - Name:stringInstanceType:stringInstances: - InstanceType:stringMinCount:integerMaxCount:integerDynamicNodePriority:integerStaticNodePriority:integerSpotPrice:floatDisableSimultaneousMultithreading:booleanSchedulableMemory:integerHealthChecks: Gpu: Enabled:booleanEfa: Enabled:booleanGdrSupport:booleanCapacityReservationTarget: CapacityReservationId:stringCapacityReservationResourceGroupArn:stringNetworking: PlacementGroup: Enabled:booleanName:stringCustomSlurmSettings:dictTags: - Key:stringValue:string
Propriedades do ComputeResources
Name(Obrigatório,String)-
O nome do ambiente de computação da fila do Slurm. 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 nesse recurso de computação Slurm. Todos os tipos de instância em um cluster devem usar a mesma arquitetura de processador. As instâncias podem usar a arquitetura
x86_64ouarm64.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 emInstancesem vez deInstanceType. Para obter mais informações, consulte Networking / SubnetIds.Se você definir um tipo de hpc6id instância p4d ou, ou outro tipo de instância que tenha várias interfaces de rede ou uma placa de interface de rede, deverá 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.
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:stringnota
Para AWS ParallelCluster as versões 3.2.0 a 3.6.
x, nãoEnableMemoryBasedSchedulingpode ser ativado se você configurar vários tipos de instância em Instâncias.InstanceType(Obrigatório,String)-
O tipo de instância usado nesse recurso de computação Slurm. Todos os tipos de instância em um cluster devem usar a mesma arquitetura de processador, seja
x86_64ouarm64.Os tipos de instância listados em Instances devem ter:
-
O mesmo número de v ouCPUs, se DisableSimultaneousMultithreadingestiver definido como
true, o mesmo número de núcleos. -
O mesmo número de aceleradores dos mesmos fabricantes.
Os tipos de instância listados em Instances devem ter:
-
Quantidade diferente de memória.
Nesse caso, a memória mínima deve ser definida como um recurso consumível Slurm.
nota
Para AWS ParallelCluster as versões 3.2.0 a 3.6.
x, nãoEnableMemoryBasedSchedulingpode ser ativado se você configurar vários tipos de instância em Instâncias. -
Placas de rede diferentes.
Nesse caso, o número de interfaces de rede configuradas para o recurso computacional é definido pelo tipo de instância com o menor número de placas de rede.
-
Largura de banda da rede diferente.
-
Tamanho diferente do armazenamento de instâncias.
Se você definir um tipo de hpc6id instância p4d ou, ou outro tipo de instância que tenha várias interfaces de rede ou uma placa de interface de rede, deverá 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.
-
nota
Instancesé suportado a partir da AWS ParallelCluster versão 3.3.0. MinCount(Opcional,Integer)-
O número mínimo de instâncias que o recurso de computação Slurm usa. O padrão é 0.
nota
O tamanho do cluster pode mudar durante uma atualização. Para ter mais informações, consulte Cluster capacity size and update.
MaxCount(Opcional,Integer)-
O número máximo de instâncias que o recurso de computação Slurm usa. O padrão é 10.
Quando você usa
CapacityType = CAPACITY_BLOCK,MaxCountdeve ser igualMinCounte 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 aguarda que todos os nós estáticos estejam prontos antes de sinalizar o sucesso da criação do cluster. No entanto, quando você usa
CapacityType = 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 ter mais informações, consulte Cluster capacity size and update.
DynamicNodePriority(Opcional,Integer)-
A prioridade dos nós dinâmicos em um recurso de computação em fila. A prioridade é mapeada para o parâmetro de configuração
Weightdo nó do Slurm para os nós dinâmicos do recurso de computação. O valor padrão é 1000.Slurm prioriza primeiro os nós com os valores de
Weightmais baixos.Atenção
O uso de muitos valores
Weightdiferentes em uma partição Slurm (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.
1Nesse 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 estiver igual, o Slurm programa 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. A prioridade é mapeada para o parâmetro de configuração
Weightdo nó do Slurm para os nós estáticos do recurso de computação. O valor padrão é 1.Slurm prioriza primeiro os nós com os valores de
Weightmais baixos.Atenção
O uso de muitos valores
Weightdiferentes em uma partição Slurm (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.
DisableSimultaneousMultithreading(Opcional,Boolean)-
Se
true, o multithreading nos nós da fila Slurm estiver desativado. 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 Núcleos e threads de CPU para cada núcleo de CPU por tipo de instância no Guia do usuário da Amazon EC2 .
SchedulableMemory(Opcional,Integer)-
A quantidade de memória em MiB configurada no parâmetro
RealMemorydo Slurm para os nós de computação de um recurso de computação. 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 Amazone retornada pela EC2 API da Amazon DescribeInstanceTypes. Certifique-se de converter valores fornecidos em GiB em MiB. Valores com suporte:
1-EC2MemoryEC2Memoryé a memória (em MiB) listada nos tipos de EC2 instância da Amazone retornada pela API da Amazon EC2 . 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 Slurm agendamento baseado em memória.
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 os
RealMemorynós de Slurm computação em 95% da memória que é retornada pela API da Amazon. EC2DescribeInstanceTypesEssa configuração é independente do valor deEnableMemoryBasedScheduling. HealthChecks(opcional)-
Especifica as verificações de integridade em um recurso de computação.
Gpu(opcional)-
Especifica as verificações de integridade em um recurso de computação.
Enabled(Opcional,Boolean)-
Se AWS ParallelCluster realiza verificações de integridade da GPU na computação de um recurso em uma fila. O padrão é
false.nota
AWS ParallelCluster não suporta
HealthChecks/Gpuem nós que usam sistemas operacionaisalinux2ARM. Essas plataformas não são compatíveis com o NVIDIA Data Center GPU Manager (DCGM).
Comportamento de verificação de integridade de
Gpu-
Se
Gpu/Enabledestiver definido comotrue, AWS ParallelCluster executa verificações de integridade da GPU em um recurso computacional. -
A verificação de integridade do
Gpurealiza verificações de integridade em um recurso de computação para evitar o envio de trabalhos em nós com uma GPU degradada. -
Se um nó de computação falhar em uma verificação de integridade do
Gpu, o estado do nó de computação mudará paraDRAIN. 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
Gpusaú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 deGpusaúde (equivalente ao número de destinos da GPU do trabalho). Para uma instância com 8 GPUs, a duração típica é inferior a 3 minutos. -
Se a verificação de integridade do
Gpufor 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 uma GPU, ou se uma instância tiver uma GPU, mas não for uma GPU NVIDIA, a verificação de integridade será encerrada e o trabalho será executado no nó de computação. Somente a NVIDIA GPUs é compatível. -
A verificação de integridade
Gpuusa a ferramentadcgmipara realizar verificações de integridade em um nó e segue as seguintes etapas:Quando a verificação de integridade
Gpucomeça em um nó:-
Ele detecta se os serviços
nvidia-dcgmenvidia-fabricmanagerestão em execução. -
Se esses serviços não estiverem em execução, a verificação de integridade
Gpuos iniciará. -
Ele detecta se o modo de persistência está ativado.
-
Se o modo de persistência não estiver ativado, a verificação de integridade
Gpuo ativará.
Ao final da verificação de saúde, a verificação de integridade
Gpurestaura esses serviços e recursos ao estado inicial. -
-
Se o trabalho for atribuído a um conjunto específico de nós GPUs, a verificação de
Gpuintegridade será executada somente nesse conjunto específico. Caso contrário, a verificação deGpuintegridade será executada GPUs em tudo no nó. -
Se um nó de computação receber duas ou mais solicitações de verificação de integridade
Gpuao 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 identificador da GPU, o ID serial e o UUID.
-
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 na fila Slurm.
Efa: Enabled:booleanGdrSupport:booleanEnabled(Opcional,Boolean)-
Especifica que o Elastic Fabric Adapter (EFA) está ativado. Para ver a lista de EC2 instâncias da Amazon que oferecem suporte ao EFA, consulte Tipos de instância compatíveis no Guia do EC2 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 habilitadas para EFA sejam membros de um grupo de segurança que permite todo o tráfego de entrada e saída para si mesmo.
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 (EFA) para GPUDirect RDMA (acesso direto remoto à memória) está sempre ativado se for suportado pelo tipo de instância do recurso Slurm computacional e do sistema operacional.
CapacityReservationTarget-
CapacityReservationTarget: CapacityReservationId:stringCapacityReservationResourceGroupArn:stringEspecifica 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 uma ODCR ou 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 nome do recurso da Amazon (ARN) do grupo de recursos que serve como o grupo de reservas de capacidade vinculadas ao serviço do recurso de computação. AWS ParallelCluster identifica e usa a reserva de capacidade mais adequada ao grupo. O grupo de recursos deve ter pelo menos um ODCR para cada tipo de instância listado para o recurso de computação. Para obter mais informações, consulte Iniciar instâncias com Reservas de Capacidade Sob Demanda (ODCR).
-
Se
PlacementGroupestiver habilitado em SlurmQueues/Networkingou SlurmQueues/ComputeResources/Networking, AWS ParallelCluster seleciona um grupo de recursos que tem como alvo o tipo de instância ePlacementGroupum recurso computacional, se ele existir.PlacementGroupprecisa ter como alvo um dos tipos de instância definidos em ComputeResources. -
Se
PlacementGroupnão estiver habilitado em SlurmQueues/Networkingou SlurmQueues/ComputeResources/Networking, AWS ParallelCluster seleciona um grupo de recursos que tem como alvo somente o tipo de instância de um recurso computacional, se ele existir.
-
nota
CapacityReservationTargeté adicionado com o AWS ParallelCluster versão 3.3.0. Networking-
Networking: PlacementGroup: Enabled:booleanName:stringPlacementGroup(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 umNamedefinido, 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 umNamedefinido, esse recurso de computação receberá seu próprio grupo de posicionamento nomeado, independentemente das configuraçõesSlurmQueues/Networking/PlacementGroup.
-
Name(Opcional,String)-
O nome do grupo de posicionamento de um grupo de posicionamento de cluster existente usado pelo recurso de computação.
nota
-
Se
PlacementGroup/EnabledeNamenã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 as configurações personalizadas do nó Slurm (recurso de computação).
Especifica um dicionário de pares de valores-chave de parâmetros de configuração Slurm personalizados que se aplicam aos nós Slurm (recursos de computação).
Cada par de valores-chave separado, como
Param1: Value1, é adicionado separadamente ao final da linha de configuração do nó Slurm no formatoParam1=Value1.Você só pode especificar parâmetros de configuração Slurm que não estejam listados como negados em
CustomSlurmSettings. Para obter mais informações sobre parâmetros de configuração negados do Slurm, consulte Listado na lista de negação Slurm parâmetros de configuração para CustomSlurmSettings.AWS ParallelCluster só verifica se um parâmetro está em uma lista de negação. AWS ParallelCluster não valida a sintaxe ou a Slurm semântica do parâmetro de configuração personalizado. É sua responsabilidade validar seus parâmetros de Slurm configuração personalizados. Parâmetros de configuração personalizados do Slurm inválidos podem causar falhas no daemon do Slurm que podem levar a falhas na criação e atualização do cluster.
Para obter mais informações sobre como especificar parâmetros Slurm de configuração personalizados com AWS ParallelCluster, consulteSlurm personalização de configuração.
Para obter mais informações sobre os parâmetros de configuração Slurm, consulte slurm.conf
na documentação do Slurm. 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
ComputeResourcesubstituem 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.
ComputeSettings
(Obrigatório) Define a configuração ComputeSettings para a fila Slurm.
Propriedades do ComputeSettings
Especifica as propriedades ComputeSettings dos nós na fila Slurm.
ComputeSettings: LocalStorage: RootVolume: Size:integerEncrypted:booleanVolumeType:stringIops:integerThroughput:integerEphemeralVolume: MountDir:string
LocalStorage(opcional)-
Especifica as propriedades
LocalStoragedos nós na fila Slurm.LocalStorage: RootVolume: Size:integerEncrypted:booleanVolumeType:stringIops:integerThroughput:integerEphemeralVolume: MountDir:stringRootVolume(opcional)-
Especifica os detalhes do volume raiz dos nós na fila Slurm.
RootVolume: Size:integerEncrypted:booleanVolumeType:stringIops:integerThroughput:integerSize(Opcional,Integer)-
Especifica o tamanho do volume raiz em gibibytes (GiB) para os nós na fila Slurm. O tamanho padrão vem da AMI. Usar um tamanho diferente exige que AMI seja compatível com
growroot. Encrypted(Opcional,Boolean)-
Se
true, o volume raiz dos nós na fila Slurm ficam criptografados. O valor padrão éfalse. VolumeType(Opcional,String)-
Especifica o tipo de volume do Amazon EBS dos nós na fila Slurm. Os valores compatíveis são
gp2,gp3,io1,io2,sc1,st1estandard. O valor padrão égp3.Para obter mais informações, consulte os tipos de volume do Amazon EBS no Guia do EC2 usuário da Amazon.
Iops(Opcional,Boolean)-
Define o número de IOPS para os volumes do tipo
io1,io2egp3.O valor padrão, os valores suportados e a proporção do
volume_iopsparavolume_sizevariam de acordo comVolumeTypeeSize.VolumeType=io1-
Padrão
Iops= 100Valores suportados
Iops= 100–64000 †Proporção máxima de
volume_iopsparavolume_size= 50 IOPS por GiB. 5000 IOPS exigem umvolume_sizede pelo menos 100 GiB. VolumeType=io2-
Padrão
Iops= 100Valores suportados
Iops= 100–64000 (256000 para volumes doio2Block Express) †Proporção máxima de
IopsparaSize= 500 IOPS por GiB. 5000 IOPS exigem umSizede pelo menos 10 GiB. VolumeType=gp3-
Padrão
Iops= 3000Valores
Iopssuportados = 3000–16000 †Relação de
IopsmáximaSize= 500 IOPS por GiB para volumes com IOPS maior que 3000.
† O número máximo de IOPS é garantido somente em instâncias criadas no Nitro System que também são provisionadas com mais de 32.000 IOPS. Outras instâncias podem ter até 32.000 IOPS. Os volumes de
io1mais antigos podem não atingir o desempenho total, a menos que você modifique o volume.io2Os volumes do Block Express oferecem suporte a valoresvolume_iopsde até 256000 em tipos de instânciaR5b. Para obter mais informações, consulte Volumes doio2Block Express no Guia EC2 do usuário da Amazon. Throughput(Opcional,Integer)-
Define o throughput para tipos de volume
gp3, em MiB/s. Isso é válido somente quandoVolumeTypeégp3. O valor padrão é125. Valores suportados: 125–1000 MiB/sA proporção de
ThroughputparaIopsnão pode ser superior a 0,25. A taxa de transferência máxima de 1000 MiB/s exige que aIopsconfiguração seja de pelo menos 4000.
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:stringMountDir(Opcional,String)-
O diretório de montagem do volume efêmero de cada nó na fila do Slurm.
CustomActions
(Opcional) Especifica scripts personalizados a serem executados nos nós da fila Slurm.
CustomActions: OnNodeStart: Sequence: - Script:stringArgs: -stringScript:stringArgs: -stringOnNodeConfigured: Sequence: - Script:stringArgs: -stringScript:stringArgs: -string
Propriedades do CustomActions
OnNodeStart(Opcional,String)-
Especifica uma sequência de scripts ou um único script a ser executado nos nós da fila Slurm antes que qualquer ação de bootstrap de implantação do nó seja iniciada. AWS ParallelCluster não suporta a inclusão de um único script e
Sequenceda mesma ação personalizada. Para obter mais informações, consulte Ações de bootstrap personalizadas.Sequence(opcional)-
Lista de scripts a serem executados.
Script(Obrigatório,String)-
O arquivo a ser usado. O caminho do arquivo pode começar com
https://ous3://. Args(Opcional,[String])-
Lista de argumentos a serem transmitidos para o script.
Script(Obrigatório,String)-
O arquivo a ser usado para um único script. O caminho do arquivo pode começar com
https://ous3://. Args(Opcional,[String])-
Lista de argumentos a serem transmitidos para o único script.
OnNodeConfigured(Opcional,String)-
Especifica uma sequência de scripts ou um único script a ser executado nos nós da fila Slurm 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
Sequenceda mesma ação personalizada. Para obter mais informações, consulte Ações de bootstrap personalizadas.Sequence(opcional)-
Lista de scripts a serem executados.
Script(Obrigatório,String)-
O arquivo a ser usado. O caminho do arquivo pode começar com
https://ous3://. Args(Opcional,[String])-
Lista de argumentos a serem transmitidos para o script.
Script(Obrigatório,String)-
O arquivo a ser usado para um único script. O caminho do arquivo pode começar com
https://ous3://. Args(Opcional,[String])-
Lista de argumentos a serem transmitidos para o script.
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
Sequenceda mesma ação personalizada.
Iam
(Opcional) Define as configurações opcionais do IAM para a fila Slurm.
Iam: S3Access: - BucketName:stringEnableWriteAccess:booleanKeyName:stringAdditionalIamPolicies: - Policy:stringInstanceProfile:stringInstanceRole: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 da fila Slurm. Não é possível especificar ambos
InstanceProfileeInstanceRole. O formato éarn:${Partition}:iam::${Account}:instance-profile/${InstanceProfileName}.Se isso for especificado, as configurações
S3AccesseAdditionalIamPoliciesnão poderão ser especificadas.Recomendamos que você especifique uma ou ambas configurações
S3AccesseAdditionalIamPolicies, pois os recursos adicionados ao AWS ParallelCluster geralmente exigem novas permissões. InstanceRole(Opcional,String)-
Especifica um perfil de instância para substituir a função de instância padrão ou o perfil de instância da fila Slurm. Não é possível especificar ambos
InstanceProfileeInstanceRole. O formato éarn:${Partition}:iam::${Account}:role/${RoleName}.Se isso for especificado, as configurações
S3AccesseAdditionalIamPoliciesnão poderão ser especificadas.Recomendamos que você especifique uma ou ambas configurações
S3AccesseAdditionalIamPolicies, 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 a fila Slurm. Isso é usado para gerar políticas para conceder o acesso especificado ao bucket na fila Slurm.
Se isso for especificado, as configurações
InstanceProfileeInstanceRolenão poderão ser especificadas.Recomendamos que você especifique uma ou ambas configurações
S3AccesseAdditionalIamPolicies, pois os recursos adicionados ao AWS ParallelCluster geralmente exigem novas permissões.S3Access: - BucketName:stringEnableWriteAccess:booleanKeyName:stringPolí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 políticas do IAM para a Amazon EC2 . Essa lista é anexada à função raiz usada para a Slurm fila, além das permissões exigidas pelo AWS ParallelCluster.
O nome da política do IAM e seu ARN são diferentes. Os nomes não podem ser usados.
Se isso for especificado, as configurações
InstanceProfileeInstanceRolenão poderão ser especificadas.Recomendamos usar
AdditionalIamPoliciesporqueAdditionalIamPoliciessão adicionadas às permissões exigidas pelo AWS ParallelCluster , eInstanceRoledeve 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:stringPolítica de atualização: essa configuração pode ser alterada durante uma atualização.
Policy(Obrigatório,[String])-
Lista de políticas do IAM.
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:integerQueueUpdateStrategy:stringEnableMemoryBasedScheduling:booleanCustomSlurmSettings:[dict]CustomSlurmSettingsIncludeFile:stringDatabase: Uri:stringUserName:stringPasswordSecretArn:stringExternalSlurmdbd: Host:stringPort:integerDns: DisableManagedDns:booleanHostedZoneId:stringUseEc2Hostnames:boolean
Propriedades do SlurmSettings
ScaledownIdletime(Opcional,Integer)-
Define por quanto tempo (em minutos) não há trabalho e o nó do Slurm que é encerrado.
O valor padrão é
10. MungeKeySecretArn(Opcional,String)-
O Amazon Resource Name (ARN) do segredo em texto simples do Secrets AWS Manager que contém a chave munge codificada em base64 para ser usada no cluster. Slurm Esta chave munge será usada para autenticar chamadas RPC entre comandos do cliente Slurm e daemons Slurm atuando como servidores remotos. Se não MungeKeySecretArn for fornecido, AWS ParallelCluster gerará uma chave munge aleatória para o cluster.
nota
MungeKeySecretArné compatível a partir do 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 codificada em base64 válida e
-
A chave binária munge decodificada tem um tamanho entre 256 e 8.192 bits.
Se a política do IAM do 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 ARN secreto 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 de munge do ARN secreto, você deve interromper a frota de computação e os nós de login e, em seguida, executar o comando a seguir no nó principal.
sudo /opt/parallelcluster/scripts/slurm/update_munge_key.shDepois 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 0ou 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") -
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:
O valor
QueueUpdateStrategyé usado somente quando um processo de atualização do cluster é iniciado.Valores válidos:
COMPUTE_FLEET_STOP|DRAIN|TERMINATEValor padrão:
COMPUTE_FLEET_STOPDRAIN-
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 SlurmQueues seção 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)-
Se
true, o agendamento baseado em memória estiver habilitado em 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 maneira como o programador Slurm lida com tarefas e alocação de nós.
Para obter mais informações, consulte Slurm agendamento baseado em memória.
nota
EnableMemoryBasedSchedulingé suportado a partir do AWS ParallelCluster versão 3.2.0.nota
Para AWS ParallelCluster as versões 3.2.0 a 3.6.
x, nãoEnableMemoryBasedSchedulingpode ser ativado se você configurar vários tipos de instância em Instâncias. CustomSlurmSettings(Opcional,[Dict])-
Define as configurações de Slurm personalizadas que se aplicam a todo o cluster.
Especifica uma lista de dicionários de configuração de pares de valores-chave Slurm a serem anexados ao final do arquivo
slurm.confque é gerado pelo AWS ParallelCluster .Cada dicionário na lista aparece como uma linha separada adicionada ao arquivo de configuração Slurm. 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 na configuração Slurm:
Param1=100 Param2=SubParam1,SubParam2=SubValue2Os parâmetros de configuração complexos do Slurm 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 settingsExemplo, renderizado na configuração 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 settingsnota
Os nós personalizados do Slurm não devem conter os padrões
-st-ou-dy-em seus nomes. Esses padrões são reservados para nós gerenciados pelo AWS ParallelCluster.Se você especificar parâmetros de configuração Slurm personalizados em
CustomSlurmSettings, não deverá especificar parâmetros de configuração Slurm personalizados paraCustomSlurmSettingsIncludeFile.Você só pode especificar parâmetros de configuração Slurm que não estejam listados como negados em
CustomSlurmSettings. Para obter mais informações sobre parâmetros de configuração negados do Slurm, consulte Listado na lista de negação Slurm parâmetros de configuração para CustomSlurmSettings.AWS ParallelCluster só verifica se um parâmetro está em uma lista de negação. AWS ParallelCluster não valida a sintaxe ou a Slurm semântica do parâmetro de configuração personalizado. É sua responsabilidade validar seus parâmetros de Slurm configuração personalizados. Parâmetros de configuração personalizados do Slurm inválidos podem causar falhas no daemon do Slurm que podem levar a falhas na criação e atualização do cluster.
Para obter mais informações sobre como especificar parâmetros Slurm de configuração personalizados com AWS ParallelCluster, consulteSlurm personalização de configuração.
Para obter mais informações sobre os parâmetros de configuração Slurm, consulte slurm.conf
na documentação do Slurm. 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 as configurações de Slurm personalizadas que se aplicam a todo o cluster.
Especifica o arquivo Slurm personalizado que consiste em parâmetros de configuração Slurm personalizados a serem anexados ao final do arquivo
slurm.confque é gerado pelo AWS ParallelCluster .Você deve incluir o caminho para o arquivo. O caminho do arquivo pode começar com
https://ous3://.Se você especificar parâmetros de configuração Slurm personalizados para
CustomSlurmSettingsIncludeFile, você não deverá especificar parâmetros de configuração Slurm personalizados paraCustomSlurmSettings.nota
Os nós personalizados do Slurm não devem conter os padrões
-st-ou-dy-em seus nomes. Esses padrões são reservados para nós gerenciados pelo AWS ParallelCluster.Você só pode especificar parâmetros de configuração Slurm que não estejam listados como negados em
CustomSlurmSettingsIncludeFile. Para obter mais informações sobre parâmetros de configuração negados do Slurm, consulte Listado na lista de negação Slurm parâmetros de configuração para CustomSlurmSettings.AWS ParallelCluster só verifica se um parâmetro está em uma lista de negação. AWS ParallelCluster não valida a sintaxe ou a Slurm semântica do parâmetro de configuração personalizado. É sua responsabilidade validar seus parâmetros de Slurm configuração personalizados. Parâmetros de configuração personalizados do Slurm inválidos podem causar falhas no daemon do Slurm que podem levar a falhas na criação e atualização do cluster.
Para obter mais informações sobre como especificar parâmetros Slurm de configuração personalizados com AWS ParallelCluster, consulteSlurm personalização de configuração.
Para obter mais informações sobre os parâmetros de configuração Slurm, consulte slurm.conf
na documentação do Slurm. 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 para ativar a contabilidade de Slurm no cluster. Para obter mais informações, consulte Slurm contabilidade com AWS ParallelCluster.
Database: Uri:stringUserName:stringPasswordSecretArn:string
Propriedades do Database
Uri(Obrigatório,String)-
O endereço do servidor de banco de dados usado como back-end para a contabilidade Slurm. Esse URI deve ser formatado como
host:porte não deve conter um esquema, comomysql://. O host pode ser um endereço IP ou um nome DNS que pode ser resolvido pelo nó principal. Se uma porta não for fornecida, AWS ParallelCluster usa a porta MySQL padrão 3306.AWS ParallelCluster inicializa o banco de dados Slurm contábil no cluster e deve acessar o banco de dados.
O banco de dados deve estar acessível antes que o seguinte ocorra:
-
Um cluster é criado.
-
A contabilidade de Slurm é habilitada com uma atualização de cluster.
-
UserName(Obrigatório,String)-
A identidade usada por Slurm para se conectar ao banco de dados, gravar logs contábeis e realizar consultas. O usuário deve ter as permissões de leitura e gravação no banco de dados.
PasswordSecretArn(Obrigatório,String)-
O Amazon Resource Name (ARN) do AWS Secrets Manager segredo que contém a senha em texto
UserNamesimples. Essa senha é usada junto com a contabilidadeUserNamea Slurm 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.
-
Você não pode usar o caractere '#' na senha do banco de dados, pois o Slurm não o suporta no slurmdbd.conf.
-
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 a permissão para DescribeSecret,
PasswordSecretArné validado.PasswordSecretArné válido se o segredo especificado existir. Se a política do IAM do usuário não incluirDescribeSecret,PasswordSecretArnnão for 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 secreto mudar e o ARN secreto 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.shAtençã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.
-
DatabaseName(Opcional,String)-
Nome do banco de dados no servidor de banco de dados (definido pelo parâmetro Uri) a ser usado para contabilidade do Slurm.
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 mapeia para o parâmetro
StorageLocslurmdbd.conf. Se não
DatabaseNamefor 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ários QOSs, 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 a Slurm funcionalidade de contabilidade.
-
nota
Database é adicionado a partir da versão 3.3.0.
ExternalSlurmdbd
(Opcional) Define as configurações para ativar a contabilidade do Slurm com um servidor slurmdbd externo. Para obter mais informações, consulte Slurmcontabilidade com AWS ParallelCluster.
ExternalSlurmdbd: Host:stringPort:integer
Propriedades do ExternalSlurmdbd
-
Host(Obrigatório,String) -
O endereço para o servidor slurmdbd externo para contabilidade Slurm. O host pode ser um endereço IP ou um nome DNS 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:booleanHostedZoneId:stringUseEc2Hostnames:boolean
Propriedades do Dns
DisableManagedDns(Opcional,Boolean)-
Se
true, as entradas de DNS do cluster não forem criadas e os nomes dos nós Slurm não puderem 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. SeDisableManagedDnsestiver 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
DisableManagedDnsestiver definido comotrue, você deverá fornecer um sistema de resolução de nomes. Para usar o DNS EC2 padrão da Amazon,UseEc2Hostnamesdefinatruecomo. Como alternativa, configure seu próprio resolvedor de DNS 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 na resolução de nomes DNS 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)-
Se
true, os nós de computação do cluster estiverem configurados com o nome de EC2 host padrão. ONodeHostNamedo Slurm també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
UseEc2Hostnamesdefinido comotrue, o arquivo de configuração do Slurm é definido com os scripts AWS ParallelClusterprologeepilog:-
O
prologé executado para adicionar informações sobre nós ao/etc/hostsnos nós de computação quando cada trabalho é alocado. -
O
epilogé executado para limpar o conteúdo escrito peloprolog.
Para adicionar scripts personalizados
prologouepilog, 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.
-