Noções básicas sobre o backfilling
O backfilling pode ajudar a maximizar a utilização e a taxa de transferência do cluster, permitindo que trabalhos menores na fila sejam executados antes de um trabalho aguardando na frente da fila, desde que o trabalho na frente não seja atrasado como resultado. O Serviço de Agendador de Trabalho do HPC aumenta os trabalhos em execução para seus recursos máximos solicitados antes de tentar utilizar recursos para o backfilling. Para obter informações sobre como alterar as opções de configuração, consulte Configurar o serviço de agendador de trabalho do HPC.
O backfilling é habilitado por padrão, com o backfill olhando para frente definido em 1000 trabalhos. A configuração de backfill look ahead determina o número de trabalhos que o serviço agendador de trabalhos HPC pesquisa para encontrar trabalhos que possam preencher lacunas no agendamento. As seguintes opções de configuração permitem modificar ou desabilitar o backfilling:
Permitir o backfilling de parte da fila (dentro do arquivo de fundo especificado, olhe para frente)
Permitir o backfilling de toda a fila
Não permitir de backup
Nota
O backfilling só é eficaz quando os trabalhos enviados ao cluster têm um tempo de execução máximo especificado.
Você pode usar modelos de trabalho para definir um tempo de execução máximo em todos os trabalhos. Por exemplo, você pode criar uma série de modelos de trabalho chamados BigJob, MediumJob e SmallJob com tempos de execução máximos de um dia, uma hora e um minuto, respectivamente. Para obter mais informações, consulte Modelos de Trabalho.
Você também pode escrever um filtro de envio de trabalho que verifica se a propriedade do trabalho de runtime não está definida como infinita. Para obter mais informações, consulte Noções básicas sobre a ativação e os filtros de envio.
Como funciona o backfilling
Quando um trabalho atinge a parte superior da fila, um número suficiente de nós pode não estar disponível para atender ao requisito de núcleo mínimo. Quando isso acontece, o trabalho reserva todos os nós que estão imediatamente disponíveis e aguarda o trabalho que está em execução para ser concluído no momento.
Em seguida, o backfilling utiliza os nós ociosos reservados da seguinte maneira:
Com base no tempo de execução especificado para o trabalho que está em execução no momento, uma hora de início para o trabalho de espera é estabelecida.
A hora de início é usada para definir um janela de backfill de nós (n) x hora (t). Por exemplo, quatro nós que ficam ociosos por 15 minutos criariam uma janela de preenchimento de 4 x 15.
O Serviço de Agendador de Trabalho do HPC pesquisa o primeiro trabalho na fila que pode ser concluído na janela de backfill. Por exemplo, um trabalho que requer um mínimo de oito núcleos (quatro nós, supondo nós de núcleo duplo) e que tenha um tempo de execução de 10 minutos se ajustaria exatamente à janela 4 x 15.
Se for encontrado um trabalho que se ajuste à janela, ele será ativado e executado antes do trabalho que está aguardando na parte superior da fila.
Referências adicionais
Configurar a de Serviço do Agendador de Trabalho do HPC