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.
Auto Scaling de AWS ParallelCluster
Esta sección solo se aplica aAWS ParallelCluster las versiones anteriores a la 2.11.4, incluida. A partir de la versión 2.11.5,AWS ParallelCluster no admite el uso deSGETorque programadores. Puedes seguir usándolas en versiones hasta la 2.11.4 inclusive, pero no son aptas para recibir actualizaciones future ni asistencia para la solución de problemas por parte de los equipos deAWS servicio yAWS Support.
A partir deAWS ParallelCluster la versión 2.9.0, no se admite el uso de Auto Scaling conSlurm Workload Manager (Slurm). Para obtener más información sobreSlurm el escalado de colas múltiples, consulteTutorial sobre el modo de cola múltiple.
La estrategia de escalado auto que se describe en este tema se aplica a los clústeres de HPC que se implementan conSon of Grid Engine (SGE) oTorque Resource Manager (Torque). Cuando se implementa con uno de estos programadores,AWS ParallelCluster implementa las capacidades de escalado mediante la administración del grupo de Auto Scaling de los nodos de procesamiento y, a continuación, el cambio de la configuración del programador según sea necesario. Para los clústeres de HPC que se basan enAWS Batch,AWS ParallelCluster se basa en las capacidades de escalado elástico proporcionadas por el programador de trabajosAWS administrado. Para obtener más información, consulte Qué es Amazon EC2 Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
Son varias las maneras en que los clústeres que AWS ParallelCluster implementa son elásticos. Al configurar, seinitial_queue_size especifica el valor de tamaño mínimo del grupo ComputeFleet Auto Scaling y también el valor de capacidad deseado. Al establecer el, semax_queue_size especifica el valor de tamaño máximo del grupo ComputeFleet Auto Scaling.

escalado
Cada minuto, un proceso llamado se jobwatcher
Cuando se usa un programador SGE, los trabajos tienen que ejecutar cada uno un número de ranuras (una ranura corresponde a una unidad de procesamiento; por ejemplo, una vCPU). Al evaluar el número de instancias que son necesarias para atender los trabajos pendientes actualmente, jobwatcher
divide el número total de ranuras solicitadas por la capacidad de un único nodo de computación. La capacidad de un nodo de procesamiento que corresponde a la cantidad de vCPUs disponibles depende del tipo de instancia de Amazon EC2 que se especifique en la configuración del clúster.
ConSlurm (antes de laAWS ParallelCluster versión 2.9.0) yTorque los programadores, cada trabajo podía requerir tanto un número de nodos como un número de ranuras para cada nodo, según las circunstancias. Para cada solicitud, jobwatcher
determina el número de nodos de computación que son necesarios para cumplir los nuevos requisitos informáticos. Por ejemplo, adoptemos un clúster con c5.2xlarge
(8 vCPU) como el tipo de instancia de informática, así como tres trabajos pendientes en cola con los siguientes requisitos:
-
trabajo1: 2 nodos / 4 ranuras cada uno
-
trabajo2: 3 nodos / 2 ranuras
-
trabajo3: 1 nodo / 4 ranuras
En este ejemplo, sejobwatcher
requieren tres instancias informáticas nuevas en el grupo Auto Scaling para ejecutar las tres tareas.
Limitación actual: la lógica de escalado auto no considera los nodos ocupados parcialmente cargados. Por ejemplo, un nodo que ejecuta un trabajo se considera ocupado incluso si hay espacios vacíos.
Reducción
El tiempo de inactividad de nodo en cada uno de los nodos de computación se ejecuta y evalúa en un proceso llamado nodewatcher
-
Una instancia no tiene ningún trabajo durante un periodo de tiempo superior a scaledown_idletime (la configuración predeterminada es 10 minutos)
-
No hay ningún trabajo pendiente en el clúster
Para terminar una instancia,nodewatcher
llama a la operación de TerminateInstanceInAutoScalingGroupAPI, que elimina una instancia si el tamaño del grupo Auto Scaling es al menos el tamaño mínimo del grupo de Auto Scaling. Este proceso realiza un escalado descendente en el clúster sin que ello afecte a los trabajos en ejecución. También habilita un clúster elástico con un número base fijo de instancias.
ClClúster
El valor de Auto Scaling es el mismo para HPC que con cualquier otra carga de trabajo. La única diferencia es que AWS ParallelCluster cuenta con un código que hace que interactúe de un modo más inteligente. Por ejemplo, si se requiere un clúster estático, establece losmax_queue_size parámetrosinitial_queue_size y en el tamaño exacto del clúster requerido y, a continuación, establece elmaintain_initial_size parámetro en true. Esto hace ComputeFleet Auto Scaling valor el mismo valor el mismo valor en la capacidad.