View a markdown version of this page

Creación de un grupo de nodos de procesamiento en AWS PC - AWS PIEZAS

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.

Creación de un grupo de nodos de procesamiento en AWS PC

En este tema se proporciona una descripción general de las opciones disponibles y se describe lo que hay que tener en cuenta al crear un grupo de nodos de procesamiento en AWS Parallel Computing Service (AWS PCS). Si es la primera vez que crea un grupo de nodos de procesamiento en AWS PCS, le recomendamos que siga el tutorial deComience con AWS Servicio de computación paralela. El tutorial puede ayudarle a crear un sistema HPC que funcione sin necesidad de ampliar todas las opciones y arquitecturas de sistema disponibles que sean posibles.

nota

Puedes configurar los ajustes personalizados de Slurm en los grupos de nodos de procesamiento para controlar la utilización de los recursos y los comportamientos a nivel de nodo. Para obtener más información, consulte Cómo configurar los ajustes personalizados de Slurm en AWS PC.

nota

Para ejecutar scripts personalizados en puntos definidos del ciclo de vida de un nodo de procesamiento (por ejemplo, montar sistemas de archivos, instalar software o unirse a un servicio de directorio) sin incorporar la lógica en los datos de usuario de la plantilla de lanzamiento, usa las acciones del ciclo de vida de los nodos. Para obtener más información, consulte Acciones del ciclo de vida del nodo.

importante

AWS Actualmente, PCS requiere un kernel compatible con IPv4 para la comunicación con los nodos locales, incluso cuando se usa AWS PCS en una IPv6-only red. Para obtener más información, consulte Imágenes personalizadas de Amazon Machine (AMIs) para AWS PCS.

Requisitos previos

Cree un grupo de nodos de procesamiento en AWS PC

Puede crear un grupo de nodos de procesamiento mediante Consola de administración de AWS o AWS CLI.

