Como evito que tarefas adicionais de um determinado usuário sejam iniciadas?

1

Com o gerenciador de carga de trabalho do Slurm, como posso impedir que mais trabalhos do usuário bob sejam iniciados? Os trabalhos existentes devem continuar em execução. O usuário deve poder enviar mais trabalhos, mas eles não devem poder iniciar.

    
por Levi Morrison 25.10.2017 / 19:31

1 resposta

0

O comando sacctmgr do Slurm pode ser usado para modificar vários limites por usuário. Você precisa ser um coordenador de conta para a conta em questão ou raiz. Definir um desses para 0 deve funcionar:

  • MaxJobs
  • GrpJobs

Como exemplo:

$ sacctmgr modify user where name=bob set MaxJobs=0

Após alguns minutos, se você executar squeue no usuário, verá algo assim:

$ squeue -u bob -o "%i %r"
JOBID REASON
20582420 AssocMaxJobsLimit
20583282 Dependency

Observe que a razão Dependency parece ter precedência sobre os limites do usuário, mas não será executada de qualquer maneira porque está aguardando a execução da outra tarefa. Da mesma forma, JobArrayTaskLimit terá precedência sobre os limites do usuário, mas o trabalho não será iniciado.

Para remover o limite, defina o valor como -1 :

$ sacctmgr modify user where name=bob set MaxJobs=-1

Você pode mostrar os limites existentes para um usuário com:

$ sacctmgr list assoc User=bob
    
por 25.10.2017 / 19:31