

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configuración de ajustes de Slurm personalizados en PCS AWS
<a name="slurm-custom-settings"></a>

Usa los ajustes de Slurm personalizados para configurar parámetros de Slurm adicionales en los recursos de clústeres, colas y grupos de nodos de cómputo. Esta versión añade compatibilidad con la configuración de Slurm en los recursos de Queue, lo que proporciona un control pormenorizado de los comportamientos específicos de las particiones.

## Ventajas de la configuración personalizada de Slurm
<a name="custom-settings-benefits"></a>

La configuración personalizada de Slurm proporciona un control sofisticado sobre su entorno de HPC basado en PC AWS . Puede implementar una contabilidad detallada, aplicar controles de acceso y optimizar la ejecución de la carga de trabajo mediante quality-of-service configuraciones y políticas de prevención. Estas capacidades garantizan que los trabajos críticos reciban los recursos necesarios y, al mismo tiempo, mantienen una utilización eficiente del clúster. Ya sea que gestione cargas de trabajo aceleradas por la GPU, implemente una programación equitativa o controle los ciclos de vida de los trabajos, las configuraciones personalizadas ayudan a alinear su infraestructura de HPC con los requisitos operativos y los objetivos de investigación.

## Configuración de ajustes personalizados
<a name="custom-settings-configuration"></a>

Los ajustes de Slurm personalizados se pueden configurar a través de la AWS consola, la CLI o SDKs durante la creación de los recursos, o se pueden modificar posteriormente mediante operaciones de actualización.

------
#### [ Consola de administración de AWS ]

Acceda a la **configuración adicional del programador** en la página de creación o edición para cualquier tipo de recurso (clúster, cola o grupo de nodos de cómputo).

**Para añadir una nueva configuración**

1. Selecciona **Añadir nueva configuración**.

1. Seleccione un nombre de **parámetro** en el menú desplegable (que incluye breves descripciones de los parámetros).

1. Proporcione el valor correspondiente.

**Para anular una configuración personalizada**

1. Selecciona **Eliminar** junto al parameter/value par correspondiente.

1. Cree o actualice el recurso.

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

Para la administración programática de la configuración personalizada, utilice el `SlurmCustomSettings` campo en las operaciones de creación o actualización.

**Example — Actualizar el `Prolog` parámetro en un clúster**  

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

**Example — Configurar una cola para que esté `Default` en un clúster**  

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

**Example — Configuración personalizada `Features` en un grupo de nodos de cómputo**  

```
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"}]'
```

------

## Validación y gestión de errores
<a name="custom-settings-validation"></a>

AWS PCS implementa un proceso de validación de varios niveles para la configuración personalizada de Slurm. Durante las operaciones de creación y actualización, realizamos validaciones sincrónicas que incluyen:
+ Comprobaciones a nivel de campo: validamos las configuraciones individuales para comprobar los tipos de datos, los valores permitidos y los requisitos de formato correctos. Por ejemplo, nos aseguramos de que los valores de tiempo estén en el formato Slurm correcto y los valores booleanos utilizan las representaciones booleanas de Slurm aceptadas por Slurm.
+ Validaciones sensibles al contexto: algunos ajustes se comparan con el contexto de configuración más amplio. Por ejemplo, algunos parámetros solo son válidos cuando la contabilidad de Slurm está habilitada.
+ Coherencia entre configuraciones: verificamos que las opciones que se excluyen mutuamente no estén configuradas juntas y que las configuraciones interdependientes estén configuradas correctamente.

Si la validación no se realiza correctamente, recibirás un mensaje `ValidationException` con un código de error específico (por ejemplo, InvalidInput), un mensaje de error claro en el que se describe el problema y una lista de los campos no válidos y sus respectivos detalles de error.

Si bien durante esta validación inicial se detectan muchos problemas, es posible que algunas interacciones complejas entre los ajustes solo se hagan evidentes al aplicar la configuración. En esos casos, la operación fallará con un mensaje de error informativo y se revertirá cualquier cambio parcial.

## Limitaciones
<a name="custom-settings-limitations"></a>

