Planejamento de backfill
Por padrão, um slot de trabalho reservado não pode ser usado por outro emprego. Para aproveitar melhor os recursos e melhorar o desempenho do LSF, é possível configurar o agendamento de backfill.
Sobre o agendamento de backfill
O agendamento de backfill permite que outros empregos utilizem os slots de trabalho reservados, desde que os demais empregos não atrasem o início de outro emprego. O back filling, juntamente com a reserva de processador, permite que grandes trabalhos paralelos sejam executados sem subutilizar os recursos.
Em um cluster ocupado, a reserva do processador ajuda a programar grandes empregos paralelos mais cedo. No entanto, por padrão, os processadores reservados permanecem ocioso até que o grande trabalho seja iniciado. Isso degrada o desempenho da LSF porque os recursos reservados são ocioso enquanto os empregos aguardam na fila.
O agendamento de backfill permite que os slots de trabalho reservados sejam utilizados por pequenos trabalhos que podem ser executados e terminados antes do início do grande trabalho. Isso melhora o desempenho da LSF porque aumenta a utilização dos recursos.
Como funciona o back filling
Para agendamento de backfill, a LSF assume que um trabalho pode ser executado até que seu limite de execução expire. O agendamento de backfill funciona de forma mais eficiente quando todos os empregos do cluster têm um limite de execução.
Uma vez que os empregos com um limite de execução mais curto têm mais chance de serem planejados como empregos de backfill, os usuários que especificam limites de execução apropriados em uma fila de preenchimento de backfill são recompensados pela melhora do tempo de virada.
Uma vez que o grande trabalho paralelo reservou vagas de emprego suficientes, a LSF calcula o tempo de início do grande trabalho, com base nos limites de execução dos empregos atualmente em execução nas vagas reservadas. LSF não pode backfill se o grande trabalho estiver esperando por um emprego que não tem limite de execução definido.
Se o LSF pode backpreencher os slots de tarefas ocioso, apenas os empregos com limites de execução que expiram antes do horário de início do grande trabalho é permitido usar os slots de tarefas reservados. LSF não pode backfill com um trabalho que não tem limite de execução.
Exemplo

Um trabalho sequencial (job1) com um limite de execução de 2 horas é enviado e é iniciado às 08:00 (figura a).
Pouco tempo depois, um trabalho paralelo (job2) exigindo que todas as CPUs de 4 sejam submetidas. Não pode começar logo porquejob1está usando uma CPU, portanto, ele reserva os 3 processadores restantes (figura b).
Às 08:30, outro trabalho paralelo (job3) é submetido exigindo apenas dois processadores e com limite de execução de 1 hora. Desdejob2não pode iniciar até 10:00am (quandojob1finishes), seus processadores reservados podem ser remanesidos porjob3(figura c). Portanto,job3pode concluir antesjob2Recomeçar o tempo, fazendo uso dos processadores ocioso.
Job3acabamentos em 9:30am ejob1em 10:00am, permitindojob2para iniciar logo após 10:00am. Neste exemplo, sejob3O limite de execução era de 2 horas, não seria capaz de retroencherjob2's slots reservados, e teria que correr atrásjob2acabamentos.
Limitações
Um trabalho não tem um tempo de início estimado imediatamente após o mbatchd ser reconfigurado.
Preenchimento posterior e limites de vagas de emprego
Um trabalho de preenchimento borreia um slot de trabalho que já é tomado por outro emprego. O trabalho de backfill não é executado ao mesmo tempo que o job que reservou o slot de trabalho primeiro. O preenchimento posterior pode ocorrer mesmo que os limites de slots de trabalho de um host ou processador tenham sido atingidos. O preenchimento posterior não poderá ocorrer se os limites de espaço de trabalho para usuários ou filas tiverem sido atingidos.
Solicitação de redimensionamento de tarefas
Solicitações de redimensionamento de tarefas pendentes são suportadas por políticas de backfill. No entanto, o tempo de execução da solicitação de redimensionamento pendente é igual ao tempo de execução restante do trabalho redimensionável em execução. Por exemplo, se o LIMITE DE EXECUÇÃO de um trabalho redimensionável for de 20 horas e já tiverem passado 4 horas, o tempo de execução da solicitação de redimensionamento pendente será de 16 horas.
Configurar agendamento de backfill
O agendamento de backfill está ativado no nível da fila. Apenas os empregos em uma fila de preenchimento de backfill podem preencher os slots de trabalho reservados. Se a fila de backfill também permitir a reserva de processador, o backfill poderá ocorrer entre os trabalhos da mesma fila.