Sección de Scheduling - AWS ParallelCluster

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.

Sección de Scheduling

(Obligatorio) Define el programador de trabajos que se usa en el clúster y las instancias de procesamiento que administra el programador de trabajos. Puede utilizar el AWS Batch planificador Slurm o. Cada una admite un conjunto diferente de ajustes y propiedades.

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

Propiedades de Scheduling

Scheduler (Requerido, String)

Especifica el tipo de programador que se utiliza. Los valores admitidos son slurm y awsbatch.

Política de actualización: si se cambia esta configuración, no se permite la actualización.

nota

awsbatch solo es compatible con el sistema operativo alinux2 y la plataforma x86_64.

ScalingStrategy (Opcional, String)

Le permite elegir cómo se escalan los nodos dinámicos de Slurm. Los valores admitidos sonall-or-nothing, greedy-all-or-nothing y best-effort el valor por defecto es. all-or-nothing

Política de actualización: esta configuración se puede cambiar durante una actualización.

nota

La estrategia de escalado se aplica solo a los nodos que Slurm va a reanudar, no a los nodos que, finalmente, ya estén en funcionamiento.

  • all-or-nothingEsta estrategia sigue estrictamente una all-or-nothing-approach, destinada a evitar las instancias inactivas al final del proceso de escalado. Funciona sobre una all-or-nothing base, lo que significa que se amplía completamente o no se amplía en absoluto. Tenga en cuenta que las instancias lanzadas temporalmente pueden conllevar costes adicionales, ya que los trabajos requieren más de 500 nodos o abarcan varios recursos informáticos. Esta estrategia tiene el rendimiento más bajo de las tres posibles estrategias de escalado. El tiempo de escalado depende de la cantidad de trabajos enviados por cada ejecución del programa de currículum de Slurm. Además, no se puede escalar mucho más allá del límite predeterminado de la cuenta de RunInstances recursos por ejecución, que es de 1000 instancias de forma predeterminada. Puede encontrar más información en la documentación sobre la regulación de las API de AWS EC2

  • greedy-all-or-nothing Al igual que la all-or-nothing estrategia, su objetivo es evitar las instancias inactivas después del escalado. Esta estrategia permite sobreescalar temporalmente durante el proceso de escalado para lograr un rendimiento superior al del all-or-nothing enfoque, pero también incluye el mismo límite de escalado de 1000 instancias que el límite de la cuenta de RunInstances recursos.

  • best-effort Esta estrategia prioriza el alto rendimiento, incluso si eso significa que algunas instancias podrían estar inactivas al final del proceso de escalado. Intenta asignar tantos nodos como soliciten los trabajos, pero existe la posibilidad de que no se satisfaga toda la solicitud. A diferencia de las demás estrategias, el enfoque más eficaz consiste en acumular más instancias que el RunInstances límite estándar, a costa de tener recursos inactivos a lo largo de las múltiples ejecuciones de los procesos de escalado.

Cada estrategia está diseñada para satisfacer diferentes necesidades de escalado, lo que le permite seleccionar la que mejor se adapte a sus requisitos y limitaciones específicos.

AwsBatchQueues

