Planeamiento de capacidad para Azure Batch

El planeamiento de capacidad eficaz ayuda a garantizar que las cargas de trabajo de Azure Batch tengan los recursos de proceso que necesitan, cuando los necesiten. En este artículo se explica cómo se estructura la capacidad de Batch, cómo planear la cuota de las cargas de trabajo y cómo reducir el riesgo de errores de asignación.

Una cuota es un límite, no una garantía de capacidad. Planear con antelación le ayuda a solicitar la cuota adecuada, elegir configuraciones resistentes y reaccionar correctamente cuando la capacidad está restringida. Para conocer los valores predeterminados y máximos específicos, consulte Límites y cuotas de servicio de Batch.

Confirma que ese lote se adapta a tu carga de trabajo

Usa Batch cuando quieras que Azure ofrezca planificación como servicio y tu aplicación pueda organizar el trabajo en pools, trabajos y tareas. Antes de planificar la capacidad por lotes, considera estas alternativas:

  • Elige Azure CycleCloud cuando necesites operar un planificador HPC específico, personalizar la topología del clúster y la pila de software, o alinearte estrechamente con los flujos de trabajo existentes en las instalaciones.
  • Elige Azure CycleCloud Workspace para Slurm cuando quieras un entorno Slurm listo para desplegar con componentes de red, almacenamiento y acceso provisionados en tu suscripción.

Si Batch es el modelo operativo adecuado, utiliza las siguientes secciones para estimar la demanda máxima, seleccionar máquinas virtuales, calcular cuotas y definir reservas antes de crear pools de producción.

Jerarquía de capacidad

La capacidad por lotes se rige en varias capas, donde cada capa restringe la debajo de ella. Su capacidad efectiva viene determinada por el límite más restrictivo de la cadena.

En la parte superior, la región de Azure proporciona la capacidad del centro de datos físico disponible para cada familia de máquinas virtuales. La capacidad regional no es un valor fijo que controla; varía con el tiempo y según la serie de máquinas virtuales. A continuación, la cuota de suscripción establece el límite de núcleo permitido por familia de máquinas virtuales por región. En el modo de asignación del grupo de suscripciones de usuario, estas cuotas de suscripción se aplican directamente a los grupos de Batch. La cuota de la cuenta de Batch establece los núcleos, pools y trabajos activos permitidos en cada cuenta de Batch. En el modo de asignación del grupo del servicio Batch, se aplican estas cuotas a nivel de cuenta. Por último, los límites del grupo enlazan el número de nodos por grupo, en función de la cuota por encima del grupo y los límites de tamaño del grupo establecidos por el servicio Batch.

Para saber qué nivel se aplica a su cuenta, debe tener en cuenta el modo de asignación de su grupo. Para obtener más información, consulte Cuentas de Batch y modos de asignación de grupos.

Planeamiento de los requisitos de capacidad

Antes de crear grupos de producción, calcule los recursos que necesita la carga de trabajo. Siga las siguientes preguntas para traducir las características de la carga de trabajo en una solicitud de cuota:

  • Perfil de carga de trabajo. ¿Cuál es el número máximo de trabajos y tareas simultáneos? ¿Cuál es el promedio de duración de la tarea y el requisito de memoria? ¿Las tareas necesitan coordinación de GPU o de varios nodos (MPI)?
  • Selección de máquina virtual. ¿Qué familia y tamaño de máquina virtual coinciden mejor con la carga de trabajo? ¿Cuántos núcleos y cuánta memoria proporciona cada máquina virtual?
  • Dimensionamiento del pool. ¿Cuántas tareas se ejecutan simultáneamente por nodo (hasta cuatro veces el número de núcleos de nodo, limitadas a 256 ranuras de tareas por nodo)? Dado el número máximo de tareas simultáneas, ¿cuántos nodos necesita? ¿Cómo se divide la capacidad entre los nodos dedicados y de Spot?
  • Requisito de cupo. Multiplique el número máximo de nodos por núcleos por máquina virtual para obtener los núcleos totales necesarios. Compare ese total con su cuota actual para determinar el incremento que debe solicitar.
  • Estimación de costos. Use la velocidad por hora de la máquina virtual y el tiempo de ejecución esperado para calcular el costo diario y mensual. Para obtener más información, consulte Planear la administración de costos para Azure Batch.

Para comprobar las cuotas actuales y solicitar un aumento, consulte Visualización de cuotas por lotes y Aumento de una cuota. Envíe solicitudes de cuota de antemano y comience con aumentos modestos e incrementales. Los aumentos de cuota grandes pueden requerir revisión manual y pueden tardar varios días en varias semanas.

Administración proactiva de la capacidad

