Você pode definir o número de slots por fila. Portanto, para sua fila de trabalhos "síncronos", você pode definir o número de slots por host como 1. Dessa forma, apenas um único trabalho será aceito na fila de um host por vez e, quando terminar, outro poderá ser executado. Para a fila "assíncrona", basta definir o número de slots para um número alto para que qualquer número de tarefas necessárias seja executado de uma vez no host.
Agora que você tem duas filas, é necessário direcionar tarefas para elas. Uma maneira simples de fazer isso seria simplesmente usar a opção -q
para qsub para selecionar explicitamente uma fila, por exemplo: qsub -q 'sync.q@*'
.
No entanto, é preferível permitir que o gridengine decida em qual fila colocar um trabalho. Para isso, você pode definir um complexo, digamos, sync
e definir o atributo forced
como true. Então você atribui esse complexo à fila. Agora, as tarefas enviadas com qsub -l sync
só serão colocadas em uma fila com esse atributo disponível. O benefício disso é alguma flexibilidade adicional se você decidir reorganizar suas filas, bem como um procedimento de envio um pouco mais simples.