Goo-job-nanny » History » Version 2
Version 1 (Gabriel Winckler, 02 Apr 2015 17:19) → Version 2/3 (Gabriel Winckler, 30 Apr 2015 15:25)
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:
<pre>
#!/bin/bash
#SBATCH -n 2
srun -n 2 ./hello
</pre>
depois:
<pre>
#!/bin/bash
#SBATCH -n 2
goo-job-nanny go srun -n 2 ./hello
</pre>
h2. 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
<pre>
#!/bin/bash
#SBATCH -n 2
export WAIT=3600
export VERBOSE=1
go srun -n 2 ./hello
</pre>
h2. Debug e melhorias
Caso suspeite de algum problema com o script, execute com a opção
<pre>
VERBOSE=1
</pre>
Você pode inspecionar e copiar o script de: /opt/gridunesp/internals/bin/go
Sugestões (ou patchs) são bem-vindos.
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:
<pre>
#!/bin/bash
#SBATCH -n 2
srun -n 2 ./hello
</pre>
depois:
<pre>
#!/bin/bash
#SBATCH -n 2
goo-job-nanny go srun -n 2 ./hello
</pre>
h2. 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
<pre>
#!/bin/bash
#SBATCH -n 2
export WAIT=3600
export VERBOSE=1
go srun -n 2 ./hello
</pre>
h2. Debug e melhorias
Caso suspeite de algum problema com o script, execute com a opção
<pre>
VERBOSE=1
</pre>
Você pode inspecionar e copiar o script de: /opt/gridunesp/internals/bin/go
Sugestões (ou patchs) são bem-vindos.