

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á.

# Definindo configurações personalizadas do Slurm no PCS AWS
<a name="slurm-custom-settings"></a>

Use configurações personalizadas do Slurm para definir parâmetros adicionais do Slurm em recursos de cluster, fila e grupo de nós de computação. Esta versão adiciona suporte às configurações do Slurm nos recursos do Queue, fornecendo controle granular sobre comportamentos específicos da partição.

## Benefícios das configurações personalizadas do Slurm
<a name="custom-settings-benefits"></a>

As configurações personalizadas do Slurm fornecem controle sofisticado sobre seu ambiente de HPC AWS baseado em PC. Você pode implementar uma contabilidade detalhada, aplicar controles de acesso e otimizar a execução da carga de trabalho por meio de quality-of-service configurações e políticas de preempção. Esses recursos garantem que trabalhos essenciais recebam os recursos necessários e, ao mesmo tempo, mantêm a utilização eficiente do cluster. Se você gerencia cargas de trabalho aceleradas por GPU, implementa um agendamento de compartilhamento justo ou controla os ciclos de vida das tarefas, as configurações personalizadas ajudam a alinhar sua infraestrutura de HPC aos requisitos operacionais e aos objetivos da pesquisa.

## Definindo configurações personalizadas
<a name="custom-settings-configuration"></a>

As configurações personalizadas do Slurm podem ser definidas por meio do AWS console, da CLI ou SDKs durante a criação do recurso ou modificadas posteriormente por meio de operações de atualização.

------
#### [ Console de gerenciamento da AWS ]

Navegue até **Configurações adicionais do agendador** na página de criação ou edição para qualquer tipo de recurso (cluster, fila ou grupo de nós de computação).

**Para adicionar uma nova configuração**

1. Escolha **Adicionar nova configuração**.

1. Selecione um nome de **parâmetro** na lista suspensa (que inclui breves descrições de parâmetros).

1. Forneça o valor correspondente.

**Para cancelar a definição de uma configuração personalizada**

1. Escolha **Remover** ao lado do parameter/value par relevante.

1. Crie ou atualize o recurso.

------
#### [ AWS CLI ]

Para gerenciamento programático de configurações personalizadas, use o `SlurmCustomSettings` campo nas operações de criação ou atualização.

**Example — Atualizando o `Prolog` parâmetro em um cluster**  

```
aws pcs update-cluster --cluster-identifier my-cluster \
--slurm-configuration \
'SlurmCustomSettings=[{parameterName=Prolog,parameterValue="/path/to/prolog.sh"}]'
```

**Example — Configurando uma fila para estar `Default` em um cluster**  

```
aws pcs update-queue \
    --cluster-identifier my-cluster \
    --queue-identifier my-queue \
    --slurm-configuration 'SlurmCustomSettings=[{parameterName=Default,parameterValue=YES}]'
```

**Example — Configuração personalizada `Features` em um grupo de nós de computação**  

```
aws pcs update-compute-node-group \
    --cluster-identifier my-cluster \
    --compute-node-group-identifier my-cng-1 \
    --slurm-configuration \
    'SlurmCustomSettings=[{parameterName=Features,parameterValue="gpu,nvme"}]'
```

------

## Validação e tratamento de erros
<a name="custom-settings-validation"></a>

AWS O PCS implementa um processo de validação em várias camadas para configurações personalizadas do Slurm. Durante as operações de criação e atualização, realizamos validações síncronas que incluem:
+ Verificações em nível de campo: validamos configurações individuais para tipos de dados corretos, valores permitidos e requisitos de formato. Por exemplo, garantimos que os valores de tempo estejam no formato correto do Slurm e que os valores booleanos usem representações booleanas aceitas do Slurm.
+ Validações sensíveis ao contexto: algumas configurações são verificadas em relação ao contexto de configuração mais amplo. Por exemplo, certos parâmetros só são válidos quando a contabilidade do Slurm está ativada.
+ Consistência entre configurações: verificamos se as opções mutuamente exclusivas não estão definidas juntas e se as configurações interdependentes estão definidas corretamente.

Se a validação falhar, você receberá um `ValidationException` código de erro específico (por exemplo, InvalidInput), uma mensagem de erro clara descrevendo o problema e uma lista dos campos inválidos e seus respectivos detalhes de erro.

Embora muitos problemas sejam detectados durante essa validação inicial, algumas interações complexas entre as configurações só podem se tornar aparentes ao aplicar a configuração. Nesses casos, a operação falhará com uma mensagem de erro informativa e quaisquer alterações parciais serão revertidas.

## Limitações
<a name="custom-settings-limitations"></a>

AWS O PCS implementa uma abordagem de lista de permissões para proteger a segurança do serviço e a estabilidade operacional. As configurações que podem comprometer a segurança da conta de serviço ou interferir nos recursos do serviço gerenciado são restritas. No entanto, avaliamos continuamente as necessidades dos clientes e podemos adicionar suporte para configurações adicionais com base nos comentários dos clientes.