Planee la capacidad antes de que se convierta en una restricción:

  • Supervisar el uso de la cuota. Supervise el uso de núcleos con respecto a su cuota y configure una alerta cuando el uso se acerque al límite, por ejemplo, al 70–80 %. Para más información, consulte Supervisar soluciones de Batch.
  • Use la escalabilidad automática. Configure el escalado automático para que los grupos crezcan y se reduzcan en función de la demanda, en lugar de mantener un número fijo y sobreaprovisionado de nodos. Un patrón común mantiene una base de nodos dedicados para garantizar el avance y recurre a nodos Spot para obtener mayor capacidad de procesamiento.
  • Repartido entre regiones y cuentas. Distribuya las cargas de trabajo entre varias regiones o cuentas de Batch para acceder a más capacidad agregada. Las cuotas de servicio, como los trabajos activos y los grupos, se aplican a cada cuenta de Batch por separado.

Gestionar las limitaciones de capacidad

Incluso con la planeación, es posible que encuentre errores de asignación. Diseñe el flujo de trabajo para que sea resistente:

  • Reintentar y diversificar. Si un grupo no puede alcanzar su tamaño de destino, vuelva a intentarlo después de unos minutos, pruebe un tamaño de máquina virtual diferente o pruebe otra región. La disponibilidad de los recursos cambia con el tiempo.
  • Reasigne trabajos. Evite confiar en un único grupo estático. Asegúrese de que puede redirigir los trabajos a un pool diferente, posiblemente con otro tamaño de máquina virtual, si un pool no puede ampliarse. Para obtener más información, consulte Azure Batch procedimientos recomendados.
  • Diseñe para la preempción de Spot.Los nodos Spot pueden ser objeto de preempción cuando Azure necesite recuperar la capacidad. Utilice los nodos Spot únicamente para tareas con tolerancia a fallos y combínelos con nodos dedicados y el escalado automático, de modo que el grupo se recupere automáticamente.

Para obtener síntomas, causas y resoluciones detallados de errores de asignación y cuota, consulte la guía de solución de problemas:

Validar la capacidad antes de la producción

Ejecuta una prueba de concepto con un trabajo representativo, su volumen de datos esperado y la configuración del pool de producción. No apruebes el diseño para la producción hasta que puedas registrar pruebas para cada criterio:

Criterion Evidencia a registrar
Finalización de la carga de trabajo El trabajo se completa correctamente con dependencias entre tareas de producción, paquetes de aplicación y rutas de datos de entrada y salida.
Escala y cuota El pool alcanza el número de nodos requerido en la región prevista sin exceder la cuota de cuentas por lotes, suscripción o familia VM.
Performance El tiempo de trabajo de extremo a extremo cumple el objetivo, incluyendo asignación de pools, transferencia de datos, cálculo y persistencia de resultados.
Recovery Tras una pérdida de nodo, un fallo de tarea o una interrupción de Spot, si se utiliza, el trabajo se mantiene dentro del tiempo máximo de recuperación registrado y de la pérdida de puntos de control permitida, cumple el plazo de finalización y utiliza correctamente el tamaño de VM o el pool alternativo previstos.
Cost El coste medido de computación, almacenamiento, redes y licencias por trabajo completado cumple el objetivo a la frecuencia de ejecución esperada.
Operaciones Las alertas identifican la presión de cuotas, fallos de asignación y tareas fallidas, y el propietario puede reorientar o recuperar la carga de trabajo.

Si un criterio falla, revisa el tamaño del pool, la selección de la máquina virtual, la ruta de almacenamiento, el comportamiento de reintentos o el respaldo regional y repite el mismo trabajo. Una pequeña prueba funcional no establece la capacidad de producción porque no ejerce la escala máxima, la cuota o el movimiento de datos.

Prácticas recomendadas

Práctica Description
Solicitud de cuota anticipada Envíe las solicitudes de aumento de cuota con suficiente antelación; los aumentos importantes pueden tardar desde varios días hasta varias semanas.
Prevea un margen de reserva Solicite un poco más de cuota que el pico actual para permitir el crecimiento.
Uso de varias regiones Distribuir las cargas de trabajo entre regiones para acceder a más capacidad agregada.
Supervisión del uso Alerta cuando el uso de CPU alcanza el 70-80 % de tu cuota.
Máquinas virtuales de tamaño correcto Ajusta la familia y el tamaño de la VM a la carga de trabajo en lugar de sobredimensionarla.
Utiliza Spot con prudencia Reserve nodos Spot para cargas de trabajo con tolerancia a errores y combínelos con nodos dedicados.
Limpieza de recursos Elimine los grupos sin usar para liberar la cuota de la cuenta.

Pasos siguientes