(Opcional) La configuración de la AWS Batch cola. Solo se admite una cola. Esto es obligatorio si Scheduler se establece en awsbatch. Para obtener más información sobre el programador de awsbatch, consulte la configuración de red y AWS Batch (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

Política de actualización: esta configuración se puede cambiar durante una actualización.

Propiedades de AwsBatchQueues

Name (Requerido, String)

El nombre de la AWS Batch cola.

Política de actualización: si se cambia esta configuración, no se permite la actualización.

CapacityType (Opcional, String)

El tipo de recursos informáticos que utiliza la AWS Batch cola. Los valores admitidos sonONDEMAND, SPOT o. CAPACITY_BLOCK El valor predeterminado es ONDEMAND.

nota

Si establece CapacityType en SPOT, su cuenta debe contener un rol vinculado al servicio de AWSServiceRoleForEC2Spot. Puede crear este rol mediante el siguiente AWS CLI comando.

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

Para obtener más información, consulte Rol vinculado al servicio para solicitudes de instancias de spot en la Guía del usuario de Amazon EC2 para instancias de Linux.

Política de actualización: la flota de computación debe estar detenida para poder cambiar esta configuración y proceder a la actualización.

Networking

(Obligatorio) Define la configuración de red de la AWS Batch cola.

Networking: SubnetIds: - string AssignPublicIp: boolean SecurityGroups: - string AdditionalSecurityGroups: - string
Propiedades de Networking
SubnetIds (Requerido, [String])

Especifica el ID de una subred existente para aprovisionar la AWS Batch cola. En la actualidad, solo se admite una subred.

Política de actualización: la flota de computación debe estar detenida para poder cambiar esta configuración y proceder a la actualización.

AssignPublicIp (Opcional, String)

Crea o asigna una dirección IP pública a los nodos de la cola. AWS Batch Los valores admitidos son true y false. El valor predeterminado depende de la subred que haya especificado.

Política de actualización: si se cambia esta configuración, no se permite la actualización.

SecurityGroups (Opcional, [String])

Lista de grupos de seguridad que utiliza la AWS Batch cola. Si no especifica grupos de seguridad, AWS ParallelCluster crea nuevos grupos de seguridad.

Política de actualización: esta configuración se puede cambiar durante una actualización.

AdditionalSecurityGroups (Opcional, [String])

Lista de grupos de seguridad que utiliza la AWS Batch cola.

Política de actualización: esta configuración se puede cambiar durante una actualización.

ComputeResources

(Obligatorio) Define la ComputeResources configuración de la AWS Batch cola.

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
Propiedades de ComputeResources
Name (Requerido, String)

El nombre del entorno de cómputo de AWS Batch colas.

Política de actualización: la flota de computación debe estar detenida para poder cambiar esta configuración y proceder a la actualización.

InstanceTypes (Requerido, [String])

El conjunto de tipos de instancias del entorno de AWS Batch cómputo. : el tipo de arquitectura de los tipos de instancia debe ser .

Política de actualización: la flota de computación debe estar detenida para poder cambiar esta configuración y proceder a la actualización.

MinvCpus (Opcional, Integer)

La cantidad mínima de CPU virtuales que puede usar un entorno de AWS Batch procesamiento.

Política de actualización: esta configuración se puede cambiar durante una actualización.

DesiredVcpus (Opcional, Integer)

La cantidad deseada de vCPU en el entorno de procesamiento. AWS Batch AWS Batch ajusta este valor entre MinvCpus y en MaxvCpus función de la demanda de la cola de trabajos.

Política de actualización: esta configuración no se analiza durante una actualización.

MaxvCpus (Opcional, Integer)

La cantidad máxima de CPU virtuales para el entorno de cómputo. AWS Batch No se puede establecer en un valor inferior a DesiredVcpus.

Política de actualización: esta configuración no se puede reducir durante una actualización.

SpotBidPercentage (Opcional, Float)

El porcentaje máximo que puede tener el precio una instancia de spot de EC2 en comparación con el precio bajo demanda para ese tipo de instancia antes de que se lancen las instancias. El valor predeterminado es 100. El rango admitido es de 1 a 100.

Política de actualización: esta configuración se puede cambiar durante una actualización.

SlurmQueues

(Opcional) Configuración de la cola de Slurm. Esto es obligatorio si Scheduler se establece en slurm.

SlurmQueues: - Name: string ComputeSettings: LocalStorage: RootVolume: Size: integer Encrypted: boolean VolumeType: string Iops: integer Throughput: integer EphemeralVolume: MountDir: string CapacityReservationTarget: CapacityReservationId: string CapacityReservationResourceGroupArn: string CapacityType: string AllocationStrategy: string JobExclusiveAllocation: boolean CustomSlurmSettings: dict Tags: - Key: string Value: string HealthChecks: Gpu: Enabled: boolean Networking: SubnetIds: - string AssignPublicIp: boolean SecurityGroups: - string AdditionalSecurityGroups: - string PlacementGroup: Enabled: boolean Id: string Name: string Proxy: HttpProxyAddress: string ComputeResources: - Name: string InstanceType: string Instances: - InstanceType: string MinCount: integer MaxCount: integer DynamicNodePriority: integer StaticNodePriority: integer SpotPrice: float DisableSimultaneousMultithreading: boolean SchedulableMemory: integer HealthChecks: Gpu: Enabled: boolean Efa: Enabled: boolean GdrSupport: boolean CapacityReservationTarget: CapacityReservationId: string CapacityReservationResourceGroupArn: string Networking: PlacementGroup: Enabled: boolean Name: string CustomSlurmSettings: dict Tags: - Key: string Value: string CustomActions: OnNodeStart: Sequence: - Script: string Args: - string Script: string Args: - string OnNodeConfigured: Sequence: - Script: string Args: - string Script: string Args: - string Iam: InstanceProfile: string InstanceRole: string S3Access: - BucketName: string EnableWriteAccess: boolean KeyName: string AdditionalIamPolicies: - Policy: string Image: CustomAmi: string

Política de actualización: para esta configuración de valores de lista, se puede añadir un nuevo valor durante una actualización o se debe detener la flota de computación al eliminar un valor existente.

Propiedades de SlurmQueues

Name (Requerido, String)

El nombre de la cola Slurm.

nota

El tamaño del clúster puede cambiar durante una actualización. Para obtener más información, consulte Tamaño de la capacidad del clúster y actualización

Política de actualización: si se cambia esta configuración, no se permite la actualización.

CapacityReservationTarget
nota

CapacityReservationTargetse añade con la AWS ParallelCluster versión 3.3.0.

CapacityReservationTarget: CapacityReservationId: string CapacityReservationResourceGroupArn: string

Especifica la reserva de capacidad bajo demanda para los recursos informáticos de la cola.

CapacityReservationId (Opcional, String)

El ID de la reserva de capacidad existente a la que se destinarán los recursos informáticos de la cola. El identificador puede hacer referencia a un ODCR o a un bloque de capacidad para ML.

La reserva debe usar la misma plataforma que usa la instancia. Por ejemplo, si sus instancias se ejecutan en rhel8, su reserva de capacidad debe ejecutarse en la plataforma Red Hat Enterprise Linux. Para obtener más información, consulte Plataformas compatibles en la Guía del usuario de Amazon EC2 para instancias de Linux.

nota

Si incluye Instances en la configuración del clúster, debe excluir este ajuste de CapacityReservationId de nivel de cola de la configuración.

CapacityReservationResourceGroupArn (Opcional, String)

El nombre de recurso de Amazon (ARN) del grupo de recursos que actúa como grupo de reservas de capacidad vinculado a un servicio de reservas de capacidad para los recursos informáticos de la cola. AWS ParallelCluster identifica y utiliza la reserva de capacidad más adecuada del grupo de recursos en función de las siguientes condiciones:

El grupo de recursos debe tener al menos un ODCR para cada tipo de instancia reservado en una zona de disponibilidad en todos los recursos informáticos y las zonas de disponibilidad de la cola. Para obtener más información, consulte Inicio de instancias con ODCR (reservas de capacidad bajo demanda).

Para obtener más información sobre los requisitos de configuración de varias subredes, consulte Networking/SubnetIds.

nota

En la AWS ParallelCluster versión 3.4.0 se añaden varias zonas de disponibilidad.

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

CapacityType (Opcional, String)

El tipo de recursos informáticos que utiliza la cola de Slurm. Los valores admitidos son ONDEMAND o SPOT. El valor predeterminado es ONDEMAND.

nota

Si establece CapacityType en SPOT, su cuenta debe tener un rol vinculado al servicio de AWSServiceRoleForEC2Spot. Puede crear este rol mediante el siguiente AWS CLI comando.

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

Para obtener más información, consulte Rol vinculado al servicio para solicitudes de instancias de spot en la Guía del usuario de Amazon EC2 para instancias de Linux.

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

AllocationStrategy (Opcional, String)

Especifique la estrategia de asignación para todos los recursos informáticos definidos en Instances.

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

Valor predeterminado: lowest-price

lowest-price
  • Si utiliza CapacityType = ONDEMAND, Flota de EC2 utiliza el precio para determinar el orden y lanza primero las de precio más bajo.

  • Si utiliza CapacityType = SPOT, Flota de EC2 lanza instancias desde el grupo de instancias de spot de menor precio que tenga capacidad disponible. Si un grupo se queda sin capacidad antes de cubrir la capacidad requerida, Flota de EC2 cumplirá su solicitud al lanzar instancias por usted. En concreto, Flota de EC2 lanza instancias desde el grupo de instancias de spot de menor precio que tenga capacidad disponible. Flota EC2 puede lanzar instancias de spot desde varios grupos diferentes.

  • Si lo configuraCapacityType = CAPACITY_BLOCK, no hay estrategias de asignación, por lo que el AllocationStrategy parámetro no se puede configurar.

capacity-optimized
  • Si ha configurado CapacityType = ONDEMAND, capacity-optimized no está disponible.

  • Si se establece CapacityType = SPOT, Flota de EC2 lanza instancias desde grupos de instancias de spot con una capacidad óptima para el número de instancias que se van a lanzar.

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

nota

AllocationStrategy es compatible a partir de AWS ParallelCluster versión 3.3.0.

JobExclusiveAllocation (Opcional, String)

Si se establece en true, el indicador OverSubscribe de la partición de Slurm se establece en EXCLUSIVE. Cuando OverSubscribe = EXCLUSIVE, los trabajos de la partición tienen acceso exclusivo a todos los nodos asignados. Para obtener más información, consulte EXCLUSIVE en la documentación de Slurm.

Valores válidos: true | false

Valor predeterminado: false

Política de actualización: esta configuración se puede cambiar durante una actualización.

nota

JobExclusiveAllocation es compatible a partir de AWS ParallelCluster versión 3.7.0.

CustomSlurmSettings (Opcional, Dict)

Define los ajustes de configuración de la partición de Slurm personalizada (cola).

Especifica un diccionario de pares clave-valor de los parámetros de configuración de Slurm personalizados que se aplican a las colas (particiones).

Cada par clave-valor independiente, por ejemplo Param1: Value1, se agrega por separado al final de la línea de configuración de la partición de Slurm en el formato Param1=Value1.

Solo puede especificar los parámetros de configuración de Slurm que no estén incluidos en la lista de denegaciones de CustomSlurmSettings. Para obtener más información acerca de los parámetros de configuración de Slurm incluidos en la lista de denegaciones, consulte Parámetros de configuración de Slurm enumerados en denegación para CustomSlurmSettings.

AWS ParallelCluster solo comprueba si un parámetro está en una lista de denegaciones. AWS ParallelCluster no valida la sintaxis ni la semántica de los parámetros de Slurm configuración personalizados. Usted es responsable de validar los parámetros de configuración personalizados de Slurm. Los parámetros de configuración personalizados de Slurm no válidos pueden provocar errores en los daemons de Slurm y provocar errores en la creación y actualización del clúster.

Para obtener más información sobre cómo especificar parámetros de Slurm configuración personalizados con AWS ParallelCluster, consultePersonalización de la configuración de Slurm.

Para obtener más información sobre los parámetros de configuración de Slurm, consulte slurm.conf en la documentación de Slurm.

Política de actualización: esta configuración se puede cambiar durante una actualización.

nota

CustomSlurmSettings es compatible a partir de AWS ParallelCluster versión 3.6.0.

(Cadena) Opcional.

Una lista de pares clave-valor de etiqueta. Las etiquetas de ComputeResource anulan las etiquetas duplicadas especificadas en Sección de Tags o en SlurmQueues/Tags.

Key (Opcional, String)

La clave de la etiqueta.

Value (Opcional, String)

El valor de la etiqueta.

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

HealthChecks (Opcional)

Especifique las comprobaciones de estado de los nodos de cómputo en todos los recursos de cómputo de la cola.

Gpu (Opcional)

Especifica las comprobaciones de estado de la GPU en todos los recursos informáticos de una cola.

nota

AWS ParallelCluster no admiteHealthChecks/Gpuen los nodos que utilizan sistemas operativos alinux2 ARM. Estas plataformas no son compatibles con el administrador de GPU para centros de datos de NVIDIA (DCGM).

Enabled (Opcional, Boolean)

Si AWS ParallelCluster realiza comprobaciones de estado de la GPU en los nodos de cómputo. El valor predeterminado es false.

Comportamiento de la comprobación de estado de la Gpu
  • Si Gpu/Enabled está establecido en true, AWS ParallelCluster realiza comprobaciones de estado de la GPU en los recursos de cómputo de la cola.

  • La comprobación de estado de la Gpu realiza comprobaciones del estado de la GPU en los recursos informáticos para evitar que se envíen trabajos en nodos con una GPU degradada.

  • Si un nodo de cómputo no pasa una comprobación de estado de la Gpu, el estado del nodo de computación cambia a DRAIN. Los nuevos trabajos no comienzan en este nodo. Los trabajos existentes se ejecutan hasta su finalización. Una vez finalizados todos los trabajos en ejecución, el nodo de cómputo finaliza si es un nodo dinámico y se reemplaza si es un nodo estático.

  • La duración de la comprobación de estado de la Gpu depende del tipo de instancia seleccionada, la cantidad de GPU de la instancia y la cantidad de objetivos de la comprobación de estado de la Gpu (equivalente a la cantidad de objetivos de GPU de trabajo). En una instancia con 8 GPU, la duración normal es inferior a 3 minutos.

  • Si la comprobación de estado de la Gpu se ejecuta en una instancia que no es compatible, se cierra y el trabajo se ejecuta en el nodo de cómputo. Por ejemplo, si una instancia no tiene una GPU o si tiene una GPU pero no es una GPU de NVIDIA, la comprobación de estado finaliza y el trabajo se ejecuta en el nodo de cómputo. Solo se admiten las GPU NVIDIA.

  • La comprobación de estado de la Gpu utiliza la herramienta dcgmi para realizar comprobaciones de estado en un nodo y sigue los siguientes pasos:

    Cuando la comprobación de estado de la Gpu comienza en un nodo:

    1. Detecta si los servicios nvidia-dcgm y nvidia-fabricmanager se están ejecutando.

    2. Si estos servicios no se están ejecutando, la comprobación de estado de la Gpulos inicia.

    3. Detecta si el modo de persistencia está activado.

    4. Si el modo de persistencia no está activado, la comprobación de estado de la Gpu lo habilita.

    Al final de la comprobación de estado, la comprobación de estado de la Gpu restablece estos servicios y recursos a su estado inicial.

  • Si el trabajo está asignado a un conjunto específico de GPU de nodos, la comprobación de estado de la Gpu solo se ejecuta en ese conjunto específico. De lo contrario, la comprobación de estado de la Gpu se ejecuta en todas las GPU del nodo.

  • Si un nodo de cómputo recibe 2 o más solicitudes de comprobación de estado de la Gpu al mismo tiempo, solo se ejecuta la primera comprobación de estado y se omiten las demás. Este también es el caso de las comprobaciones de estado dirigidas a las GPU de los nodos. Puede consultar los archivos de registro para obtener información adicional sobre esta situación.

  • El registro de comprobación de estado de un nodo informático específico está disponible en el archivo /var/log/parallelcluster/slurm_health_check.log. El archivo está disponible en Amazon CloudWatch, en el grupo de CloudWatch registros del clúster, donde puede encontrar:

    • Detalles sobre la acción que lleva a cabo la comprobación de estado de la Gpu, incluida la activación y desactivación de los servicios y el modo de persistencia.

    • El identificador de la GPU, el ID de serie y el UUID.

    • El resultado del comprobación de estado.

Política de actualización: esta configuración se puede cambiar durante una actualización.

nota

HealthChecksse admite a partir de la AWS ParallelCluster versión 3.6.0.

Networking

(Obligatorio) Define la configuración de red de la cola de Slurm.

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

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

Propiedades de Networking
SubnetIds (Requerido, [String])

Los ID de las subredes existentes en las que aprovisiona la cola de Slurm.

Si configura los tipos de instancias en SlurmQueues/ComputeResources/InstanceType, solo puede definir una subred.

Si configura los tipos de instancias en SlurmQueues/ComputeResources/Instances, puede definir una o varias subredes.

Si usa varias subredes, todas las subredes definidas para una cola deben estar en la misma VPC y cada subred en una zona de disponibilidad (AZ) independiente.

Por ejemplo, supongamos que define la subred-1 y la subred-2 para la cola.

subnet-1 y no subnet-2 pueden estar ambos en AZ-1.

subnet-1 puede estar en AZ-1 y subnet-2 puede estar en AZ-2.

Si configura solo un tipo de instancia y desea usar varias subredes, defina el tipo de instancia en Instances lugar de InstanceType.

Por ejemplo, defina ComputeResources/Instances/InstanceType = instance.type en lugar de ComputeResources/InstanceType = instance.type.

nota

Elastic Fabric Adapter (EFA) no es compatible con diferentes zonas de disponibilidad.

El uso de varias zonas de disponibilidad puede provocar un aumento de la latencia de las redes de almacenamiento y aumentar los costes de transferencia de datos entre zonas de disponibilidad. Por ejemplo, esto podría ocurrir cuando una instancia accede al almacenamiento de archivos ubicado en una zona de disponibilidad diferente. Para obtener más información, consulte Transferencia de datos dentro de la misma Región de AWS.

Actualizaciones del clúster para pasar del uso de una sola subred a varias subredes:
  • Supongamos que la definición de subred de un clúster se define con una única subred y un sistema de archivos FSx for Lustre AWS ParallelCluster administrado. Por lo tanto, no puede actualizar este clúster directamente con una definición de ID de subred actualizada. Para actualizar el clúster, primero debe cambiar el sistema de archivos administrado por un sistema de archivos externo. Para obtener más información, consulte Convierta el almacenamiento AWS ParallelCluster gestionado en almacenamiento externo.

  • Supongamos que la definición de subred de un clúster se define con una única subred y un sistema de archivos Amazon EFS externo si no existen objetivos de montaje de EFS para todas las AZ de las múltiples subredes definidas que se van a añadir. Por lo tanto, no puede actualizar este clúster directamente con una definición de ID de subred actualizada. Para actualizar el clúster o crear uno, primero debe crear todos los destinos de montaje de todas las AZ de las múltiples subredes definidas.

Las zonas de disponibilidad y las reservas de capacidad del clúster se definen en Arn: CapacityReservation ResourceGroup
  • No puede crear un clúster si no hay superposición entre el conjunto de tipos de instancias y zonas de disponibilidad que cubre el grupo de recursos de reserva de capacidad definido y el conjunto de tipos de instancias y zonas de disponibilidad definidos para la cola.

  • Puede crear un clúster si hay una superposición parcial entre el conjunto de tipos de instancias y zonas de disponibilidad que cubre el grupo de recursos de reserva de capacidad definido y el conjunto de tipos de instancias y zonas de disponibilidad definidos para la cola. AWS ParallelCluster envía un mensaje de advertencia sobre la superposición parcial en este caso.

  • Para obtener más información, consulte Inicio de instancias con ODCR (reservas de capacidad bajo demanda).

nota

En la AWS ParallelCluster versión 3.4.0 se añaden varias zonas de disponibilidad.

aviso

Esta advertencia se aplica a todas las AWS ParallelCluster versiones 3.x.y anteriores a la 3.3.1. AWS ParallelCluster la versión 3.3.1 no se ve afectada si se cambia este parámetro.

Para AWS ParallelCluster 3 versiones anteriores a la 3.3.1:

Al cambiar este parámetro y actualizar un clúster, se crea un nuevo sistema de archivos FSx para Lustre administrado y se elimina el sistema de archivos FSx para Lustre administrado existente sin conservar los datos existentes. Esto provoca la pérdida de datos. Antes de continuar, asegúrese de hacer una copia de seguridad de los datos del sistema de archivos FSx para Lustre existente si desea conservar los datos. Para obtener más información, consulte Working with backups en la Guía del usuario de Amazon FSx para Lustre.

Si se agrega un nuevo valor de subred, Política de actualización: esta configuración se puede cambiar durante una actualización.

Si se elimina un valor de subred, Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

AssignPublicIp (Opcional, String)

Crea o asigna una dirección IP pública a los nodos de la cola de Slurm. Los valores admitidos son true y false. La subred que especifique determina el valor predeterminado. Una subred con direcciones IP públicas asigna direcciones IP públicas de forma predeterminada.

Si define un tipo de hpc6id instancia p4d OR u otro tipo de instancia que tenga varias interfaces de red o una tarjeta de interfaz de red, debe configurar HeadNode/Networking/ElasticIptruepara proporcionar acceso público. AWS Las IP públicas solo se pueden asignar a instancias lanzadas con una única interfaz de red. En este caso, le recomendamos que utilice una puerta de enlace NAT para proporcionar acceso público a los nodos de computación del clúster. En este caso, establezca AssignPublicIp en false. Para obtener más información sobre las direcciones IP, consulte Asignación de una dirección IPv4 pública durante el lanzamiento de una instancia en la Guía del usuario de Amazon EC2 para instancias de Linux.

Política de actualización: si se cambia esta configuración, no se permite la actualización.

SecurityGroups (Opcional, [String])

Una lista de grupos de seguridad que se utilizarán para el entorno. Si no se especifica ningún grupo de seguridad, AWS ParallelCluster crea grupos de seguridad automáticamente.

Compruebe que los grupos de seguridad estén configurados correctamente para sus SharedStoragesistemas.

aviso

Esta advertencia se aplica a los tres. x. y AWS ParallelCluster versiones anteriores a la versión 3.3.0. AWS ParallelCluster la versión 3.3.0 no se ve afectada si se cambia este parámetro.

Para AWS ParallelCluster 3 versiones anteriores a la 3.3.0:

Al cambiar este parámetro y actualizar un clúster, se crea un nuevo sistema de archivos FSx para Lustre administrado y se elimina el sistema de archivos FSx para Lustre administrado existente sin conservar los datos existentes. Esto provoca la pérdida de datos. Asegúrese de hacer una copia de seguridad de los datos del sistema de archivos FSx para Lustre existente si desea conservar los datos. Para obtener más información, consulte Working with backups en la Guía del usuario de Amazon FSx para Lustre.

aviso

Si habilita EFA para las instancias de procesamiento, asegúrese de que las instancias habilitadas para EFA formen parte de un grupo de seguridad que permita todo el tráfico entrante y saliente hacia sí mismo.

Política de actualización: esta configuración se puede cambiar durante una actualización.

AdditionalSecurityGroups (Opcional, [String])

Una lista de grupos de seguridad adicionales que se utilizarán para la cola de Slurm.

Política de actualización: esta configuración se puede cambiar durante una actualización.

PlacementGroup (Opcional)

Especifica la configuración del grupo de ubicación de la cola de Slurm.

PlacementGroup: Enabled: boolean Id: string Name: string

Política de actualización: todos los nodos de procesamiento deben estar detenidos para poder eliminar un grupo de ubicación administrado. Debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

Enabled (Opcional, Boolean)

Indica si se utiliza un grupo de ubicaciones para la cola de Slurm. El valor predeterminado es false.

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

Id (Opcional, String)

El nombre del grupo de ubicación de un grupo con ubicación en clúster existente que utiliza la cola de Slurm. Asegúrese de proporcionar el nombre del grupo de ubicación y no el ID.

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

Name (Opcional, String)

El nombre del grupo de ubicación de un grupo con ubicación en clúster existente que utiliza la cola de Slurm. Asegúrese de proporcionar el nombre del grupo de ubicación y no el ID.

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

nota
Proxy (Opcional)

Especifica la configuración del proxy de la cola de Slurm.

Proxy: HttpProxyAddress: string

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

HttpProxyAddress (Opcional, String)

Define un servidor proxy HTTP o HTTPS para la cola de Slurm. Por lo general, es https://x.x.x.x:8080.

No hay valor predeterminado.

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

Image

(Opcional) Especifica la imagen que se utilizará en la cola de Slurm. Para usar la misma AMI para todos los nodos, utilice la CustomAmiconfiguración de la Imagesección.

Image: CustomAmi: string

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

Propiedades de Image
CustomAmi (Opcional, String)

La AMI que se utilizará en la cola de Slurm en lugar de las AMI predeterminadas. Puede usar el comando de CLI pcluster para ver una lista de las AMI predeterminadas.

nota

La AMI debe estar basada en el mismo sistema operativo que utiliza el nodo principal.

pcluster list-official-images

Si la AMI personalizada requiere permisos adicionales para su lanzamiento, debe agregar estos permisos a la política del nodo principal.

Por ejemplo, si una AMI personalizada tiene asociada una instantánea cifrada, se requieren las siguientes políticas adicionales en las políticas del nodo 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 las advertencias de validación de AMI personalizadas, consulte Solución de problemas con las AMI de .

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

ComputeResources

(Obligatorio) Define la configuración de ComputeResources de la cola de Slurm.

nota

El tamaño del clúster puede cambiar durante una actualización. Para obtener más información, consulte Tamaño de la capacidad del clúster y actualización

ComputeResources: - Name: string InstanceType: string Instances: - InstanceType: string MinCount: integer MaxCount: integer DynamicNodePriority: integer StaticNodePriority: integer SpotPrice: float DisableSimultaneousMultithreading: boolean SchedulableMemory: integer HealthChecks: Gpu: Enabled: boolean Efa: Enabled: boolean GdrSupport: boolean CapacityReservationTarget: CapacityReservationId: string CapacityReservationResourceGroupArn: string Networking: PlacementGroup: Enabled: boolean Name: string CustomSlurmSettings: dict Tags: - Key: string Value: string

Política de actualización: para esta configuración de valores de lista, se puede añadir un nuevo valor durante una actualización o se debe detener la flota de computación al eliminar un valor existente.

Propiedades de ComputeResources
Name (Requerido, String)

El nombre del entorno informático. El nombre puede tener un máximo de 25 caracteres.

Política de actualización: si se cambia esta configuración, no se permite la actualización.

InstanceType (Requerido, String)

El tipo de instancia que se usa en este recurso informático de Slurm. Todos los tipos de instancias de un clúster deben usar la misma arquitectura de procesador. Las instancias pueden usar la arquitectura x86_64 o arm64.

La configuración del clúster debe definir una InstanceTypeo varias instancias. Si ambas están definidas, se produce un AWS ParallelCluster error.

Cuando se define InstanceType, no se pueden definir varias subredes. Si configura solo un tipo de instancia y desea usar varias subredes, defina el tipo de instancia en Instances lugar de en InstanceType. Para obtener más información, consulte Networking / SubnetIds.

Si define un tipo de hpc6id instancia p4d o, u otro tipo de instancia que tenga varias interfaces de red o una tarjeta de interfaz de red, debe lanzar las instancias de procesamiento en una subred privada, tal y como se describe enAWS ParallelCluster con dos subredes. AWS Las IP públicas solo se pueden asignar a las instancias que se lanzan con una única interfaz de red. Para obtener más información, consulte Asignación de una dirección IPv4 pública durante el lanzamiento de una instancia en la Guía del usuario de Amazon EC2 para instancias de Linux.

Política de actualización: la flota de computación debe estar detenida para poder cambiar esta configuración y proceder a la actualización.

Instances (Obligatorio)

Especifica la lista de tipos de instancias de un recurso informático. Para especificar la estrategia de asignación de la lista de tipos de instancias, consulte AllocationStrategy.

La configuración del clúster debe definir un InstanceType o Instances. Si ambas opciones están definidas, AWS ParallelCluster produce un error.

Para obtener más información, consulte Asignación de varios tipos de instancias con Slurm.

Instances: - InstanceType: string
nota

A partir de AWS ParallelCluster la versión 3.7.0, se EnableMemoryBasedScheduling puede habilitar si configuras varios tipos de instancias en Instances.

Para AWS ParallelCluster las versiones 3.2.0 a 3.6. x, no se EnableMemoryBasedScheduling puede habilitar si configuras varios tipos de instancias en Instances.

Política de actualización: para esta configuración de valores de lista, se puede añadir un nuevo valor durante una actualización o se debe detener la flota de computación al eliminar un valor existente.

InstanceType (Requerido, String)

El tipo de instancia que se va a usar en este recurso informático de Slurm. Todos los tipos de instancias de un clúster deben usar la misma arquitectura de procesador, ya sea x86_64 o arm64.

Los tipos de instancias que se enumeran en Instances deben tener:

  • El mismo número de vCPU o, si DisableSimultaneousMultithreading se ha establecido en true, el mismo número de núcleos.

  • El mismo número de aceleradores de los mismos fabricantes.

  • Compatible con EFA, si Efa/Enabled se establece en true.

Los tipos de instancias que aparecen en la lista Instances pueden tener:

  • Cantidad de memoria diferente.

    En este caso, la memoria mínima debe configurarse como recurso de Slurm consumible.

    nota

    A partir de AWS ParallelCluster la versión 3.7.0, se EnableMemoryBasedScheduling puede habilitar si configuras varios tipos de instancias en Instances.

    Para AWS ParallelCluster las versiones 3.2.0 a 3.6. x, no se EnableMemoryBasedScheduling puede habilitar si configuras varios tipos de instancias en Instances.

  • Tarjetas de red diferentes.

    En este caso, el número de interfaces de red configuradas para el recurso informático viene definido por el tipo de instancia con el menor número de tarjetas de red.

  • Ancho de banda de la red diferente.

  • Tamaño de almacén de instancias diferente.

Si define un tipo de hpc6id instancia p4d o, u otro tipo de instancia que tenga varias interfaces de red o una tarjeta de interfaz de red, debe lanzar las instancias de procesamiento en una subred privada, tal y como se describe enAWS ParallelCluster con dos subredes. AWS Las IP públicas solo se pueden asignar a instancias lanzadas con una única interfaz de red. Para obtener más información, consulte Asignación de una dirección IPv4 pública durante el lanzamiento de una instancia en la Guía del usuario de Amazon EC2 para instancias de Linux.

Política de actualización: la flota de computación debe estar detenida para poder cambiar esta configuración y proceder a la actualización.

nota

Instancesse admite a partir de la AWS ParallelCluster versión 3.3.0.

MinCount (Opcional, Integer)

El número mínimo de instancias que utiliza el recurso informático de Slurm. El valor predeterminado es 0.

nota

El tamaño del clúster puede cambiar durante una actualización. Para obtener más información, consulte Tamaño de la capacidad del clúster y actualización

Política de actualización: la flota de computación debe estar detenida para poder cambiar esta configuración y proceder a la actualización.

MaxCount (Opcional, Integer)

El número máximo de instancias que utiliza el recurso informático de Slurm. El valor predeterminado es 10.

Cuando se usaCapacityType = CAPACITY_BLOCK, MaxCount debe ser igual o superior a MinCount 0, ya que todas las instancias que forman parte de la reserva del bloque de capacidad se administran como nodos estáticos.

En el momento de la creación del clúster, el nodo principal espera a que todos los nodos estáticos estén listos para indicar que la creación del clúster se ha realizado correctamente. Sin embargo, al utilizarlosCapacityType = CAPACITY_BLOCK, los nodos que forman parte de los recursos informáticos asociados a los bloques de capacidad no se tendrán en cuenta para esta comprobación. El clúster se creará aunque no estén activos todos los bloques de capacidad configurados.

nota

El tamaño del clúster puede cambiar durante una actualización. Para obtener más información, consulte Tamaño de la capacidad del clúster y actualización

DynamicNodePriority (Opcional, Integer)

La prioridad de los nodos dinámicos en un recurso informático de cola. La prioridad se asigna al parámetro de configuración Weight del nodo de Slurm para los nodos dinámicos del recurso informático. El valor predeterminado es 1000.

Slurm prioriza primero los nodos con los valores de Weight más bajos.

aviso

El uso de muchos valores de Weight diferentes en una partición (cola) de Slurm puede reducir el ritmo de programación de trabajos en la cola.

En AWS ParallelCluster las versiones anteriores a la 3.7.0, a los nodos estáticos y dinámicos se les asignaba el mismo peso predeterminado de1. En este caso, Slurm podría priorizar los nodos dinámicos inactivos sobre los nodos estáticos inactivos debido al esquema de nomenclatura de los nodos estáticos y dinámicos. Cuando todo lo demás es igual, Slurm programa los nodos alfabéticamente por nombre.

nota

DynamicNodePriorityse agregó en la AWS ParallelCluster versión 3.7.0.

Política de actualización: esta configuración se puede cambiar durante una actualización.

StaticNodePriority (Opcional, Integer)

La prioridad de los nodos estáticos en un recurso de cómputo de cola. La prioridad se asigna al parámetro de configuración Weight del nodo de Slurm para los nodos estáticos del recurso informático. El valor predeterminado es 1.

Slurm prioriza primero los nodos con los valores de Weight más bajos.

aviso

El uso de muchos valores de Weight diferentes en una partición (cola) de Slurm puede reducir el ritmo de programación de trabajos en la cola.

nota

StaticNodePriorityse añade en la AWS ParallelCluster versión 3.7.0.

Política de actualización: esta configuración se puede cambiar durante una actualización.

SpotPrice (Opcional, Float)

El precio máximo que se paga por una instancia de spot de EC2 antes del lanzamiento de cualquier instancia. El valor predeterminado es precio bajo demanda.

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

DisableSimultaneousMultithreading (Opcional, Boolean)

Si true, el subprocesamiento múltiple en los nodos de la cola de Slurm está deshabilitado. El valor predeterminado es false.

No todos los tipos de instancias pueden deshabilitar los subprocesos múltiples. Para obtener una lista de los tipos de instancias que admiten la desactivación de subprocesos múltiples, consulte Núcleos de CPU y subprocesos para cada núcleo de CPU por tipo de instancia en la Guía del usuario de Amazon EC2.

Política de actualización: la flota de computación debe estar detenida para poder cambiar esta configuración y proceder a la actualización.

SchedulableMemory (Opcional, Integer)

La cantidad de memoria en MiB que se configura en el parámetro de Slurm RealMemory para los nodos de computación de un recurso informático. Este valor es el límite superior de la memoria de nodo disponible para los trabajos cuando se habilita SlurmSettings/EnableMemoryBasedScheduling. El valor predeterminado es el 95 por ciento de la memoria que aparece en los tipos de instancias de Amazon EC2 y que devuelven los tipos de API de Amazon DescribeInstance EC2. Asegúrese de convertir los valores expresados en GiB a MiB.

Valores admitidos: 1-EC2Memory

EC2Memoryes la memoria (en MiB) que aparece en los tipos de instancias de Amazon EC2 y que devuelven los tipos de API de Amazon EC2. DescribeInstance Asegúrese de convertir los valores expresados en GiB a MiB.

Esta opción es más relevante cuando se habilita SlurmSettings/EnableMemoryBasedScheduling. Para obtener más información, consulte Slurm programación basada en memoria.

nota

SchedulableMemory es compatible a partir de AWS ParallelCluster versión 3.2.0.

A partir de la versión 3.2.0, de forma predeterminada, se AWS ParallelCluster configura RealMemory para los nodos de Slurm cómputo el 95 por ciento de la memoria que devuelve la API de Amazon EC2. DescribeInstanceTypes Esta configuración es independiente del valor de EnableMemoryBasedScheduling.

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

HealthChecks (opcional)

Especifique las comprobaciones de estado de un recurso informático.

Gpu (opcional)

Especifique las comprobaciones de estado de la GPU en un recurso informático.

Enabled (Opcional, Boolean)

Si AWS ParallelCluster realiza comprobaciones de estado de la GPU al calcular un recurso en una cola. El valor predeterminado es false.

nota

AWS ParallelCluster no admiteHealthChecks/Gpuen los nodos que utilizan sistemas operativos alinux2 ARM. Estas plataformas no son compatibles con el administrador de GPU para centros de datos de NVIDIA (DCGM).

Comportamiento de la comprobación de estado de la Gpu
  • SiGpu/Enabledestá establecido entrue, AWS ParallelCluster realiza comprobaciones de estado de la GPU en un recurso informático.

  • La comprobación de estado de la Gpu realiza comprobaciones de estado de un recurso informático para evitar que se envíen trabajos en nodos con una GPU degradada.

  • Si un nodo de cómputo no pasa una comprobación de estado de la Gpu, el estado del nodo de computación cambia a DRAIN. Los nuevos trabajos no comienzan en este nodo. Los trabajos existentes se ejecutan hasta su finalización. Una vez finalizados todos los trabajos en ejecución, el nodo de cómputo finaliza si es un nodo dinámico y se reemplaza si es un nodo estático.

  • La duración de la comprobación de estado de la Gpu depende del tipo de instancia seleccionada, la cantidad de GPU de la instancia y la cantidad de objetivos de la comprobación de estado de la Gpu (equivalente a la cantidad de objetivos de GPU de trabajo). En una instancia con 8 GPU, la duración normal es inferior a 3 minutos.

  • Si la comprobación de estado de la Gpu se ejecuta en una instancia que no es compatible, se cierra y el trabajo se ejecuta en el nodo de cómputo. Por ejemplo, si una instancia no tiene una GPU o si tiene una GPU pero no es una GPU de NVIDIA, la comprobación de estado finaliza y el trabajo se ejecuta en el nodo de cómputo. Solo se admiten las GPU NVIDIA.

  • La comprobación de estado de la Gpu utiliza la herramienta dcgmi para realizar comprobaciones de estado en un nodo y sigue los siguientes pasos:

    Cuando la comprobación de estado de la Gpu comienza en un nodo:

    1. Detecta si los servicios nvidia-dcgm y nvidia-fabricmanager se están ejecutando.

    2. Si estos servicios no se están ejecutando, la comprobación de estado de la Gpulos inicia.

    3. Detecta si el modo de persistencia está activado.

    4. Si el modo de persistencia no está activado, la comprobación de estado de la Gpu lo habilita.

    Al final de la comprobación de estado, la comprobación de estado de la Gpu restablece estos servicios y recursos a su estado inicial.

  • Si el trabajo está asignado a un conjunto específico de GPU de nodos, la comprobación de estado de la Gpu solo se ejecuta en ese conjunto específico. De lo contrario, la comprobación de estado de la Gpu se ejecuta en todas las GPU del nodo.

  • Si un nodo de cómputo recibe 2 o más solicitudes de comprobación de estado de la Gpu al mismo tiempo, solo se ejecuta la primera comprobación de estado y se omiten las demás. Este también es el caso de las comprobaciones de estado dirigidas a las GPU de los nodos. Puede consultar los archivos de registro para obtener información adicional sobre esta situación.

  • El registro de comprobación de estado de un nodo informático específico está disponible en el archivo /var/log/parallelcluster/slurm_health_check.log. Este archivo está disponible en Amazon CloudWatch, en el grupo de CloudWatch registros del clúster, donde puede encontrar:

    • Detalles sobre la acción que lleva a cabo la comprobación de estado de la Gpu, incluida la activación y desactivación de los servicios y el modo de persistencia.

    • El identificador de la GPU, el ID de serie y el UUID.

    • El resultado del comprobación de estado.

Política de actualización: esta configuración se puede cambiar durante una actualización.

nota

HealthChecksse admite a partir de la AWS ParallelCluster versión 3.6.0.

Efa (opcional)

Especifica la configuración Elastic Fabric Adapter (EFA) para los nodos de la cola de Slurm.

Efa: Enabled: boolean GdrSupport: boolean

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

Enabled (Opcional, Boolean)

Especifica que Elastic Fabric Adapter (EFA) esté habilitado. Para ver la lista de instancias de EC2 compatibles con EFA, consulte Tipos de instancias admitidas en la Guía del usuario para instancias de Linux de Amazon EC2. Para obtener más información, consulte Elastic Fabric Adapter. Le recomendamos que utilice un clúster SlurmQueues/Networking/PlacementGroup para minimizar las latencias entre instancias.

El valor predeterminado es false.

nota

Elastic Fabric Adapter (EFA) no es compatible con diferentes zonas de disponibilidad. Para obtener más información, consulte SubnetIds.

aviso

Si va a definir un grupo de seguridad personalizado en SecurityGroups, asegúrese de que las instancias habilitadas para EFA sean miembros de un grupo de seguridad que permita que todo el tráfico entrante y saliente se dirija a sí mismo.

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

GdrSupport (Opcional, Boolean)

(Opcional) A partir de AWS ParallelCluster versión 2.11.3, esta configuración no tiene efecto. La compatibilidad con el Elastic Fabric Adapter (EFA) para GPUDirect RDMA (acceso directo a memoria) está habilitada para los nodos de procesamiento y siempre está habilitada si el tipo de instancia lo admite.

nota

AWS ParallelCluster versiones 3.0.0 a 3.0.1: Support for GPUDirect RDMA está habilitado para los recursos de cómputo. Slurm La compatibilidad de GPUDirect RDMA la admiten tipos de instancias concretos (p4d.24xlarge) en sistemas operativos específicos (Os es alinux2, centos7, ubuntu1804 o ubuntu2004). El valor predeterminado es false.

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

CapacityReservationTarget
CapacityReservationTarget: CapacityReservationId: string CapacityReservationResourceGroupArn: string

Especifica la reserva de capacidad bajo demanda que se utilizará para el recurso informático.

CapacityReservationId (Opcional, String)

El ID de la reserva de capacidad existente a la que se destinarán los recursos informáticos de la cola. El identificador puede hacer referencia a un ODCR o a un bloque de capacidad para ML.

Si este parámetro se especifica a nivel de recurso informático, si InstanceType es opcional, se recuperará automáticamente de la reserva.

CapacityReservationResourceGroupArn (Opcional, String)

Indica el nombre de recurso de Amazon (ARN) del grupo de recursos que actúa como grupo de reservas de capacidad vinculado a un servicio de reservas de capacidad para el recurso de cómputo. AWS ParallelCluster identifica y utiliza la reserva de capacidad más adecuada del grupo. El grupo de recursos debe tener al menos un ODCR para cada tipo de instancia que aparezca en la lista del recurso informático. Para obtener más información, consulte Inicio de instancias con ODCR (reservas de capacidad bajo demanda).

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

nota

CapacityReservationTarget se añade con AWS ParallelCluster versión 3.3.0.

Networking
Networking: PlacementGroup: Enabled: boolean Name: string

Política de actualización: todos los nodos de procesamiento deben estar detenidos para poder eliminar un grupo de ubicación administrado. Debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

PlacementGroup (opcional)

Especifica la configuración del grupo de ubicación para el recurso de cómputo.

Enabled (Opcional, Boolean)

Indica si se utiliza un grupo de ubicación para el recurso informático.

  • Si se establece en true, sin un Name definido, a ese recurso informático se le asigna su propio grupo de ubicación administrado, independientemente de la configuración de SlurmQueues/Networking/PlacementGroup.

  • Si se establece en true, con un Name definido, a ese recurso informático se le asigna el grupo de ubicación indicado, independientemente de la configuración de SlurmQueues/Networking/PlacementGroup.

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

Name (Opcional, String)

El nombre del grupo de ubicación de un grupo con ubicación en clúster existente que se usa para el recurso informático.

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

nota
  • Si tanto PlacementGroup/Enabled como Name no están configurados, sus valores respectivos son los valores predeterminados de la configuración de SlurmQueues/Networking/PlacementGroup.

  • ComputeResources/Networking/PlacementGroupse añade con la AWS ParallelCluster versión 3.3.0.

CustomSlurmSettings (Opcional, Dict)

(Opcional) Define los ajustes de configuración del nodo de Slurm personalizado (recurso informático).

Especifica un diccionario de pares clave-valor de parámetros de configuración de Slurm personalizados que se aplican a los nodos de Slurm (recursos informáticos).

Cada par clave-valor independiente, por ejemplo Param1: Value1, se añade por separado al final de la línea de configuración del nodo de Slurm en el formato Param1=Value1.

Solo puede especificar los parámetros de configuración de Slurm que no estén incluidos en la lista de denegaciones de CustomSlurmSettings. Para obtener más información acerca de los parámetros de configuración de Slurm incluidos en la lista de denegaciones, consulte Parámetros de configuración de Slurm enumerados en denegación para CustomSlurmSettings.

AWS ParallelCluster solo comprueba si un parámetro está en una lista de denegaciones. AWS ParallelCluster no valida la sintaxis ni la semántica de los parámetros de Slurm configuración personalizados. Usted es responsable de validar los parámetros de configuración personalizados de Slurm. Los parámetros de configuración personalizados de Slurm no válidos pueden provocar errores en los daemons de Slurm y provocar errores en la creación y actualización del clúster.

Para obtener más información sobre cómo especificar parámetros de Slurm configuración personalizados con AWS ParallelCluster, consultePersonalización de la configuración de Slurm.

Para obtener más información sobre los parámetros de configuración de Slurm, consulte slurm.conf en la documentación de Slurm.

Política de actualización: esta configuración se puede cambiar durante una actualización.

nota

CustomSlurmSettings es compatible a partir de AWS ParallelCluster versión 3.6.0.

(Cadena) Opcional.

Una lista de pares clave-valor de etiqueta. Las etiquetas de ComputeResource anulan las etiquetas duplicadas especificadas en las Sección de Tags o SlurmQueues/Tags.

Key (Opcional, String)

La clave de la etiqueta.

Value (Opcional, String)

El valor de la etiqueta.

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

ComputeSettings

(Obligatorio) Define la configuración de ComputeSettings de la cola de Slurm.

Propiedades de ComputeSettings

Especifica las propiedades de ComputeSettings de los nodos de la cola de Slurm.

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

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

LocalStorage (opcional)

Especifica las propiedades de LocalStorage de los nodos de la cola de Slurm.

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

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

RootVolume (opcional)

Especifica los detalles del volumen raíz de los nodos de la cola de Slurm.

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

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

Size (Opcional, Integer)

Especifica el tamaño del volumen raíz en gibibytes (GiB) para los nodos de la cola de Slurm. El tamaño predeterminado proviene de la AMI. El uso de un tamaño diferente requiere que la AMI admita growroot.

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

Encrypted (Opcional, Boolean)

Si true, el volumen raíz de los nodos de la cola de Slurm está cifrado. El valor predeterminado es false.

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

VolumeType (Opcional, String)

Especifica el tipo de volumen de Amazon EBS de los nodos de la cola de Slurm. Los valores admitidos son gp2, gp3, io1, io2, sc1, st1 y standard. El valor predeterminado es gp3.

Para obtener más información, consulte Tipos de volúmenes de Amazon EBS en la Guía del usuario de Amazon EC2.

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

Iops (Opcional, Boolean)

Define el número de IOPS para volúmenes de tipo io1, io2 y gp3.

El valor predeterminado, los valores admitidos y la proporción de datos volume_iops a volume_size varía entre VolumeType y Size.

VolumeType = io1

Iops predeterminado = 100

Valores admitidos Iops = 100–64 000 †

Relación máxima volume_iops a volume_size = 50 IOPS por GiB. 5000 IOPS requieren un volume_size de al menos 100 GiB.

VolumeType = io2

Iops predeterminado = 100

Valores admitidos Iops = 100–64 000 (256 000 para los volúmenes de io2 Block Express) †

Relación máxima Iops a Size = 500 IOPS por GiB. 5000 IOPS requieren un Size de al menos 10 GiB.

VolumeType = gp3

Iops predeterminado = 3000

Valores admitidos Iops = 3000–16 000 †

Proporción máxima de Iops a Size = 500 IOPS por GiB para volúmenes con IOPS superiores a 3000.

† Las IOPS máximas solo se garantizan en las instancias creadas en el sistema Nitro aprovisionadas con más de 32 000 IOPS. Otras instancias garantizan hasta 32,000 IOPS. Es posible que los volúmenes io1 más antiguos no alcancen el rendimiento máximo a menos que modifique el volumen. io2 Los volúmenes de Block Express admiten valores de volume_iops de hasta 256 000 en tipos de instancias R5b. Para obtener más información, consulte io2Block Express Volumes en la Guía del usuario de Amazon EC2.

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

Throughput (Opcional, Integer)

Define el rendimiento de los tipos de volumen gp3, en MiB/s. Esta configuración solo es válida cuando VolumeType se establece en gp3. El valor predeterminado es 125. Valores admitidos = 125–1000 MiB/s

La relación entre Throughput y Iops no puede ser superior a 0,25. El rendimiento máximo de 1000 MiB/s requiere que la configuración de Iops sea de al menos 4000.

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

EphemeralVolume (Opcional, Boolean)

Especifica la configuración del volumen efímero. El volumen efímero se crea combinando todos los volúmenes del almacén de instancias en un único volumen lógico formateado con el sistema de archivos ext4. El valor predeterminado es /scratch. Si el tipo de instancia no tiene ningún volumen de almacén de instancias, no se crea ningún volumen efímero. Para obtener más información, consulte Volúmenes de almacén de instancias en la Guía del usuario de Amazon EC2.

EphemeralVolume: MountDir: string

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

CustomActions

(Opcional) Especifica los scripts personalizados que se ejecutarán en los nodos de la cola de Slurm.

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

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

Propiedades de CustomActions
OnNodeStart (Opcional, String)

Especifica una secuencia de scripts o un script único que se ejecutará en los nodos de la Slurm cola antes de que se inicie cualquier acción de arranque de implementación de nodos. AWS ParallelCluster no admite incluir un único script y Sequence para la misma acción personalizada. Para obtener más información, consulte Acciones de arranque personalizadas.

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

OnNodeConfigured (Opcional, String)

Especifica una secuencia de scripts o un solo script para ejecutarse en los nodos de la cola de Slurm una vez completadas todas las acciones de arranque de los nodos. AWS ParallelCluster no admite incluir un único script y Sequence para la misma acción personalizada. Para obtener más información, consulte Acciones de arranque personalizadas.

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

nota

Sequencese añade a partir de la AWS ParallelCluster versión 3.6.0. Si lo especificaSequence, puede enumerar varios scripts para una acción personalizada. AWS ParallelCluster sigue admitiendo la configuración de una acción personalizada con un único script, sin incluirloSequence.

AWS ParallelCluster no admite incluir tanto un único script como Sequence para la misma acción personalizada.

Iam

(Opcional) Define la configuración de IAM opcional para la cola de Slurm.

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

Política de actualización: esta configuración se puede cambiar durante una actualización.

Propiedades de Iam
InstanceProfile (Opcional, String)

Especifica un perfil de instancia para anular el rol de instancia o el perfil de instancia predeterminados de la cola de Slurm. No puede especificar InstanceProfile ni InstanceRole. El formato es arn:${Partition}:iam::${Account}:instance-profile/${InstanceProfileName}.

Si se especifica, no se puede especificar la configuración de AdditionalIamPolicies y S3Access.

Le recomendamos que especifique una o ambas opciones de configuración de S3Access y AdditionalIamPolicies, ya que las características que se añaden a AWS ParallelCluster menudo requieren nuevos permisos.

Política de actualización: la flota de computación debe estar detenida para poder cambiar esta configuración y proceder a la actualización.

InstanceRole (Opcional, String)

Especifica un rol de instancia para anular el rol de instancia o el perfil de instancia predeterminados de la cola de Slurm. No puede especificar InstanceProfile ni InstanceRole. El formato es arn:${Partition}:iam::${Account}:role/${RoleName}.

Si se especifica, no se puede especificar la configuración de AdditionalIamPolicies y S3Access.

Le recomendamos que especifique una o ambas opciones de configuración de S3Access y AdditionalIamPolicies, ya que las características que se añaden a AWS ParallelCluster menudo requieren nuevos permisos.

Política de actualización: esta configuración se puede cambiar durante una actualización.

S3Access (opcional)

Especifica un bucket para la cola de Slurm. Se utiliza para generar políticas que concedan el acceso especificado al bucket de la cola de Slurm.

Si se especifica, no se puede especificar la configuración de InstanceRole y InstanceProfile.

Le recomendamos que especifique una o ambas opciones de configuración de S3Access y AdditionalIamPolicies, ya que las características que se añaden a AWS ParallelCluster menudo requieren nuevos permisos.

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

Política de actualización: esta configuración se puede cambiar durante una actualización.

BucketName (Requerido, String)

Nombre del bucket de .

Política de actualización: esta configuración se puede cambiar durante una actualización.

KeyName (Opcional, String)

La clave del bucket. El valor predeterminado es *.

Política de actualización: esta configuración se puede cambiar durante una actualización.

EnableWriteAccess (Opcional, Boolean)

Indica si se ha habitado el acceso a la escritura en el bucket.

Política de actualización: esta configuración se puede cambiar durante una actualización.

AdditionalIamPolicies (opcional)

Especifica una lista separada de nombres de recursos de Amazon (ARN) de políticas de IAM para Amazon EC2. Esta lista se adjunta a la función raíz utilizada para la Slurm cola, además de los permisos requeridos por AWS ParallelCluster ella.

El nombre de una política de IAM y su ARN son diferentes. Los nombres no se pueden usar.

Si se especifica, no se puede especificar la configuración de InstanceRole y InstanceProfile.

Le recomendamos que use las AdditionalIamPolicies porque se añaden AdditionalIamPolicies a los permisos que requiere AWS ParallelCluster y el InstanceRole debe incluir todos los permisos necesarios. Los permisos necesarios a menudo cambian de versión a versión a medida que se añaden características.

No hay valor predeterminado.

AdditionalIamPolicies: - Policy: string

Política de actualización: esta configuración se puede cambiar durante una actualización.

SlurmSettings

(Opcional) Define la configuración d eSlurm que se aplica a todo el clúster.

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

Propiedades de SlurmSettings

ScaledownIdletime (Opcional, Integer)

Define el tiempo (en minutos) durante el cual no hay trabajo y el nodo de Slurm finaliza.

El valor predeterminado es 10.

Política de actualización: la flota de computación debe estar detenida para poder cambiar esta configuración y proceder a la actualización.

MungeKeySecretArn (Opcional, String)

El nombre de recurso de Amazon (ARN) del secreto de AWS Secrets Manager en texto simple que contiene la clave munge codificada en base64 que se utilizará en el clúster de Slurm. Esta clave munge se utilizará para autenticar las llamadas RPC entre los comandos del cliente Slurm y los daemons de Slurm que actúan como servidores remotos. Si no MungeKeySecretArn se proporciona, AWS ParallelCluster generará una clave munge aleatoria para el clúster.

nota

MungeKeySecretArnse admite a partir de la AWS ParallelCluster versión 3.8.0.

aviso

Si MungeKeySecretArn se acaba de añadir a un clúster existente, no ParallelCluster restaurará la clave munge anterior en caso de una reversión o cuando la elimine más tarde. MungeKeySecretArn En su lugar, se generará una nueva clave de munge aleatoria.

Si el AWS ParallelCluster usuario tiene permiso para utilizar DescribeSecretese recurso secreto específico, MungeKeySecretArn se valida. MungeKeySecretArn es válido si:

  • El secreto especificado existe y

  • El secreto es texto plano y contiene una cadena válida codificada en base64, y

  • La clave munge binaria decodificada tiene un tamaño entre 256 y 8192 bits.

Si la política de IAM del usuario de pcluster no la incluye DescribeSecret, no se valida y MungeKeySecretArn se muestra un mensaje de advertencia. Para obtener más información, consulte Política de usuario básica pcluster de AWS ParallelCluster.

Al realizar la actualización MungeKeySecretArn, se deben detener la flota informática y todos los nodos de inicio de sesión.

Si el valor secreto del ARN secreto se modifica mientras el ARN sigue siendo el mismo, el clúster no se actualizará automáticamente con la nueva clave de munge. Para utilizar la nueva clave munge del ARN secreto, debe detener la flota de cómputo y los nodos de inicio de sesión y, a continuación, ejecutar el siguiente comando desde el nodo principal.

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

Tras ejecutar el comando, puede reanudar tanto la flota de procesamiento como los nodos de inicio de sesión: los nodos de procesamiento e inicio de sesión recién aprovisionados comenzarán a utilizar automáticamente la nueva clave munge.

Para generar una clave munge personalizada codificada en base64, puede usar la utilidad mungekey que se distribuye con el software munge y, a continuación, codificarla con la utilidad base64 generalmente disponible en su sistema operativo. Como alternativa, puede utilizar bash (establezca el parámetro bs entre 32 y 1024)

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

o Python de la siguiente manera:

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 actualización: SE DETUVO LA NUEVA POLÍTICA DE ACTUALIZACIÓN CON LA FLOTA DE CÓMPUTOS Y LOS NODOS DE INICIO DE SESIÓN (no se agregó por error en la versión 3.7.0).

QueueUpdateStrategy (Opcional, String)

Especifica la estrategia de reemplazo de los parámetros de la sección de SlurmQueues que tienen la siguiente política de actualización:

Política de actualización: debe haberse detenido la flota de computación o configurado QueueUpdateStrategy para poder cambiar esta configuración y proceder a la actualización.

El valor QueueUpdateStrategy solo se usa cuando se inicia un proceso de actualización del clúster.

Valores válidos: COMPUTE_FLEET_STOP | DRAIN | TERMINATE

Valor predeterminado: COMPUTE_FLEET_STOP

DRAIN

Los nodos de las colas con valores de parámetros cambiados se establecen en DRAINING. Los nodos en este estado no aceptan nuevos trabajos y los trabajos en ejecución continúan completándose.

Cuando un nodo se convierte en idle (DRAINED), se reemplaza un nodo si es estático y se termina si es dinámico. Los demás nodos de otras colas sin cambios en los valores de los parámetros no se ven afectados.

El tiempo que necesita esta estrategia para reemplazar todos los nodos de cola por valores de parámetros modificados depende de la carga de trabajo en ejecución.

COMPUTE_FLEET_STOP

El valor predeterminado del parámetro es . Con esta configuración, la actualización de los parámetros de la sección SlurmQueues requiere que detenga la flota de computación antes de realizar una actualización del clúster:

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

En las colas con valores de parámetros modificados, los trabajos en ejecución finalizan y los nodos se apagan inmediatamente.

Los nodos estáticos se sustituyen y los nodos dinámicos se terminan.

Los demás nodos de otras colas sin cambios en los valores de los parámetros no se ven afectados.

Política de actualización: esta configuración no se analiza durante una actualización.

nota

QueueUpdateStrategy es compatible a partir de AWS ParallelCluster versión 3.2.0.

EnableMemoryBasedScheduling (Opcional, Boolean)

Si se establece en true, la programación basada en memoria está habilitada en Slurm. Para obtener más información, consulte SlurmQueues. ComputeResources SchedulableMemory.

El valor predeterminado es false.

aviso

La activación de la programación basada en memoria afecta a la forma en que el programador de Slurm gestiona las tareas y la asignación de nodos.

Para obtener más información, consulte Slurm programación basada en memoria.

nota

EnableMemoryBasedScheduling es compatible a partir de AWS ParallelCluster versión 3.2.0.

nota

A partir de AWS ParallelCluster la versión 3.7.0, se EnableMemoryBasedScheduling puede habilitar si configuras varios tipos de instancias en Instances.

Para AWS ParallelCluster las versiones 3.2.0 a 3.6. x, no se EnableMemoryBasedScheduling puede habilitar si configuras varios tipos de instancias en Instances.

Política de actualización: la flota de computación debe estar detenida para poder cambiar esta configuración y proceder a la actualización.

CustomSlurmSettings (Opcional, [Dict])

Define la configuración de Slurm personalizada que se aplica a todo el clúster.

Especifica una lista de diccionarios de configuración de Slurm de pares clave-valor que se añadirán al final del archivo slurm.conf que AWS ParallelCluster genera.

Cada diccionario de la lista aparece como una línea independiente que se agrega al archivo de configuración de Slurm. Puede especificar parámetros simples o complejos.

Los parámetros simples se componen de un único key pair, tal y como se muestra en los siguientes ejemplos:

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

Ejemplo renderizado en la configuración de Slurm:

Param1=100 Param2=SubParam1,SubParam2=SubValue2

Los parámetros de configuración de Slurm complejos constan de varios pares clave-valor separados por espacios, como se muestra en los siguientes ejemplos:

- 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

Ejemplo, renderizado en la configuración de Slurm:

NodeName=test-nodes[1-10] CPUs=4 RealMemory=4196 ... # other node settings NodeSet=test-nodeset Nodes=test-nodes[1-10] ... # other nodeset settings PartitionName=test-partition Nodes=test-nodeset ... # other partition settings
nota

Los nodos de Slurm personalizados no deben contener los patrones -st- ni -dy- en sus nombres. Estos patrones están reservados para los nodos administrados por AWS ParallelCluster.

Si especifica parámetros de configuración de Slurm personalizados en CustomSlurmSettings, no debe especificar parámetros de configuración de Slurm personalizados para CustomSlurmSettingsIncludeFile.

Solo puede especificar los parámetros de configuración de Slurm que no estén incluidos en la lista de denegaciones de CustomSlurmSettings. Para obtener más información acerca de los parámetros de configuración de Slurm incluidos en la lista de denegaciones, consulte Parámetros de configuración de Slurm enumerados en denegación para CustomSlurmSettings.

AWS ParallelCluster solo comprueba si un parámetro está en una lista de denegaciones. AWS ParallelCluster no valida la sintaxis ni la semántica de los parámetros de Slurm configuración personalizados. Usted es responsable de validar los parámetros de configuración personalizados de Slurm. Los parámetros de configuración personalizados de Slurm no válidos pueden provocar errores en los daemons de Slurm y provocar errores en la creación y actualización del clúster.

Para obtener más información sobre cómo especificar parámetros de Slurm configuración personalizados con AWS ParallelCluster, consultePersonalización de la configuración de Slurm.

Para obtener más información sobre los parámetros de configuración de Slurm, consulte slurm.conf en la documentación de Slurm.

Política de actualización: esta configuración se puede cambiar durante una actualización.

nota

CustomSlurmSettings es compatible a partir de AWS ParallelCluster versión 3.6.0.

CustomSlurmSettingsIncludeFile (Opcional, String)

Define la configuración de Slurm personalizada que se aplica a todo el clúster.

Especifica el archivo de Slurm personalizado compuesto por los parámetros de configuración de Slurm personalizados que se añadirán al final del archivo de slurm.conf que genera AWS ParallelCluster .

Debe incluir la ruta al archivo. La ruta del archivo debe comenzar con https:// o s3://.

Si especifica parámetros de configuración de Slurm personalizados para CustomSlurmSettingsIncludeFile, no debe especificar parámetros de configuración de Slurm personalizados para CustomSlurmSettings.

nota

Los nodos de Slurm personalizados no deben contener los patrones -st- ni -dy- en sus nombres. Estos patrones están reservados para los nodos administrados por AWS ParallelCluster.

Solo puede especificar los parámetros de configuración de Slurm que no estén incluidos en la lista de denegaciones de CustomSlurmSettingsIncludeFile. Para obtener más información acerca de los parámetros de configuración de Slurm incluidos en la lista de denegaciones, consulte Parámetros de configuración de Slurm enumerados en denegación para CustomSlurmSettings.

AWS ParallelCluster comprueba únicamente si un parámetro está en una lista de denegaciones. AWS ParallelCluster no valida la sintaxis ni la semántica de los parámetros de Slurm configuración personalizados. Usted es responsable de validar los parámetros de configuración personalizados de Slurm. Los parámetros de configuración personalizados de Slurm no válidos pueden provocar errores en los daemons de Slurm y provocar errores en la creación y actualización del clúster.

Para obtener más información sobre cómo especificar parámetros de Slurm configuración personalizados con AWS ParallelCluster, consultePersonalización de la configuración de Slurm.

Para obtener más información sobre los parámetros de configuración de Slurm, consulte slurm.conf en la documentación de Slurm.

Política de actualización: esta configuración se puede cambiar durante una actualización.

nota

CustomSlurmSettings es compatible a partir de AWS ParallelCluster versión 3.6.0.

Database

(Opcional) Define la configuración para habilitar la contabilidad de Slurm en el clúster. Para obtener más información, consulte Slurmcontabilidad con AWS ParallelCluster.

Database: Uri: string UserName: string PasswordSecretArn: string

Política de actualización: la flota de computación debe estar detenida para poder cambiar esta configuración y proceder a la actualización.

Propiedades de Database

Uri (Requerido, String)

La dirección del servidor de base de datos que se utiliza como servidor de contabilidad de Slurm. Este URI debe tener el mismo formato que host:port y no debe contener un esquema, como mysql://. El host puede ser una dirección IP o un nombre DNS que pueda resolver el nodo principal. Si no se proporciona un puerto, AWS ParallelCluster utiliza el puerto predeterminado 3306 de MySQL.

AWS ParallelCluster inicia la base de datos de Slurm contabilidad al clúster y debe acceder a la base de datos.

Se debe poder acceder a la base de datos antes de que ocurra lo siguiente:

  • Se crea un clúster.

  • La contabilidad de Slurm se habilita con una actualización del clúster.

Política de actualización: la flota de computación debe estar detenida para poder cambiar esta configuración y proceder a la actualización.

UserName (Requerido, String)

La identidad que se Slurm utiliza para conectarse a la base de datos, escribir registros contables y realizar consultas. El usuario debe tener permisos de lectura y escritura en la base de datos.

Política de actualización: la flota de computación debe estar detenida para poder cambiar esta configuración y proceder a la actualización.

PasswordSecretArn (Requerido, String)

El nombre de recurso de Amazon (ARN) del AWS Secrets Manager secreto que contiene la contraseña en texto UserName simple. Esta contraseña se utiliza junto con la contabilidad de UserName y Slurm para autenticarse en el servidor de la base de datos.

nota

Al crear un secreto con la AWS Secrets Manager consola, asegúrese de seleccionar «Otro tipo de secreto», seleccionar texto sin formato e incluir solo el texto de la contraseña en el secreto.

Para obtener más información sobre cómo AWS Secrets Manager crear un secreto, consulta Crear un AWS Secrets Manager secreto

Si el usuario tiene el permiso para hacerlo DescribeSecret, PasswordSecretArn está validado. PasswordSecretArnes válido si existe el secreto especificado. Si la política de IAM del usuario no la incluye DescribeSecret, PasswordSecretArn no está validada y aparece un mensaje de advertencia. Para obtener más información, consulte Política de usuario básica pcluster de AWS ParallelCluster.

Al actualizar PasswordSecretArn, la flota de computación debe detenerse. Si el valor secreto cambia y el ARN secreto no cambia, el clúster no se actualiza automáticamente con la nueva contraseña de la base de datos. Para actualizar el clúster para el nuevo valor secreto, debe ejecutar el siguiente comando desde dentro del nodo principal después de detener la flota de computación.

$ sudo /opt/parallelcluster/scripts/slurm/update_slurm_database_password.sh
aviso

Para evitar perder datos de contabilidad, le recomendamos que cambie únicamente la contraseña de la base de datos cuando la flota de computación esté detenida.

Política de actualización: la flota de computación debe estar detenida para poder cambiar esta configuración y proceder a la actualización.

DatabaseName (Opcional, String)

Nombre de la base de datos en el servidor de bases de datos (definido por el parámetro Uri) que se utilizará para Slurm Accounting.

El nombre de la base de datos puede contener letras minúsculas, números y guiones bajos. El nombre no puede tener más de 64 caracteres.

Este parámetro se asigna al StorageLoc parámetro de slurmdbd.conf.

Si no DatabaseName se proporciona, ParallelCluster utilizará el nombre del clúster para definir un valor. StorageLoc

DatabaseNameSe permite actualizar el, teniendo en cuenta las siguientes consideraciones:

  • Si aún DatabaseName no existe una base de datos con un nombre en el servidor de bases de datos, slurmdbd la creará. Será su responsabilidad volver a configurar la nueva base de datos según sea necesario (por ejemplo, añadiendo las entidades contables: clústeres, cuentas, usuarios, asociaciones, QoS, etc.).

  • Si DatabaseName ya existe una base de datos con un nombre en el servidor de bases de datos, slurmdbd la usará para la funcionalidad de contabilidad de Slurm.

Política de actualización: la flota de computación debe estar detenida para poder cambiar esta configuración y proceder a la actualización.

nota

Database se añade a partir de versión 3.3.0.

Dns

(Opcional) Define la configuración d eSlurm que se aplica a todo el clúster.

Dns: DisableManagedDns: boolean HostedZoneId: string UseEc2Hostnames: boolean

Propiedades de Dns

DisableManagedDns (Opcional, Boolean)

Si se establece en true, las entradas de DNS del clúster no se crean y los nombres de los nodos de Slurm no se pueden resolver.

De forma predeterminada, AWS ParallelCluster crea una zona alojada en Route 53 en la que los nodos se registran cuando se lanzan. El valor predeterminado es false. Si DisableManagedDns se establece entrue, la zona alojada no la creó AWS ParallelCluster.

Para obtener información sobre cómo usar esta configuración para implementar clústeres en subredes sin acceso a Internet, consulte AWS ParallelCluster en una subred individual sin acceso a Internet.

aviso

Se requiere un sistema de resolución de nombres para que el clúster funcione correctamente. Si DisableManagedDns está establecido en true, debe proporcionar un sistema de resolución de nombres. Para usar el DNS predeterminado de EC2, establezca UseEc2Hostnames en true. Como alternativa, configure su propia resolución de DNS y asegúrese de que los nombres de los nodos estén registrados cuando se lancen las instancias. Por ejemplo, puede hacerlo configurando CustomActions/OnNodeStart.

Política de actualización: si se cambia esta configuración, no se permite la actualización.

HostedZoneId (Opcional, String)

Define un ID de zona alojada de Route 53 personalizado para usarlo en la resolución de nombres de DNS del clúster. Cuando se proporciona, AWS ParallelCluster registra los nodos del clúster en la zona alojada especificada y no crea una zona alojada administrada.

Política de actualización: si se cambia esta configuración, no se permite la actualización.

UseEc2Hostnames (Opcional, Boolean)

Si se establece en true, los nodos de cómputo del clúster están configurados con el nombre de host EC2 predeterminado. El NodeHostName de Slurm también se actualiza con esta información. El valor predeterminado es false.

Para obtener información sobre cómo usar esta configuración para implementar clústeres en subredes sin acceso a Internet, consulte AWS ParallelCluster en una subred individual sin acceso a Internet.

nota

Esta nota no es pertinente a partir de AWS ParallelCluster versión 3.3.0.

Para las versiones AWS ParallelCluster compatibles anteriores a la 3.3.0:

Cuando UseEc2Hostnames se establece entrue, el archivo de configuración de Slurm se establece con los AWS ParallelCluster prolog scripts y: epilog

  • prolog se ejecuta para añadir información de los nodos a /etc/hosts sobre los nodos de computación cuando se asigna cada trabajo.

  • epilog se ejecuta para limpiar el contenido escrito por prolog.

Para añadir los scripts prolog o epilog personalizados, agréguelos a las carpetas /opt/slurm/etc/pcluster/prolog.d/ o /opt/slurm/etc/pcluster/epilog.d/, respectivamente.

Política de actualización: si se cambia esta configuración, no se permite la actualización.