Consola de administración de AWS
Para crear tu grupo de nodos de procesamiento mediante la consola
  1. Abre la consola AWS PCS.

  2. Selecciona el clúster en el que quieres crear un grupo de nodos de procesamiento. Navega hasta Computar grupos de nodos y elige Crear.

  3. En la sección Configuración del grupo de nodos de Compute, proporciona un nombre para tu grupo de nodos. El nombre solo puede contener guiones y caracteres alfanuméricos que distingan mayúsculas de minúsculas. Debe empezar con un carácter alfabético y no puede tener más de 25 caracteres. El nombre debe ser único en el clúster.

  4. En Configuración informática, introduzca o seleccione estos valores:

    1. Plantilla de lanzamiento de EC2: seleccione una plantilla de lanzamiento personalizada para usarla en este grupo de nodos. Las plantillas de lanzamiento se pueden usar para personalizar la configuración de la red, como la subred y los grupos de seguridad, la configuración de supervisión y el almacenamiento a nivel de instancia. Si no tienes una plantilla de lanzamiento preparada, consulta para obtener información sobre cómo Uso de plantillas de lanzamiento de Amazon EC2 con PCS AWS crear una.

      importante

      AWS PCS crea una plantilla de lanzamiento administrada para cada grupo de nodos de procesamiento. Estos se denominanpcs-identifier-do-not-delete. No los selecciones al crear o actualizar un grupo de nodos de procesamiento, o el grupo de nodos no funcionará correctamente.

    2. Versión de la plantilla de lanzamiento de EC2: debes seleccionar una versión de tu plantilla de lanzamiento personalizada. Si cambias la versión más adelante, debes actualizar el grupo de nodos de procesamiento para detectar cambios en la plantilla de lanzamiento. Para obtener más información, consulte Actualización de un AWS Grupo de nodos de cómputo PCS.

    3. ID de AMI: si tu plantilla de lanzamiento no incluye un ID de AMI o si quieres anular el valor de la plantilla de lanzamiento, proporciona un ID de AMI aquí. Tenga en cuenta que la AMI utilizada para el grupo de nodos debe ser compatible con AWS PCS. También puede seleccionar un ejemplo de AMI proporcionado por AWS. Para obtener más información sobre este tema, consulteAmazon Machine Images (AMI) para AWS UNIDADES.

    4. Perfil de instancia de IAM: elija un perfil de instancia para el grupo de nodos. Un perfil de instancia otorga a la instancia permisos para acceder a los AWS recursos y servicios de forma segura. Si no tienes uno preparado, puedes seleccionar Crear un perfil básico para que AWS PCS cree uno para ti con la política mínima, o consultaPerfiles de instancia de IAM para AWS Servicio de computación paralela.

    5. Subredes: elija una o más subredes en la VPC en la que está desplegado el clúster de AWS PCS. Si selecciona varias subredes, las comunicaciones EFA no estarán disponibles entre los nodos y la comunicación entre los nodos de diferentes subredes podría aumentar la latencia. Asegúrese de que las subredes que especifique aquí coincidan con las que haya definido en la plantilla de lanzamiento de EC2.

    6. Instancias: elija uno o más tipos de instancias para cumplir con las solicitudes de escalado en el grupo de nodos. Todos los tipos de instancias deben tener la misma arquitectura de procesador (x86_64 o arm64) y la misma cantidad de vCPU. Si las instancias tienen GPU, todos los tipos de instancias deben tener la misma cantidad de GPU.

    7. Configuración de escalado: especifica la cantidad mínima y máxima de instancias para el grupo de nodos. Establezca el mínimo (mínimo) igual al máximo (máximo) para la capacidad estática (por ejemplo, 5 minutos, 5 como máximo). Establezca el mínimo en 0 para un escalado totalmente dinámico (por ejemplo, 0 minutos, 10 como máximo). Con Slurm 24.05 o una versión posterior, puede establecer un mínimo superior a 0 e inferior al máximo para la capacidad mixta. De este modo, se mantiene un número de instancias de referencia y se amplía según sea necesario (por ejemplo, 2 minutos, 10 como máximo).

  5. (Opcional) En Configuración adicional, especifique lo siguiente:

    1. Opción de compra: seleccione On-Demand instancias, instancias puntuales, una reserva de capacidad interrumpible o un bloque de capacidad existente. Elija On-Demand si planea usar una reserva de On-Demand capacidad (ODCR). Para obtener más información, consulte Uso ODCRs con AWS PCS. Seleccione la reserva de capacidad interrumpible para usar una ODCR interrumpible compartida (). I-ODCR Para obtener más información, consulte Uso I-ODCRs con AWS UNIDADES. Elija el bloque de capacidad para usar un bloque de capacidad de Amazon EC2 existente para la reserva de aprendizaje automático. Para obtener más información, consulte Uso de bloques de capacidad de Amazon EC2 para aprendizaje automático con AWS UNIDADES.

    2. Estrategia de asignación: si ha seleccionado la opción de compra puntual, puede especificar cómo se eligen los grupos de capacidad puntual al lanzar instancias en el grupo de nodos. Para obtener más información, consulte las estrategias de asignación para instancias puntuales en la guía del usuario de Amazon Elastic Compute Cloud. Esta opción no tiene efecto si ha seleccionado la opción de On-demand compra.

  6. (Opcional) En la sección de configuración del planificador, puede especificar lo siguiente:

    1. Scale-down tiempo de inactividad: (opcional) el tiempo en segundos que transcurre antes de que un nodo inactivo de este grupo de nodos se reduzca. Si no se establece, se usa el valor a nivel de clúster. Esta configuración requiere la Slurm versión 25.11 o posterior.

  7. (Opcional) En la sección de ajustes Slurm personalizados, puedes añadir pares de valores y nombres de parámetros para configurar ajustes adicionales de Slurm. Para obtener una lista completa de los parámetros compatibles, consulta. Configuración personalizada de Slurm para AWS Grupos de nodos de computación PCS

  8. (Opcional) En la sección Acciones del ciclo de vida de un nodo, puedes agregar scripts que se ejecuten en puntos definidos del ciclo de vida de un nodo de procesamiento. Elige Agregar script. Seleccione la fase del ciclo de vida y especifique la ubicación del script, un nombre, los argumentos opcionales, el comportamiento de gestión de errores y la política de ejecución. Para agregar más scripts, repita estos pasos. Los guiones se ejecutan de arriba a abajo dentro de una etapa. Para cambiar el orden de ejecución, seleccione Acciones para un script y, a continuación, elija Subir o Bajar. Para obtener más información, consulte Acciones del ciclo de vida del nodo.

  9. (Opcional) En Etiquetas, agrega cualquier etiqueta a tu grupo de nodos de procesamiento.

  10. Elige Crear grupo de nodos de procesamiento. El campo Estado se muestra Creating mientras AWS PCS aprovisiona el grupo de nodos. Esto puede tardar varios minutos.

