Uso do processamento
Número de jobs
O processamento computacional em HPCs como o Marvin é realizado através da submissão de jobs. Nesses jobs, o usuário descreve os recursos computacionais que ele deseja utilizar - a quantidade de CPUs, GPUs e memória RAM - e os scripts e programas que serão executados. Assim, ao observarmos o número de jobs submetidos (Figura 1), podemos estimar como os usuários tem utilizado os recursos computacionais disponíveis.
Observando a Figura 1 é possível notar que a demanda por jobs não foi uniforme ao longo do ano, mas apresentou picos em alguns meses.
Os jobs exibidos na Figura 1 são submetidos para diferentes partições do SLURM. Os que utilizam processamento em GPU são submetidos para as partições *-gpu-* 1 e os que utilizam apenas processamento em CPU para as partições *-cpu-*. Os jobs submetidos para as partições gui-*-* são sessões gráficas (VNC, Jupyter ou RStudio) inicializadas através do OpenOnDemand.
Na Figura 2 observamos essa distribuição de jobs por diferentes partições. A maior demanda foi para a partição (fila) short-gpu-big a qual possui uma placa NVIDIA A100 40GB. A segunda partição com maior demanda foi a short-cpu e a terceira maior demanda foi para a partição short-gpu-small a qual fornece uma gpu NVIDIA de 5GB. As partições gui-*-* executaram, em conjunto, 346 jobs iniciados vias OpenOnDemand. A classe de partições long-*-* e debug-* foram as menos utilizadas.
Tempo de execução dos jobs
Na figura Figura 3 podemos observar o tempo acumulado de processamento de cada uma das partições. Esse tempo corresponde a soma do tempo de execução dos jobs. Juntamente com os dados acima, isso nos permite ter uma visão da utilização do HPC e das partições mais utilizadas.
Na figura Figura 4 podemos observar a distribuição do tempo de execução dos jobs.
Observamos que a maior parte dos jobs tiveram duração inferior a 30 minutos.
A duração média dos jobs com tempo de execução maior que 30 minutos foi de aproximadamente 9.6 horas e a mediana foi de 4.6 horas. Apenas 10% desses jobs duraram mais que 20 horas.
Tempo de jobs na fila de espera
Quando um usuário submete um job para ser processado em uma partição do SLURM, o job entra na fila de execução. Caso outros jobs estejam sendo executados e consumindo os recursos disponíveis, como CPUs, GPUs e memória, o job permanece na fila aguardando que outros jobs sejam concluídos e, consequentemente, que os recursos necessários para sua execução sejam liberados.
Por isso, o tempo que os jobs permanecem na fila de espera indicam a competição dos usuários por recursos e nos dão uma ideia de quão suficiente são os recursos atuais para atender a demanda.
No ano de 2023, ~54% dos jobs permaneceram por um período inferior a 1 minuto. No outro extremo, aproximadamente ~10% dos jobs ficaram aguardando na fila por mais de 24 horas. Do restante, ~13% ficaram na fila de 1 a 8 horas e ~19% ficaram na fila entre 8 e 24 horas (Figura 5).
Asterisco (*) é comumente utilizado para representar “qualquer valor”. Possivelmente a origem sejam as expressões regulares. Ver: regular expression/pattern matching.↩︎