Manual de utilização do ambiente de processamento paralelo do LAD

O presente documento tem como objetivo orientar e instruir os usuários do Laboratório de Alto Desempenho da PUCRS, do PUCRS Ideia, sobre a utilização do laboratório.
Em caso de dúvidas, pode entrar em contato via e-mail: contato.lad@pucrs.br ou suporte.lad@pucrs.br.

4.6. Comandos "sstat", "sacct" e análise de consumo de recursos

Os comandos “sstat” e “sacct” são utilizados para verificar (e contabilizar) o consumo de recursos computacionais por jobs. Na página do Slurm é possível identificar todas as informações que podem ser apresentadas (sempre sobre o parâmetro “–format”) por cada comando, mas a sintaxe ideal será apresentada na descrição de cada comando.

O “sstat” (https://slurm.schedmd.com/sstat.html) apresenta as informações de consumo por jobs em tempo real.

Utilização:

user@pantanal:~$ sstat \[<OPTION>\] \[--format info1\[%text\_size\]\[,info2\[%text\_size\]\]\[,info[%text\_size\\]\]...\] -j <job(.stepid)>


Exemplo de uso:

user@pantanal:~$ sstat --format JobID%5,NTasks%6,MinCPU,MaxVMSize,MaxDiskRead,MaxDiskWrite -j 799

JobID  NTasks  MinCPU  MaxVMSize  MaxDiskRead  MaxDiskWrite

-----  ------  ------  ---------  ------------  -----------

799.3   2   06:56.000 9284092K    76554    2147483800


O “sacct” (https://slurm.schedmd.com/sacct.html) apresenta as informações de consumo de jobs finalizados, sendo essa a principal diferença entre os dois comandos.

Utilização:

user@pantanal:~$ sacct \[<OPTION>\] \[--format info1\[%text\_size\]\[,info2\[%text\_size\]\]\[,info3\[%text\_size\]\]...\] \[-j <job(.stepid)>\]


Exemplo de uso:

user@pantanal:~$ sacct -j 317 --format TotalCPU,Elapsed,MaxVMSize,AllocNodes,maxRSS%8

TotalCPU  Elapsed  MaxVMSize  AllocNodes  MaxRSS

--------  --------  --------  ----------  -------

12:28.926  00:20:01  353980K    1     15644K


Para monitorar o uso de recursos da máquina o usuário também pode fazer uso do “bpytop”, uma ferramenta que oferece uma visualização mais dinâmica sobre os processos em execução e o consumo de recursos.

Quando iniciado, o bpytop mostra um dashboard dividido em 4 telas, apresentando informações de cpu(1), mem/disk(2), network(3) e proc(4). É possível modificar quais telas são mostradas no dashboard pressionando os respectivos números de cada informação. Para fechar o bpytop, digite q ou Ctrl+c.

Exemplo de utilização em uma alocação no cluster Pantanal com informações de cpu (1), mem/disk(2) e net(3):

user@pantanal02:~$ bpytop

bpytop_program

Uma forma de monitorar o uso de recursos ao disparar um job é dividindo o terminal em dois painéis, de forma que o usuário possa executar a ferramenta de monitoramento em um painel e no outro disparar o job.

Veja um exemplo de utilização do bpytop com o tmux, uma ferramenta que permite abrir vários painéis dentro de uma mesma janela de terminal:

Alocação:

user@pantanal:~$ srun -N 1 -n 8 -t 10 --pty bash -i


Iniciar tmux:

user@pantanal02:~$ tmux


Os comandos do tmux são precedidos por Ctrl+b, ou seja, antes de indicar o comando é necessário utilizar essa chave de prefixo.

Para dividir a janela em dois painéis horizontais, como no exemplo abaixo, use a chave de prefixo Ctrl+b seguido de ":

tmux_panel

O usuário pode “navegar” entre os painéis pressionando Ctrl+b seguido de ;. Além disso, é possível alterar o tamanho dos painéis pressionando Ctrl+seta (Up, Down, Left, Right), por exemplo, ao selecionar o painel de baixo, basta digitar Ctrl+b seguido de Ctrl+Down para diminuir o tamanho do painel.

Iniciar bpytop em um dos painéis:

user@pantanal02:~$ bpytop

bpytop_tmux_panel

Após o ajuste no tamanho dos painéis o usuário poderá disparar um job e monitorar os recursos utilizados em tempo real. Executar o comando exit (ou Ctrl+d) encerra a sessão do painel atual, migrando o cursor para o outro painel automaticamente.