Siguiente paso recomendado
  • Añada su grupo de nodos a una cola en AWS PCS para que pueda procesar los trabajos.

AWS CLI
Para crear tu grupo de nodos de cómputos mediante AWS CLI

Crea tu cola con el siguiente comando. Antes de ejecutar el comando, realice los siguientes reemplazos:

  1. regionSustitúyala por el ID del en el que vas Región de AWS a crear tu clúster, por ejemplo. us-east-1

  2. my-clusterSustitúyelo por el nombre o clusterId el de tu clúster.

  3. my-node-groupSustitúyelo por el nombre de tu grupo de nodos de procesamiento. El nombre solo puede contener caracteres alfanuméricos (con distinción de mayúsculas y minúsculas) y guiones. Debe comenzar con un carácter alfabético y no puede tener más de 25 caracteres. El nombre debe ser único en el clúster.

  4. subnet-ExampleID1Sustitúyalo por uno o más identificadores de subred de la VPC de su clúster.

  5. lt-ExampleID1Sustitúyalos por el ID de tu plantilla de lanzamiento personalizada. Si no tienes una preparada, consulta Uso de plantillas de lanzamiento de Amazon EC2 con PCS AWS para obtener información sobre cómo crear una.

    importante

    AWS PCS crea una plantilla de lanzamiento administrada para cada grupo de nodos de procesamiento. Estos se denominanpcs-identifier-do-not-delete. No los selecciones al crear o actualizar un grupo de nodos de procesamiento, o el grupo de nodos no funcionará correctamente.

  6. Sustituye launch-template-version por una versión específica de la plantilla de lanzamiento. AWS PCS asocia su grupo de nodos a esa versión específica de la plantilla de lanzamiento.

  7. arn:InstanceProfileSustitúyalo por el ARN de su perfil de instancia de IAM. Si no tienes uno preparado, consulta Uso de plantillas de lanzamiento de Amazon EC2 con PCS AWS para obtener más información.

  8. Sustituya min-instances y max-instances por valores enteros. Establezca el mínimo (min) igual al máximo (max) para la capacidad estática (por ejemplo, 5 min, 5 max). Establezca el mínimo en 0 para un escalado totalmente dinámico (por ejemplo, 0 min, 10 max). Con Slurm 24.05 o una versión posterior, puede establecer un mínimo superior a 0 e inferior al máximo para la capacidad mixta. De este modo, se mantiene un número de instancias de referencia y se amplía según sea necesario (por ejemplo, 2 minutos, 10 como máximo).

  9. Sustituir t3.large por otro tipo de instancia. Puedes añadir más tipos de instancias especificando una lista de instanceType ajustes. Por ejemplo, --instance-configs instanceType=c6i.16xlarge instanceType=c6a.16xlarge. Todos los tipos de instancias deben tener la misma arquitectura de procesador (x86_64 o arm64) y la misma cantidad de vCPU. Si las instancias tienen GPU, todos los tipos de instancias deben tener la misma cantidad de GPU.

aws pcs create-compute-node-group --region region \ --cluster-identifier my-cluster \ --compute-node-group-name my-node-group \ --subnet-ids subnet-ExampleID1 \ --custom-launch-template id=lt-ExampleID1,version='launch-template-version' \ --iam-instance-profile-arn=arn:InstanceProfile \ --scaling-config minInstanceCount=min-instances,maxInstanceCount=max-instance \ --instance-configs instanceType=t3.large
ejemplo— Crear un grupo de nodos de procesamiento con una configuración de Slurm personalizada
aws pcs create-compute-node-group --region region \ --cluster-identifier my-cluster \ --compute-node-group-name my-node-group \ --subnet-ids subnet-ExampleID1 \ --custom-launch-template id=lt-ExampleID1,version='launch-template-version' \ --iam-instance-profile-arn=arn:InstanceProfile \ --scaling-config minInstanceCount=min-instances,maxInstanceCount=max-instance \ --instance-configs instanceType=t3.large \ --slurm-configuration \ 'slurmCustomSettings=[{parameterName=Features,parameterValue="gpu,nvme"}]'

