Reserva de franja horaria
La reserva de ranura LSF existente funciona en entornos simples, donde el límite MXJ basado en host es la única restricción a la solicitud de ranura de trabajo. I
- La hora de inicio estimada del trabajo se vuelve inexacta
- El planificador toma una decisión de reserva que puede posponer la hora de inicio estimada del trabajo o disminuir la utilización del clúster.
La reserva de ranura actual por hora de inicio (RESERVE_BY_STARTTIME) resuelve varios problemas de reserva en varios grupos de hosts candidatos, pero no puede ayudar en otros casos:
- Solicitudes de topología especiales, comospan[ptile=n] y cu[] keywords balance, maxcusy excl.
- Sólo calcula y muestra la reserva si el host tiene ranuras libres. Las reservas pueden cambiar o desaparecer si no hay CPU libres; por ejemplo, si un trabajo de relleno toma todas las CPU reservadas.
- Para las máquinas HPC que contienen muchos nodos internos, el número de ranuras reservadas a nivel de host no es suficiente para que el administrador y el usuario final indiquen qué CPU está reservando y esperando el trabajo.
Reserva de franja horaria frente a reserva de franja horaria codiciosa
Con la reserva basada en el tiempo, un conjunto de trabajos pendientes obtiene una asignación futura y una hora de inicio estimada para que el sistema pueda reservar una plaza para cada trabajo. Las reservas utilizan la hora de inicio estimada, que se basa en asignaciones futuras.
La reserva de recursos basada en el tiempo proporciona una hora de inicio prevista más precisa para los trabajos pendientes porque LSF tiene en cuenta las restricciones y requisitos de planificación de trabajos, incluida la topología de trabajos y los límites de recursos, por ejemplo.
Hora de inicio y asignación futura
La hora de inicio estimada para una asignación futura es la hora de inicio más temprana cuando se satisfacen todas las restricciones de trabajo consideradas en el futuro. Puede haber un pequeño retardo de unos minutos entre la hora de finalización del trabajo en la que se basó la estimación y la hora de inicio real del trabajo asignado.
Para las series de requisito de recurso compuesto, la hora de inicio prevista se basa en el término de requisito de recurso simple (contenido en el requisito de recurso compuesto) con la última hora de inicio prevista.
Si un trabajo no se puede colocar en una asignación futura, el planificador utiliza la reserva de ranura codiciosa para reservar ranuras. La reserva de ranura LSF existente es un algoritmo codicioso simple:
Solo tiene en cuenta los recursos disponibles actuales y el número mínimo de ranuras de trabajo solicitadas para reservar tantas ranuras como esté permitido
Para varios grupos de hosts candidatos exclusivos, el planificador pasa por esos grupos y realiza la reserva en el grupo que tiene las ranuras disponibles más grandes
Para la hora de inicio estimada, después de realizar la reserva, el planificador ordena todos los trabajos en ejecución en orden ascendente en función de su hora de finalización y pasa por esta lista de trabajos ordenados para añadir las ranuras utilizadas por cada trabajo en ejecución hasta que satisfaga la solicitud de ranuras de trabajo mínimas. La hora de finalización del último trabajo visitado será la hora de inicio estimada del trabajo.
Las decisiones de reserva tomadas por la reserva de franjas horarias codiciosas no tienen una hora de inicio estimada precisa ni información sobre la asignación futura. La hora de inicio de trabajo calculada utilizada para la planificación de reposición es incierta, por lo que bjobs muestra:
Job will start no sooner than indicated time stamp Reserva basada en el tiempo y reserva codiciosa comparada
Predicción de hora de inicio |
Reserva basada en el tiempo |
Reserva ambiciosa |
|---|---|---|
Programación de reposición si hay ranuras libres disponibles |
Sí |
Sí |
Corregir sin topología de trabajo |
Sí |
Sí |
Corregir para solicitudes de topología de trabajos |
Sí |
Nee |
Corregir en función de los límites de asignación de recursos |
Sí (garantizado si sólo se definen dos límites) |
Nee |
Correcto para solicitudes de memoria |
Sí |
Nee |
Cuando no hay franjas horarias libres para la reserva |
Sí |
Nee |
Asignación y reserva futuras basadas en la hora de inicio más temprana |
Sí |
Nee |
bjobs muestra la mejor estimación |
Sí |
Nee |
bjobs muestra la asignación futura prevista |
Sí |
Nee |
Hora de inicio pronosticada absoluta para todos los trabajos |
Nee |
Nee |
Reserva anticipada considerada |
Nee |
Nee |
Ejemplo de reserva codiciosa
Un clúster tiene cuatro hosts: A, B, C y D, con 4 CPU cada uno. Se están ejecutando cuatro trabajos en el clúster:Job1,Job2,Job3yJob4. Según la hora de inicio estimada del trabajo calculada, las horas de finalización del trabajo (FT) tienen este pedido: FT (Job2). < FT (Job1). < FT (Job4). < FT (Job3).

Ahora, un usuario somete un trabajo de prioridad alta. Se añade porque solicita -n 6 -R "span [ptile=2]". Este requisito de recurso significa que este trabajo pendiente necesita tres hosts con dos CPU en cada host. La reserva de intervalo codiciosa predeterminada calcula la hora de inicio del trabajo como la hora de finalización del trabajo deJob4porque despuésJob4, tres hosts con un mínimo de dos ranuras están disponibles.
La reserva ambiciosa indica que el trabajo pendiente no se inicia antes que cuando finaliza el trabajo 2.
Por el contrario, la reserva basada en el tiempo puede determinar que el trabajo pendiente se inicia en 2 horas. Es una reserva mucho más precisa.