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
eawsbatch
.Política de atualização: se essa configuração for alterada, a atualização não será permitida.
nota
awsbatch
suporta apenas o sistema operacionalalinux2
e a plataformax86_64
. ScalingStrategy
(Opcional,String
)-
Permite que você escolha o quão dinâmico Slurm os nós aumentam de escala. Os valores suportados são
all-or-nothing
,greedy-all-or-nothing
ebest-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-nothing
Essa 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ão
ONDEMAND
,SPOT
ouCAPACITY_BLOCK
. O valor padrão éONDEMAND
.nota
Se você definir
CapacityType
comoSPOT
, 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.goskope.comPara 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: -
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.
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
efalse
. 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.
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
MinvCpus
eMaxvCpus
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
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
. 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:
-
Se
PlacementGroup
estiver habilitado em SlurmQueues/Networkingou SlurmQueues/ComputeResources/Networking, AWS ParallelCluster seleciona um grupo de recursos que tem como alvo o tipo de instância ePlacementGroup
para um recurso computacional, se o recurso computacional existir.PlacementGroup
precisa ter como alvo um dos tipos de instância definidos em ComputeResources. -
Se
PlacementGroup
nã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 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.
-
CapacityType
(Opcional,String
)-
O tipo de recursos computacionais que o Slurm usos da fila. Os valores suportados são
ONDEMAND
,SPOT
ouCAPACITY_BLOCK
. O valor padrão éONDEMAND
.nota
Se você definir
CapacityType
paraSPOT
, 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.goskope.comPara 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
Padrão:
lowest-price
lowest-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 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ê definir
CapacityType = CAPACITY_BLOCK
, não há estratégias de alocação, portanto, oAllocationStrategy
parâmetro não pode ser configurado.
-
capacity-optimized
-
-
Se você definir
CapacityType = ONDEMAND
,capacity-optimized
nã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-optimized
nã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.
-
nota
AllocationStrategy
é suportado a partir do AWS ParallelCluster versão 3.3.0. JobExclusiveAllocation
(Opcional,String
)-
Se definido como
true
, o Slurm oOverSubscribe
sinalizador de partição está 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 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, como
Param1: 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 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)-
Especifique verificações de GPU saúde em todos os recursos computacionais em uma fila.
nota
AWS ParallelCluster não suporta
HealthChecks
/Gpu
em nós que usam sistemasalinux2
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
-
Se
Gpu
/Enabled
estiver 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á 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
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 deGpu
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 ferramentadcgmi
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ó:-
Ele detecta se os serviços
nvidia-dcgm
envidia-fabricmanager
estão em execução. -
Se esses serviços não estiverem em execução, a verificação de integridade
Gpu
os 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
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 deGpu
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
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
esubnet-2
não podem ambas estar no AZ-1.subnet-1
pode estar em AZ-1 esubnet-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 deInstanceType
.Por exemplo, defina
ComputeResources
/Instances
/InstanceType
=instance.type
em 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 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
efalse
. 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//ElasticIp
true
para 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, definaAssignPublicIp
parafalse
. 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
Enabled
(Opcional,Boolean
)-
Indica se um grupo de posicionamento é usado para o Slurm queue. O padrão é
false
. 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.
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.
nota
-
Se
PlacementGroup
/Enabled
for definido comotrue
, sem umName
ouId
definido, 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 Slurm queue.
Proxy: HttpProxyAddress:
string
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.
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
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
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
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
ouarm64
.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 emInstances
em vez deInstanceType
. 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.
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
Para AWS ParallelCluster as versões 3.2.0 a 3.6.
x
, nãoEnableMemoryBasedScheduling
pode ser ativado se você configurar vários tipos de instância em Instâncias.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
ouarm64
.Os tipos de instância listados em Instances devem ter:
-
O mesmo número devCPUs, ou, 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 consumível Slurm recurso.
nota
Para AWS ParallelCluster as versões 3.2.0 a 3.6.
x
, nãoEnableMemoryBasedScheduling
pode 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 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.
-
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
MaxCount
(Opcional,Integer
)-
O número máximo de instâncias em que o Slurm usos de recursos computacionais. O padrão é 10.
Ao usar
CapacityType = CAPACITY_BLOCK
,MaxCount
deve ser igualMinCount
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 usar
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 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
Weight
de 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
Weight
de 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.
DisableSimultaneousMultithreading
(Opcional,Boolean
)-
Se
true
, 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.
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 Amazone 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 Amazone 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 deEnableMemoryBasedScheduling
. 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 suporta
HealthChecks
/Gpu
em nós que usam sistemasalinux2
ARM operacionais. Essas plataformas não oferecem suporte ao NVIDIAData Center GPU Manager (DCGM).
Comportamento de verificação de integridade de
Gpu
-
Se
Gpu
/Enabled
estiver 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á 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
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 deGpu
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 ferramentadcgmi
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ó:-
Ele detecta se os serviços
nvidia-dcgm
envidia-fabricmanager
estão em execução. -
Se esses serviços não estiverem em execução, a verificação de integridade
Gpu
os 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
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 deGpu
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
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.
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 (Osisalinux2
ubuntu1804
, ouubuntu2004
). O valor padrão é falso.
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.
-
Se
PlacementGroup
estiver habilitado em SlurmQueues/Networkingou SlurmQueues/ComputeResources/Networking, AWS ParallelCluster seleciona um grupo de recursos que tem como alvo o tipo de instância ePlacementGroup
um recurso computacional, se ele existir.PlacementGroup
precisa ter como alvo um dos tipos de instância definidos em ComputeResources. -
Se
PlacementGroup
nã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:
boolean
Name:string
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 umName
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 umName
definido, 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
/Enabled
eName
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, como
Param1: 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.
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
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
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
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 suportes
growroot
. Encrypted
(Opcional,Boolean
)-
Se
true
, o volume raiz dos nós no Slurm as filas são criptografadas. O valor padrão éfalse
. 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
estandard
. 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.
Iops
(Opcional,Boolean
)-
Define o número de volumes IOPS para
io1
io2
, egp3
tipo.O valor padrão, os valores suportados e a proporção do
volume_iops
paravolume_size
variam de acordo comVolumeType
eSize
.VolumeType
=io1
-
Padrão
Iops
= 100Valores suportados
Iops
= 100–64000 †volume_iops
Máximo emvolume_size
relação à proporção = 50 IOPS por GiB. 5000 IOPS requer pelo menos 100 GiB.volume_size
VolumeType
=io2
-
Padrão
Iops
= 100Valores suportados
Iops
= 100–64000 (256000 para volumes doio2
Block Express) †Iops
Máximo emSize
relação à proporção = 500 IOPS por GiB. 5000 IOPS requer pelo menos 10 GiB.Size
VolumeType
=gp3
-
Padrão
Iops
= 3000Valores
Iops
suportados = 3000–16000 †Size
Relação máximaIops
= 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 valoresvolume_iops
de até 256000 em tipos de instânciaR5b
. Para obter mais informações, consulte Volumes doio2
Block 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
Throughput
paraIops
não pode ser superior a 0,25. O throughput máximo de 1000 MiB/s exige que a configuraçãoIops
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:
string
MountDir
(Opcional,String
)-
O diretório de montagem do volume efêmero de cada nó no Slurm queue.
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
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.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 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.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
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
eInstanceRole
. O formato éarn:${Partition}:iam::${Account}:instance-profile/${InstanceProfileName}
.Se isso for especificado, as configurações
S3Access
eAdditionalIamPolicies
não poderão ser especificadas.Recomendamos que você especifique uma ou ambas configurações
S3Access
eAdditionalIamPolicies
, pois os recursos adicionados ao AWS ParallelCluster geralmente exigem novas permissões. 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
eInstanceRole
. O formato éarn:${Partition}:iam::${Account}:role/${RoleName}
.Se isso for especificado, as configurações
S3Access
eAdditionalIamPolicies
não poderão ser especificadas.Recomendamos que você especifique uma ou ambas configurações
S3Access
eAdditionalIamPolicies
, 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
eInstanceRole
não poderão ser especificadas.Recomendamos que você especifique uma ou ambas configurações
S3Access
eAdditionalIamPolicies
, 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
eInstanceRole
não poderão ser especificadas.Recomendamos usar
AdditionalIamPolicies
porqueAdditionalIamPolicies
são adicionadas às permissões exigidas pelo AWS ParallelCluster , eInstanceRole
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.
Policy
(Obrigatório,[String]
)-
Lista de IAM políticas.
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
. 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:
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
)-
Se
true
, 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
Para AWS ParallelCluster as versões 3.2.0 a 3.6.
x
, nãoEnableMemoryBasedScheduling
pode ser ativado se você configurar vários tipos de instância em Instâncias. 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 ParallelClusterCada 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 em
CustomSlurmSettings
, 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://
ous3://
.Se você especificar personalizado Slurm parâmetros de configuração para
CustomSlurmSettingsIncludeFile
, 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
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.
-
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.
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 comUserName
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.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 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.
-
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
)-
Se
true
, 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
. SeDisableManagedDns
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 comotrue
, 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
)-
Se
true
, os nós de computação do cluster estiverem configurados com o nome de EC2 host padrão. A ferramenta SlurmNodeHostName
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
UseEc2Hostnames
definido comotrue
, o arquivo de configuração do Slurm é definido com os scripts AWS ParallelClusterprolog
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 peloprolog
.
Para adicionar scripts personalizados
prolog
ouepilog
, 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.
-