ai-center
2022.4
true
Guía de instalación de AI Center
Automation CloudAutomation SuiteStandalone
Last updated 6 de jun. de 2024

Manage node scheduling

Información general

Nota: la programación de nodos solo se aplica a los nodos agente y no debe aplicarse a los nodos del servidor.

La programación de nodos es especialmente útil para manejar mejor el hardware y asegurarse de que las réplicas de ML (pods), las habilidades o los procesos. Debería usarlos principalmente en dos situaciones:

  • Cuando tiene un nodo de GPU para asegurarse de que solo se programen en ese nodo la carga de trabajo que requiere GPU
  • Para aislar mejor las cargas de trabajo de ML para que no molesten a otras aplicaciones.

    De forma predeterminada, el programador de Kubernetes considera que todos los nodos que tienen los recursos necesarios.

Hay dos métodos en los que puedes dirigir la programación de réplicas ML (pods), habilidades o procesos a nodos específicos, y ambos son compatibles con UiPath AI Center:

  • Asignar pods a nodos usando Afinidad de nodo: esto es útil cuando se colocan pods ML con otros pods en un nodo. Se pueden aplicar varias etiquetas a un nodo.
  • Manchas y toleraciones: destinado a un nodo dedicado, ya sea rechazando todos los pods (NoSchedule) o imponiendo una preferencia de programación baja (PreferNoSchedule) para los pods que no coinciden con los criterios de programación. Aunque se pueden aplicar múltiples corrupciones a uno (s) nodo (s), las corrupciones de nodo solo admiten la lógica booleana "Y".

La afinidad de nodo es una propiedad de los pods que los atrae a un conjunto de nodos, ya sea como preferencia o como requisito. Las corrupciones, por otro lado, permiten que un nodo repele un conjunto de pods.

El primer método crea una afinidad entre réplicas y nodos mediante etiquetas de nodo, mientras que el segundo método aplica antiafinidad manchando los nodos.

Las plantillas de las réplicas ML PodSpec están diseñadas para admitir ambos métodos y se personalizan en función de la selección de GPU o no GPU en la implementación.

Afinidad de nodos

En el caso de que se haya añadido un nodo agente para expandir el grupo de recursos y quieras influir en la programación de los pods de ML en él, puedes aplicar la afinación de nodo. Hazlo añadiendo una etiqueta al nodo con el siguiente comando:

  • Para CPU: kubectl label node <node_name> node.type=aic.ml.cpu
  • Para la GPU: kubectl label node <node_name> node.type=aic.ml.gpu

La afinidad de nodo no garantiza que el nodo esté dedicado a servir cargas de trabajo de ML y no impide que se programen otros pods de carga de trabajo en el mismo nodo en el que se aplican las etiquetas.

Manchas

Para dedicar un nodo, debe usar corrupciones o una combinación de afinidades y corrupciones de nodo. Para dedicar un nodo agente al servicio de ML GPU o pods de CPU, puedes aplicar las siguientes modificaciones a los nodos:

  • Para CPU: kubectl taint node <node_name> aic.ml/cpu=present:NoSchedule
  • Para la GPU: kubectl taint node <node_name> nvidia.com/gpu=present:NoSchedule

Combinar afinidad de nodos y taints

Para dedicar un nodo agente para servir pods de GPU de ML e influir en la programación de los pods de CPU de ML en los mismos nodos, puedes usar una combinación de afinidades y corrupciones de nodo:

kubectl taint node <node_name> nvidia.com/gpu=present:PreferNoSchedule
kubectl label node <node_name> node.type=aic.ml.cpukubectl taint node <node_name> nvidia.com/gpu=present:PreferNoSchedule
kubectl label node <node_name> node.type=aic.ml.cpu

¿Te ha resultado útil esta página?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Uipath Logo White
Confianza y seguridad
© 2005-2024 UiPath. Todos los derechos reservados.