h1. 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*. h2. 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 h2. Uso Para usar, basta preceder o comando de simulação com o termo *goo-job-nanny*. h3. Exemplo antes:
#!/bin/bash #SBATCH -n 2 srun -n 2 ./hellodepois:
#!/bin/bash #SBATCH -n 2 goo-job-nanny srun -n 2 ./helloh2. Opções INPUT bq. (default="*") Arquivos copiados para a área temporária para iniciar a simulação. OUTPUT bq. (default="*") Arquivos copiados de volta para a pasta inicial (no /home) ao fim da simulação. CHECKPOINT bq. (default="$OUTPUT") Arquivos copiados sistematicamente para a pasta inicial. WAIT bq. (default="10800" -- 3horas) Intervalo entre a cópia dos arquivos de checkpoint, em segundos. VERBOSE bq. (default="0" -- False) Controla se informações sobre as operações do próprio script devem ser impressas no _stdout_ CHECKPOINT_FUNC bq. *Avançado*: Usado apenas em casos específicos onde é necessário realizar alguma operação antes do checkpoint. Consule [[VASP]] h3. Exemplo
#!/bin/bash #SBATCH -n 2 export WAIT=3600 export VERBOSE=1 goo-job-nanny srun -n 2 ./helloh2. Debug e melhorias Caso suspeite de algum problema com o script, execute com a opção
VERBOSE=1Você pode inspecionar e copiar o script de: /opt/gridunesp/internals/bin/goo-job-nanny Sugestões (ou patchs) são bem-vindos.