Como definir o número máximo de trabalhos em execução por usuário no SGE?

9

Estamos usando o SGE (Sun Grid Manager). Temos algumas limitações no número total de trabalhos simultâneos de todos os usuários.

Gostaria de saber se é possível definir um limite temporário e voluntário no número de trabalhos em execução simultâneos para um usuário específico.

Por exemplo, o usuário daveestá prestes a enviar 500 trabalhos, mas ele gostaria que não mais que 100 fossem executados simultaneamente, por exemplo, uma vez que ele sabe que os trabalhos fazem muitas E / S que prenderam o sistema de arquivos (história verdadeira, infelizmente).

Isso é possível?

David B
fonte

Respostas:

9

Você pode definir um complexo com qconf -mc. Chame algo como high_ioou o que você quiser e defina o campo consumível como YES. Em seguida, na configuração global com qconf -me globalou em uma fila específica qconf -mq <queue name>configurada high_io=500nos valores complexos. Agora, diga aos usuários para especificar -l high_io=1ou quantos tokens você gostaria que eles usassem. Isso limitará o número de trabalhos simultâneos para o que você definir o valor complexo.

A outra maneira de fazer isso é com cotas. Adicione uma cota com a qconf -arqsseguinte aparência:

 {
        name         dave_max_slots
        description  "Limit dave to 500 slots"
        enabled      true
        limit        users {dave} to slots=500
 }
Kamil Kisiel
fonte
Obrigado Kamil e desculpe pela resposta tardia. Um par de follow-ups, desde que eu sou bastante novo qconf. Em relação à sua primeira sugestão, você poderia ser um pouco mais explícito? O que é "consumível"? Depois de configurar como mencionado, fo simplesmente digo ao usuário qsubcom -l high_io=1?
David B
1
Basicamente, um complexo é um recurso de valor que pode ser solicitado por uma tarefa com a -lopção para qsub. Ao definir um complexo para ser consumível, significa que, quando um trabalho solicita esse complexo, o número disponível diminui. Portanto, se uma fila tiver 500 do complexo high_io e uma tarefa solicitar 20, haverá 480 disponíveis para outras tarefas. Você solicitaria o complexo como no seu exemplo.
Kamil Kisiel
Obrigado Kamil. Desculpe, não posso votar (ainda não há reputação suficiente).
David B