SLURM

O gerenciador de processos do cluster é o SLURM.

Além dos comandos nativos aqui descritos, ele também oferece comandos compatíveis aos comandos usados em ambientes com PBS (qstat, qsub,...).

Para usar essa interface, sugerimos o uso dos EnvModules. Veja exemplos de utilização, por exemplo com Gromacs. Utilize sempre o script auxiliar goo-job-nanny.

Fila de processos

squeue
squeue -u $USER

Informações de um processo específico

scontrol show jobid <id>

Nós de processamento

sinfo

Tela interativa com o mapa de processos

smap

Histórico dos processos já concluídos e contabilidade

sacct

Enviar um processo

Crie um script como no modelo (simulacao.sh):

#!/bin/sh
#SBATCH --time=1
/bin/hostname

Envie para a fila

sbatch simulacao.sh

A saída padrão e erro padrão serão slurm-<id>.out e slurm-<id>.err, respectivamente.

Parâmetros

É possível especificar parâmetros no interior do script (precedido de #SBATCH) ou diretamente na linha de comando sbatch. Entre elas:

comando abreviação significado
--time -t tempo máximo de execução ("minutos", "minutos:segundos", "horas:minutos:segundos", "dias-horas")
--cpus-per-task -c número de processos por servidor
--nodes -N número mínimo de servidores
--ntasks -n número total de processos
--output -o arquivo com o stdout
--error -e arquivo com o stderr

Informação sobre o tempo das filas: Filas

Processos interativos

Também é possível alocar recursos para uso interativo:

salloc

Os parâmetros são similares ao sbatch.

Cancelar um processo

scancel <id>

Exemplo MPI

A biblioteca MPI recomendada é a Intel MPI.

compilação

module load intel/compilers
module load intel/mpi
mpicc mpi_code.c -o mpi_program

exemplo.sh

#!/bin/bash
#SBATCH -n 128

module load intel/mpi
srun -n 128 /home/<user>/<mpi_program>

execução

sbatch exemplo.sh

Referências

https://computing.llnl.gov/linux/slurm/quickstart.html
http://www.tchpc.tcd.ie/node/129
http://slurm.schedmd.com/sbatch.html