SLURM » History » Version 5

Gabriel Winckler, 30 May 2016 11:20

1 1 Gabriel Winckler
h1. SLURM
2 2 Gabriel Winckler
3 2 Gabriel Winckler
{{>toc}}
4 1 Gabriel Winckler
5 1 Gabriel Winckler
O gerenciador de processos do cluster é o SLURM.
6 1 Gabriel Winckler
7 1 Gabriel Winckler
Além dos comandos nativos aqui descritos, ele também oferece comandos compatíveis aos comandos usados em ambientes com PBS (qstat, qsub,...).
8 1 Gabriel Winckler
9 4 Gabriel Winckler
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]].
10 3 Gabriel Winckler
11 1 Gabriel Winckler
h2. Fila de processos
12 1 Gabriel Winckler
13 1 Gabriel Winckler
<pre>
14 1 Gabriel Winckler
squeue
15 1 Gabriel Winckler
</pre>
16 1 Gabriel Winckler
17 1 Gabriel Winckler
<pre>
18 1 Gabriel Winckler
squeue -u $USER
19 1 Gabriel Winckler
</pre>
20 1 Gabriel Winckler
21 1 Gabriel Winckler
h2. Informações de um processo específico
22 1 Gabriel Winckler
23 1 Gabriel Winckler
<pre>
24 1 Gabriel Winckler
scontrol show jobid <id>
25 1 Gabriel Winckler
</pre>
26 1 Gabriel Winckler
27 1 Gabriel Winckler
h2. Nós de processamento
28 1 Gabriel Winckler
29 1 Gabriel Winckler
<pre>
30 1 Gabriel Winckler
sinfo
31 1 Gabriel Winckler
</pre>
32 1 Gabriel Winckler
33 1 Gabriel Winckler
h2. Tela interativa com o mapa de processos
34 1 Gabriel Winckler
35 1 Gabriel Winckler
<pre>
36 1 Gabriel Winckler
smap
37 1 Gabriel Winckler
</pre>
38 1 Gabriel Winckler
39 1 Gabriel Winckler
h2. Histórico dos processos já concluídos e contabilidade
40 1 Gabriel Winckler
41 1 Gabriel Winckler
<pre>
42 1 Gabriel Winckler
sacct
43 1 Gabriel Winckler
</pre>
44 1 Gabriel Winckler
45 1 Gabriel Winckler
h2. Enviar um processo
46 1 Gabriel Winckler
47 1 Gabriel Winckler
h3. Crie um script como no modelo (simulacao.sh):
48 1 Gabriel Winckler
49 1 Gabriel Winckler
<pre>
50 1 Gabriel Winckler
#!/bin/sh
51 1 Gabriel Winckler
#SBATCH --time=1
52 1 Gabriel Winckler
/bin/hostname
53 1 Gabriel Winckler
</pre>
54 1 Gabriel Winckler
55 1 Gabriel Winckler
h3. Envie para a fila
56 1 Gabriel Winckler
57 1 Gabriel Winckler
<pre>
58 1 Gabriel Winckler
sbatch simulacao.sh
59 1 Gabriel Winckler
</pre>
60 1 Gabriel Winckler
61 1 Gabriel Winckler
A saída padrão e erro padrão serão slurm-<id>.out e slurm-<id>.err, respectivamente.
62 1 Gabriel Winckler
63 1 Gabriel Winckler
h3. Parâmetros
64 1 Gabriel Winckler
65 1 Gabriel Winckler
É possível especificar parâmetros no interior do script (precedido de #SBATCH) ou diretamente na linha de comando sbatch. Entre elas:
66 1 Gabriel Winckler
67 1 Gabriel Winckler
|comando|abreviação|significado|
68 1 Gabriel Winckler
|--time|-t|tempo máximo de execução ("minutos", "minutos:segundos", "horas:minutos:segundos", "dias-horas")|
69 1 Gabriel Winckler
|--cpus-per-task|-c|número de processos por servidor|
70 1 Gabriel Winckler
|--nodes|-N|número mínimo de servidores|
71 1 Gabriel Winckler
|--ntasks|-n|número total de processos|
72 1 Gabriel Winckler
|--output|-o|arquivo com o _stdout_|
73 1 Gabriel Winckler
|--error|-e|arquivo com o _stderr_|
74 1 Gabriel Winckler
75 1 Gabriel Winckler
h2. Processos interativos
76 1 Gabriel Winckler
77 1 Gabriel Winckler
Também é possível alocar recursos para uso interativo:
78 1 Gabriel Winckler
79 1 Gabriel Winckler
<pre>
80 1 Gabriel Winckler
salloc
81 1 Gabriel Winckler
</pre>
82 1 Gabriel Winckler
83 1 Gabriel Winckler
Os parâmetros são similares ao sbatch.
84 1 Gabriel Winckler
85 1 Gabriel Winckler
h2. Cancelar um processo
86 1 Gabriel Winckler
87 1 Gabriel Winckler
<pre>
88 1 Gabriel Winckler
scancel <id>
89 1 Gabriel Winckler
</pre>
90 1 Gabriel Winckler
91 5 Gabriel Winckler
h2. Exemplo MPI
92 5 Gabriel Winckler
93 5 Gabriel Winckler
A biblioteca MPI recomendada é a Intel MPI.
94 5 Gabriel Winckler
95 5 Gabriel Winckler
compilação
96 5 Gabriel Winckler
<pre>
97 5 Gabriel Winckler
module load intel/compilers
98 5 Gabriel Winckler
module load intel/mpi
99 5 Gabriel Winckler
mpicc mpi_code.c -o mpi_program
100 5 Gabriel Winckler
</pre>
101 5 Gabriel Winckler
102 5 Gabriel Winckler
_exemplo.sh_
103 5 Gabriel Winckler
<pre>
104 5 Gabriel Winckler
#!/bin/bash
105 5 Gabriel Winckler
#SBATCH -n 128
106 5 Gabriel Winckler
107 5 Gabriel Winckler
module load intel/mpi
108 5 Gabriel Winckler
srun -n 128 /home/<user>/<mpi_program>
109 5 Gabriel Winckler
</pre>
110 5 Gabriel Winckler
111 5 Gabriel Winckler
execução
112 5 Gabriel Winckler
<pre>
113 5 Gabriel Winckler
sbatch exemplo.sh
114 5 Gabriel Winckler
</pre>
115 5 Gabriel Winckler
116 1 Gabriel Winckler
h2. Referências
117 1 Gabriel Winckler
118 1 Gabriel Winckler
https://computing.llnl.gov/linux/slurm/quickstart.html
119 1 Gabriel Winckler
http://www.tchpc.tcd.ie/node/129
120 1 Gabriel Winckler
http://slurm.schedmd.com/sbatch.html