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.
Políticas
SageMaker HyperPod La gobernanza de tareas de Amazon simplifica la forma en que se asignan los recursos del clúster de Amazon EKS y la forma en que se priorizan las tareas. A continuación, se proporciona información sobre las políticas de clústeres de HyperPod EKS. Para obtener más información acerca de cómo configurar la gobernanza de tareas, consulte Configuración de la gobernanza de tareas.
Las políticas se dividen en Priorización de recursos de computación y Asignación de recursos de computación. Los siguientes conceptos de política se organizarán en el contexto de estas políticas.
La Priorización de recursos de computación, o la política de clústeres, determina cómo se toma prestada la computación inactiva y cómo priorizan las tareas los equipos.
-
La Asignación de recursos de computación define cómo se asignan los recursos de computación inactivos entre los equipos. Es decir, cómo se pueden tomar prestados los recursos de computación inactivos de los equipos. Al elegir una Asignación de recursos de computación inactivos, puede escoger entre:
-
Se ejecutará por orden de llegada: cuando se aplica, los equipos no tienen prioridad entre sí y cada tarea entrante tiene la misma probabilidad de obtener recursos que superen la cuota. Las tareas se priorizan en función del orden de envío. Esto significa que un usuario puede utilizar el 100 % de los recursos de computación inactivos si lo solicita primero.
-
Reparto equitativo: cuando se aplica, los equipos toman prestada la computación inactiva en función de la Distribución equitativa del peso. Estas ponderaciones se definen en Asignación de recursos de computación. Para obtener más información sobre cómo se puede usar, consulte Ejemplos de uso compartido de recursos de computación inactivos.
-
-
Priorización de tareas define cómo se ponen en cola las tareas a medida que el cálculo está disponible. Al elegir Priorización de tareas, puede escoger entre:
-
Se ejecutará por orden de llegada: cuando se aplican, las tareas se ponen en cola en el orden en que se solicitan.
-
Clasificación de tareas: cuando se aplica, las tareas se ponen en cola en el orden definido según su prioridad. Si elige esta opción, debe agregar las clases de prioridad junto con las ponderaciones con las que se deberían priorizar. Las tareas de la misma clase de prioridad se ejecutarán por orden de llegada. Cuando la opción Asignación de recursos de computación está activada, las tareas del equipo de mayor prioridad se anteponen a las tareas de menor prioridad.
Cuando los científicos de datos envían trabajos al clúster, utilizan el nombre de la clase de prioridad del archivo YAML. La clase de prioridad tiene el formato
. Para ver un ejemplo, consulta Envíe un trabajo a una cola y un espacio de nombres SageMaker gestionados por la IA.priority-class-name-priority -
Clases de prioridad: estas clases establecen una prioridad relativa para las tareas cuando toman prestada la capacidad. Cuando una tarea se ejecuta con una cuota prestada, puede anteponerse a otra tarea de mayor prioridad si no hay más capacidad disponible para la tarea entrante. Si Preferencia está activado en Asignación de recursos de computación, una tarea de mayor prioridad también puede tener prioridad sobre las tareas de su propio equipo.
-
-
El uso compartido de recursos no asignados permite a los equipos tomar prestados recursos informáticos que no están asignados a ningún equipo a través de la cuota de cálculo. Cuando se habilita, la capacidad del clúster no asignada queda disponible para que los equipos la tomen prestada automáticamente. Para obtener más información, consulte Cómo funciona el uso compartido de recursos no asignados.
Asignación de recursos de computación, o cuota de computación, define la asignación de recursos de computación de un equipo y el peso (o nivel de prioridad) que se le asigna a un equipo para repartir equitativamente los recursos de computación inactivos.
-
Nombre del equipo: es el nombre del equipo. Se creará un espacio de nombres correspondiente, del tipo
hyperpod-ns-.team-name -
Miembros: miembros del espacio de nombres del equipo. Deberá configurar un control de acceso basado en roles (RBAC) de Kubernetes para los usuarios de científicos de datos que desee que formen parte de este equipo, a fin de ejecutar tareas en clústeres organizados con Amazon EKS. HyperPod Para configurar un RBAC de Kubernetes, siga las instrucciones de cómo crear un rol de equipo
. -
Distribución equitativa del peso: es el nivel de prioridad asignado al equipo cuando Reparto equitativo se aplica a Asignación de recursos de computación inactivos. La prioridad más alta tiene una ponderación de 100 y la prioridad más baja de 0. Una mayor ponderación permite al equipo acceder antes a los recursos no utilizados dentro de la capacidad compartida. Una ponderación cero es la prioridad más baja, lo que implica que este equipo siempre estará en desventaja en comparación con otros equipos.
Una distribución equitativa del peso proporciona a este equipo ventaja comparativa a la hora de competir por los recursos disponibles contra los demás. La admisión da prioridad a la programación de las tareas de los equipos con mayor ponderación y menor préstamo. Por ejemplo, si el equipo A tiene una ponderación de 10 y el equipo B tiene una ponderación de 5, el equipo A tendría prioridad al acceder a los recursos no utilizados, ya que tendría trabajos programados antes que el equipo B.
-
Preferencia de tareas: sustituye a los recursos de computación de una tarea en función de la prioridad. De forma predeterminada, el equipo que presta los recursos de computación inactivos se antepone a las tareas de otros equipos.
-
Prestar y pedir prestado: cómo presta el equipo los recursos de computación inactivos y si el equipo puede pedir prestado a otros equipos.
-
Límite de préstamo basado en porcentajes: el límite de procesamiento inactivo que un equipo puede tomar prestado, expresado como un porcentaje de su cuota garantizada. Un equipo puede tomar prestado hasta un 10 000% del cómputo asignado. El valor que proporcione aquí se interpreta como porcentaje. Por ejemplo, un valor de 500 se interpreta como 500 %. Este porcentaje se aplica de manera uniforme a todos los tipos de recursos (CPU, GPU, memoria) y tipos de instancias de la cuota del equipo.
-
Límite de préstamo absoluto: el límite de procesamiento inactivo que un equipo puede tomar prestado, definido como valores de recursos absolutos por tipo de instancia. Esto proporciona un control pormenorizado sobre el comportamiento de préstamo de tipos de instancias específicos. Debes especificar los límites absolutos mediante el mismo esquema que la cuota de cómputo, que incluye el recuento de instancias, los aceleradores, la vCPU, la memoria o las particiones aceleradoras. Puedes especificar límites absolutos para uno o más tipos de instancias de la cuota de tu equipo.
-
Para obtener más información sobre cómo se utilizan estos conceptos, como las clases de prioridad y los espacios de nombres, consulte Ejemplos de comandos de gobierno AWS CLI de HyperPod tareas.
Ejemplos de uso compartido de recursos de computación inactivos
La cuota total reservada no debe superar la capacidad disponible del clúster para ese recurso, a fin de garantizar una gestión adecuada de la cuota. Por ejemplo, si un clúster está compuesto por 20 instancias de ml.c5.2xlarge, la cuota acumulada asignada a los equipos debe permanecer por debajo de 20.
Si las políticas Asignación de recursos de computación para los equipos permiten Prestar y pedir prestado o Prestar, la capacidad inactiva se comparte entre esos equipos. Por ejemplo, los equipos A y B tienen habilitada la opción Prestar y pedir prestado. El equipo A tiene una cuota de 6, pero solo usa 2 para sus trabajos, mientras que el equipo B tiene una cuota de 5 y usa 4 para sus trabajos. Si se envía un trabajo al equipo B que requiere 4 recursos, tendrá que tomar prestados 3 del equipo A.
Si la política Asignación de recursos de computación se fija en No prestar, el equipo no podrá pedir prestada ninguna capacidad adicional aparte de sus propias asignaciones.
Cómo funciona el uso compartido de recursos no asignados
El uso compartido de recursos no asignados administra automáticamente el conjunto de recursos que no están asignados a ninguna cuota de procesamiento del clúster. Esto significa que supervisa de HyperPod forma continua el estado del clúster y se actualiza automáticamente a la configuración correcta a lo largo del tiempo.
Configuración inicial
-
Cuando lo
IdleResourceSharingconfigurasEnableden tu ClusterSchedulerConfig (de forma predeterminada esDisabled), el gobierno de HyperPod tareas comienza a monitorear tu clúster y calcula los recursos inactivos disponibles restando las cuotas de equipo de la capacidad total de los nodos. -
Los recursos compartidos no asignados se ClusterQueues crean para representar el fondo de recursos que se pueden pedir prestado.
-
La primera vez que habilita el uso compartido de recursos no asignados, la configuración de la infraestructura tarda varios minutos. Puede supervisar el progreso a través de la política
Statusy dentro de ellaDetailedStatus. ClusterSchedulerConfig
Reconciliación continua
-
HyperPod El gobierno de tareas supervisa continuamente los cambios, como la incorporación o eliminación de nodos y las actualizaciones de las cuotas de colas de clústeres.
-
Cuando se producen cambios, el uso compartido de recursos no asignados recalcula la cuota y las actualiza. ClusterQueues La reconciliación suele completarse en cuestión de segundos.
Supervisión
Para comprobar que el uso compartido de recursos no asignados está completamente configurado, compruebe si el uso compartido de recursos no asignados es correcto: ClusterQueues
kubectl get clusterqueue | grep hyperpod-ns-idle-resource-sharing
Cuando aparezca ClusterQueues con nombres como que el uso compartido hyperpod-ns-idle-resource-sharing-cq-1 de recursos no asignados está activo. Ten en cuenta que es ClusterQueues posible que se compartan varios recursos no asignados en función del número de tipos de recursos del clúster.
Aptitud de los nodos para compartir recursos no asignados
El uso compartido de recursos no localizados solo incluye los nodos que cumplen los siguientes requisitos:
-
Estado de nodo listo
-
Los nodos deben estar en
Readyestado para contribuir al fondo de recursos no asignado. -
Los nodos
NotReadyu otros estados no preparados se excluyen de los cálculos de capacidad. -
Cuando un nodo se convierte en nodo
Ready, se incluye automáticamente en el siguiente ciclo de reconciliación.
-
-
Estado programable del nodo
-
Los nodos con
spec.unschedulable: trueestán excluidos del intercambio de recursos no asignados. -
Cuando un nodo vuelve a ser programable, se incluye automáticamente en el siguiente ciclo de reconciliación.
-
-
Configuración MIG (solo nodos de GPU)
-
En el caso de los nodos de GPU con particiones MIG (GPU de instancias múltiples), la
nvidia.com/mig.config.stateetiqueta debe indicarsuccessque el nodo puede contribuir con perfiles MIG al uso compartido de recursos no asignados. -
Estos nodos se volverán a intentar automáticamente una vez que la configuración de MIG se complete correctamente.
-
-
Tipos de instancias compatibles
-
La instancia debe ser un tipo de SageMaker HyperPod instancia compatible.
-
Consulta la lista de tipos de instancias compatibles en el SageMaker HyperPod clúster.
-