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

n entornos complejos, en los que existe más de una restricción (por ejemplo, topología del trabajo o límite genérico de franjas horarias):
  • 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.

Restricción: La reserva por tiempo no funciona con la fragmentación de trabajos.

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

Corregir sin topología de trabajo

Corregir para solicitudes de topología de trabajos

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

Nee

Cuando no hay franjas horarias libres para la reserva

Nee

Asignación y reserva futuras basadas en la hora de inicio más temprana

Nee

bjobs muestra la mejor estimación

Nee

bjobs muestra la asignación futura prevista

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.