AWS El PCS implementa un enfoque de lista de permitidos para proteger la seguridad del servicio y la estabilidad operativa. Los ajustes que puedan comprometer la seguridad de la cuenta de servicio o interferir con las capacidades del servicio gestionado están restringidos. Sin embargo, evaluamos continuamente las necesidades de los clientes y podemos añadir soporte para configuraciones adicionales en función de los comentarios de los clientes.

**Topics**
+ [Ventajas de la configuración personalizada de Slurm](#custom-settings-benefits)
+ [Configuración de ajustes personalizados](#custom-settings-configuration)
+ [Validación y gestión de errores](#custom-settings-validation)
+ [Limitaciones](#custom-settings-limitations)
+ [Configuración de Slurm personalizada para AWS clústeres de PCS](slurm-custom-settings-cluster.md)
+ [Configuración de Slurm personalizada para grupos de nodos de cómputo de AWS PCS](slurm-custom-settings-cng.md)
+ [Configuración de Slurm personalizada para colas de PCS AWS](slurm-custom-settings-queue.md)
+ [Solución de problemas de la configuración de Slurm personalizada en PCS AWS](slurm-custom-settings-troubleshooting.md)

# Configuración de Slurm personalizada para AWS clústeres de PCS
<a name="slurm-custom-settings-cluster"></a>

A nivel de clúster, se admiten las siguientes configuraciones personalizadas de Slurm:
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_AccountingStorageEnforce](https://slurm.schedmd.com/slurm.conf.html#OPT_AccountingStorageEnforce)
**importante**  
AWS PCS admite un subconjunto de las opciones para. `AccountingStorageEnforce` Para obtener más información, consulte [Contabilidad de Slurm en PCS AWS](slurm-accounting.md). 
+ [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_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 admite un 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_PrivateData](https://slurm.schedmd.com/slurm.conf.html#OPT_PrivateData)
+ [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_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)

# Configuración de Slurm personalizada para grupos de nodos de cómputo de AWS PCS
<a name="slurm-custom-settings-cng"></a>

A nivel de grupo de nodos de cómputo, se admiten las siguientes configuraciones personalizadas de Slurm:
+ [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)

# Configuración de Slurm personalizada para colas de PCS AWS
<a name="slurm-custom-settings-queue"></a>

A nivel de cola, se admiten las siguientes configuraciones personalizadas de Slurm:
+ [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)

# Solución de problemas de la configuración de Slurm personalizada en PCS AWS
<a name="slurm-custom-settings-troubleshooting"></a>

Si encuentra errores al crear o actualizar los recursos del AWS PCS con la configuración personalizada de Slurm, puede utilizar el registro para diagnosticar y resolver los problemas.

## Solución de problemas de configuración personalizada de Slurm incompatibles
<a name="slurm-custom-settings-incompatible-error"></a>

**Problema:** recibe un mensaje de error similar al siguiente al realizar operaciones de clúster, grupo de nodos de cómputo o cola:

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

Este error puede producirse con las siguientes operaciones:
+ CreateCluster
+ CreateComputeNodeGroup
+ UpdateComputeNodeGroup
+ CreateQueue
+ UpdateQueue

**Solución:** habilite el registro para comprender el problema específico y solucionar los problemas de configuración incompatibles.

**Para solucionar problemas de configuración personalizada de Slurm incompatibles**

1. Cree el clúster si aún no existe o asegúrese de que el clúster existente esté en un estado en el que se pueda habilitar el registro.

1. Habilita el registro en tu clúster. Para obtener instrucciones detalladas, consulte [Registro y supervisión para AWS PCS](monitoring-overview.md).
**nota**  
El registro se puede habilitar una vez que se haya creado el clúster.

1. Revise los registros para identificar el problema específico de configuración de Slurm que está causando la incompatibilidad.

1. Corrija la configuración personalizada incompatible en función de la información del registro y vuelva a intentar la operación.

Para obtener información sobre los ajustes personalizados de Slurm compatibles, consulte:
+ [Configuración de Slurm personalizada para AWS clústeres de PCS](slurm-custom-settings-cluster.md)
+ [Configuración de Slurm personalizada para grupos de nodos de cómputo de AWS PCS](slurm-custom-settings-cng.md)
+ [Configuración de Slurm personalizada para colas de PCS AWS](slurm-custom-settings-queue.md)