Goo-job-nanny¶
Ao enviar simulações ao cluster é importante que os arquivos temporários não sejam criados no /home. Para isso devem ser utilizados o diretórios /tmp e /store. Dentro desses diretórios o usuário deve criar uma pasta com o seu login e deve remover esses arquivos ao terminar o processamento.
Para facilitar essas etapas, foi desenvolvido um script chamado goo-job-nanny.
Recursos¶
- Cria automaticamente a pasta temporária
- seleciona automaticamente se /tmp ou /store
- Copia periodicamente (ainda durante a simulação) os arquivos, para permitir checkpoints e acompanhar o andamento da simulação
- Remove a pasta temporária ao fim da execução
Uso¶
Para usar, basta preceder o comando de simulação com o termo goo-job-nanny.
Exemplo¶
antes:
#!/bin/bash #SBATCH -n 2 srun -n 2 ./hello
depois:
#!/bin/bash #SBATCH -n 2 goo-job-nanny srun -n 2 ./hello
Opções¶
INPUT
(default="*") Arquivos copiados para a área temporária para iniciar a simulação.
OUTPUT
(default="*") Arquivos copiados de volta para a pasta inicial (no /home) ao fim da simulação.
CHECKPOINT
(default="$OUTPUT") Arquivos copiados sistematicamente para a pasta inicial.
WAIT
(default="10800" -- 3horas) Intervalo entre a cópia dos arquivos de checkpoint, em segundos.
VERBOSE
(default="0" -- False) Controla se informações sobre as operações do próprio script devem ser impressas no stdout
CHECKPOINT_FUNC
Avançado: Usado apenas em casos específicos onde é necessário realizar alguma operação antes do checkpoint. Consule VASP
Exemplo¶
#!/bin/bash #SBATCH -n 2 export WAIT=3600 export VERBOSE=1 goo-job-nanny srun -n 2 ./hello
Debug e melhorias¶
Caso suspeite de algum problema com o script, execute com a opção
VERBOSE=1
Você pode inspecionar e copiar o script de: /opt/gridunesp/internals/bin/goo-job-nanny
Sugestões (ou patchs) são bem-vindos.