Para obtener más información, consulte Configuración personalizada de Slurm para AWS Grupos de nodos de computación PCS.

ejemplo— Crear un grupo de nodos de procesamiento con un tiempo de inactividad reducido
aws pcs create-compute-node-group --region region \ --cluster-identifier my-cluster \ --compute-node-group-name my-gpu-nodes \ --subnet-ids subnet-ExampleID1 \ --custom-launch-template id=lt-ExampleID1,version='1' \ --iam-instance-profile-arn=arn:InstanceProfile \ --scaling-config minInstanceCount=0,maxInstanceCount=10 \ --instance-configs instanceType=p4d.24xlarge \ --slurm-configuration scaleDownIdleTimeInSeconds=300

La scaleDownIdleTimeInSeconds configuración a nivel de grupo de nodos de procesamiento anula el valor a nivel de clúster para los nodos de este grupo. Esta configuración requiere la Slurm versión 25.11 o posterior.

Hay varias opciones de configuración opcionales que puede agregar al create-compute-node-group comando.

  • Puede especificar --amiId si su plantilla de lanzamiento personalizada no incluye una referencia a una AMI o si desea anular ese valor. Tenga en cuenta que la AMI utilizada para el grupo de nodos debe ser compatible con AWS PCS. También puede seleccionar un ejemplo de AMI proporcionado por AWS. Para obtener más información sobre este tema, consulteAmazon Machine Images (AMI) para AWS UNIDADES.

  • Úselo --purchase-option para elegir la forma en que AWS PCS compra las instancias EC2 para su grupo de nodos de procesamiento. On-Demand es el valor predeterminado.

    • ONDEMAND— Usa On-Demand instancias. Elija también esta opción si planea usar una reserva de On-Demand capacidad (ODCR). Para obtener más información, consulte Uso ODCRs con AWS PCS.

    • SPOT— Utilice instancias puntuales. Si elige instancias puntuales, también puede utilizarlas --allocation-strategy para definir cómo AWS PCS elige los grupos de capacidad puntuales cuando lanza instancias en el grupo de nodos. Para obtener más información, consulte las estrategias de asignación de instancias puntuales en la guía del usuario de Amazon Elastic Compute Cloud.

    • CAPACITY_BLOCK— Utilice un bloque de capacidad de Amazon EC2 existente para la reserva de aprendizaje automático. Para obtener más información, consulte Uso de bloques de capacidad de Amazon EC2 para aprendizaje automático con AWS UNIDADES.

    • INTERRUPTIBLE_CAPACITY_RESERVATION— Utilice un ODCR interrumpible compartido (). I-ODCR Para obtener más información, consulte Uso I-ODCRs con AWS UNIDADES.

  • Es posible proporcionar opciones de Slurm configuración para los nodos del grupo de nodos mediante. --slurm-configuration Puede establecer el peso (prioridad de programación) y la memoria real. Los nodos con pesos más bajos tienen mayor prioridad y las unidades son arbitrarias. Para obtener más información, consulte Peso en la Slurm documentación. La memoria real establece el tamaño (en GB) de la memoria real en los nodos del grupo de nodos. Está diseñada para usarse junto con la CR_CPU_Memory opción para el clúster en AWS PCS de su Slurm configuración. Para obtener más información, consulte RealMemory en la documentación del Slurm.

  • Se usa --node-lifecycle-actions para ejecutar scripts personalizados en puntos definidos del ciclo de vida de un nodo de procesamiento, como montar sistemas de archivos, instalar software o unirse a un servicio de directorio. Para obtener más información, consulte Configure las acciones del ciclo de vida del nodo en AWS PC. Para ver comandos de ejemplo, consulteEjemplos de acciones del ciclo de vida de un nodo para AWS PC.

importante

La creación del grupo de nodos de procesamiento puede tardar varios minutos.

Puedes consultar el estado de tu grupo de nodos con el siguiente comando. No podrás asociar el grupo de nodos a una cola hasta que alcance ACTIVE su estado.

aws pcs get-compute-node-group --region region \ --cluster-identifier my-cluster \ --compute-node-group-identifier my-node-group