**Topics**
+ [Benefícios das configurações personalizadas do Slurm](#custom-settings-benefits)
+ [Definindo configurações personalizadas](#custom-settings-configuration)
+ [Validação e tratamento de erros](#custom-settings-validation)
+ [Limitações](#custom-settings-limitations)
+ [Configurações personalizadas do Slurm para AWS clusters PCS](slurm-custom-settings-cluster.md)
+ [Configurações personalizadas do Slurm para grupos de nós de computação AWS PCS](slurm-custom-settings-cng.md)
+ [Configurações personalizadas do Slurm para AWS filas PCS](slurm-custom-settings-queue.md)
+ [Solução de problemas de configurações personalizadas do Slurm no PCS AWS](slurm-custom-settings-troubleshooting.md)

# Configurações personalizadas do Slurm para AWS clusters PCS
<a name="slurm-custom-settings-cluster"></a>

As seguintes configurações personalizadas do Slurm são suportadas no nível do cluster:
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_AccountingStorageEnforce](https://slurm.schedmd.com/slurm.conf.html#OPT_AccountingStorageEnforce)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_AccountingStorageTRES](https://slurm.schedmd.com/slurm.conf.html#OPT_AccountingStorageTRES)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_AccountingStoreFlags](https://slurm.schedmd.com/slurm.conf.html#OPT_AccountingStoreFlags)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_DefMemPerCPU](https://slurm.schedmd.com/slurm.conf.html#OPT_DefMemPerCPU)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_Epilog_1](https://slurm.schedmd.com/slurm.conf.html#OPT_Epilog_1)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_EnforcePartLimits](https://slurm.schedmd.com/slurm.conf.html#OPT_EnforcePartLimits)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_FairShareDampeningFactor](https://slurm.schedmd.com/slurm.conf.html#OPT_FairShareDampeningFactor)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_FirstJobId](https://slurm.schedmd.com/slurm.conf.html#OPT_FirstJobId)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_HealthCheckInterval](https://slurm.schedmd.com/slurm.conf.html#OPT_HealthCheckInterval)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_HealthCheckNodeState](https://slurm.schedmd.com/slurm.conf.html#OPT_HealthCheckNodeState)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_HealthCheckProgram](https://slurm.schedmd.com/slurm.conf.html#OPT_HealthCheckProgram)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_JobRequeue](https://slurm.schedmd.com/slurm.conf.html#OPT_JobRequeue)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_LaunchParameters](https://slurm.schedmd.com/slurm.conf.html#OPT_LaunchParameters)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_Licenses](https://slurm.schedmd.com/slurm.conf.html#OPT_Licenses)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_MinJobAge](https://slurm.schedmd.com/slurm.conf.html#OPT_MinJobAge)
**nota**  
AWS PCS suporta um valor mínimo de 5 segundos para`MinJobAge`.
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_OverTimeLimit](https://slurm.schedmd.com/slurm.conf.html#OPT_OverTimeLimit)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PreemptExemptTime](https://slurm.schedmd.com/slurm.conf.html#OPT_PreemptExemptTime)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PreemptMode](https://slurm.schedmd.com/slurm.conf.html#OPT_PreemptMode)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PreemptParameters](https://slurm.schedmd.com/slurm.conf.html#OPT_PreemptParameters)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PreemptType](https://slurm.schedmd.com/slurm.conf.html#OPT_PreemptType)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityCalcPeriod](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityCalcPeriod)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityDecayHalfLife](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityDecayHalfLife)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityFavorSmall](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityFavorSmall)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityFlags](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityFlags)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityMaxAge](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityMaxAge)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityUsageResetPeriod](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityUsageResetPeriod)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightAge](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightAge)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightAssoc](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightAssoc)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightFairshare](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightFairshare)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightJobSize](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightJobSize)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightPartition](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightPartition)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightQOS](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightQOS)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightTRES](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightTRES)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_Prolog_1](https://slurm.schedmd.com/slurm.conf.html#OPT_Prolog_1)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PrologFlags](https://slurm.schedmd.com/slurm.conf.html#OPT_PrologFlags)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PropagatePrioProcess](https://slurm.schedmd.com/slurm.conf.html#OPT_PropagatePrioProcess)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PropagateResourceLimits](https://slurm.schedmd.com/slurm.conf.html#OPT_PropagateResourceLimits)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PropagateResourceLimitsExcept](https://slurm.schedmd.com/slurm.conf.html#OPT_PropagateResourceLimitsExcept)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_RequeueExit](https://slurm.schedmd.com/slurm.conf.html#OPT_RequeueExit)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_RequeueExitHold](https://slurm.schedmd.com/slurm.conf.html#OPT_RequeueExitHold)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_SchedulerParameters](https://slurm.schedmd.com/slurm.conf.html#OPT_SchedulerParameters)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_SelectTypeParameters](https://slurm.schedmd.com/slurm.conf.html#OPT_SelectTypeParameters)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_SrunPortRange](https://slurm.schedmd.com/slurm.conf.html#OPT_SrunPortRange)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_TaskEpilog](https://slurm.schedmd.com/slurm.conf.html#OPT_TaskEpilog)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_TaskPluginParam](https://slurm.schedmd.com/slurm.conf.html#OPT_TaskPluginParam)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_TaskProlog](https://slurm.schedmd.com/slurm.conf.html#OPT_TaskProlog)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_TrackWCKey](https://slurm.schedmd.com/slurm.conf.html#OPT_TrackWCKey)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_UnkillableStepProgram](https://slurm.schedmd.com/slurm.conf.html#OPT_UnkillableStepProgram)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_UnkillableStepTimeout](https://slurm.schedmd.com/slurm.conf.html#OPT_UnkillableStepTimeout)

# Configurações personalizadas do Slurm para grupos de nós de computação AWS PCS
<a name="slurm-custom-settings-cng"></a>

As seguintes configurações personalizadas do Slurm são suportadas no nível do grupo de nós de computação:
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_CpuSpecList](https://slurm.schedmd.com/slurm.conf.html#OPT_CpuSpecList)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_Features](https://slurm.schedmd.com/slurm.conf.html#OPT_Features)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_MemSpecLimit](https://slurm.schedmd.com/slurm.conf.html#OPT_MemSpecLimit)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_RealMemory](https://slurm.schedmd.com/slurm.conf.html#OPT_RealMemory)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_Weight](https://slurm.schedmd.com/slurm.conf.html#OPT_Weight)

# Configurações personalizadas do Slurm para AWS filas PCS
<a name="slurm-custom-settings-queue"></a>

As seguintes configurações personalizadas do Slurm são suportadas no nível da fila:
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_AllowAccounts](https://slurm.schedmd.com/slurm.conf.html#OPT_AllowAccounts)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_AllowQoS](https://slurm.schedmd.com/slurm.conf.html#OPT_AllowQoS)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_Default](https://slurm.schedmd.com/slurm.conf.html#OPT_Default)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_DefaultTime](https://slurm.schedmd.com/slurm.conf.html#OPT_DefaultTime)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_DenyAccounts](https://slurm.schedmd.com/slurm.conf.html#OPT_DenyAccounts)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_DenyQoS](https://slurm.schedmd.com/slurm.conf.html#OPT_DenyQoS)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_ExclusiveUser](https://slurm.schedmd.com/slurm.conf.html#OPT_ExclusiveUser)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_GraceTime](https://slurm.schedmd.com/slurm.conf.html#OPT_GraceTime)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_MaxTime](https://slurm.schedmd.com/slurm.conf.html#OPT_MaxTime)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_OverSubscribe](https://slurm.schedmd.com/slurm.conf.html#OPT_OverSubscribe)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_OverTimeLimit](https://slurm.schedmd.com/slurm.conf.html#OPT_OverTimeLimit)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PreemptMode](https://slurm.schedmd.com/slurm.conf.html#OPT_PreemptMode)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityJobFactor](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityJobFactor)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityTier](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityTier)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_QOS](https://slurm.schedmd.com/slurm.conf.html#OPT_QOS)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_TRESBillingWeights](https://slurm.schedmd.com/slurm.conf.html#OPT_TRESBillingWeights)

# Solução de problemas de configurações personalizadas do Slurm no PCS AWS
<a name="slurm-custom-settings-troubleshooting"></a>

Se você encontrar erros ao criar ou atualizar recursos do AWS PCS com as configurações personalizadas do Slurm, poderá usar o registro para diagnosticar e resolver os problemas.

## Solução de problemas de configurações personalizadas incompatíveis do Slurm
<a name="slurm-custom-settings-incompatible-error"></a>

**Problema:** você recebe uma mensagem de erro semelhante à seguinte ao realizar operações de cluster, grupo de nós de computação ou fila:

```
{OPERATION} failed. The Slurm custom settings of the cluster might be incompatible. Check the settings and try again.
```

Esse erro pode ocorrer com as seguintes operações:
+ CreateCluster
+ CreateComputeNodeGroup
+ UpdateComputeNodeGroup
+ CreateQueue
+ UpdateQueue

**Solução:** ative o registro para entender o problema específico e solucionar as configurações incompatíveis.

**Para solucionar problemas de configurações personalizadas incompatíveis do Slurm**

1. Crie o cluster, se ele ainda não existir, ou garanta que seu cluster existente esteja em um estado em que o registro possa ser ativado.

1. Ative o registro em seu cluster. Para obter instruções detalhadas, consulte [Registro e monitoramento para AWS PCS](monitoring-overview.md).
**nota**  
O registro pode ser ativado quando o cluster estiver sendo criado.

1. Analise os registros para identificar o problema específico de configuração do Slurm que está causando a incompatibilidade.

1. Corrija as configurações personalizadas incompatíveis com base nas informações de registro e repita a operação.

Para obter informações sobre as configurações personalizadas do Slurm suportadas, consulte:
+ [Configurações personalizadas do Slurm para AWS clusters PCS](slurm-custom-settings-cluster.md)
+ [Configurações personalizadas do Slurm para grupos de nós de computação AWS PCS](slurm-custom-settings-cng.md)
+ [Configurações personalizadas do Slurm para AWS filas PCS](slurm-custom-settings-queue.md)