SubmissaoSimplificada » History » Version 7
Version 6 (Gabriel Winckler, 28 Jan 2013 18:49) → Version 7/21 (Gabriel Winckler, 07 Feb 2013 15:04)
h1. Sistema de Submissão Simplificada (GO)
{{>toc}}
h2. Introdução
Avaliando a utilização do sistema e tentando sempre facilitar a utilização dos recursos, foram identificadas algumas facilidades que não estavam presentes nas ferramentas tradicionais de grid de forma que sua ausência prejudicava a adoção do grid por parte dos usuários. Por essa razão, foi desenvolvido um método de submissão simplificado, batizado de go, que oferece as seguintes vantagens:
* Submissão simplificada da simulação
* Acompanhamento do progresso durante a execução
* Salvar e recuperar checkpoints
* Suporte a grandes arquivos de entrada e saída
* Flexibilidade na descrição de arquivos de saída
* Utilização automática de diretórios temporários
* Facilitar depuração de erros
Ainda estão previstas novas melhorias, como a cópia de grandes arquivos em duas etapas, um sistema de acompanhamento de processos via web e um sistema que direcione automaticamente os processos para os recursos mais adequados.
Esse sistema permite a criação de templates para aplicações específicas, facilitando o seu uso. A lista das aplicações suportadas por esse mecanismo está descrita abaixo. Porém esse sistema permite a utilização de qualquer aplicação, incluindo as desenvolvidas ou compiladas pelos próprios usuários. *Recomendamos o uso dessa ferramenta para todos os usuários (básicos e avançados)*
h2. Aplicativos suportados
O sistema permite o envio de um programa desenvolvido e compilado pelo usuário. Porém conta também com modelos simplificados para algumas as aplicações que damos suporte. Esperamos expandir o número de aplicações suportadas.
|Nome |Status |Versão|Serial|SMP|MPI|Chekpoint|Progress|
|[[BEAST]] |OK |1.6.1 |S |S |N |N |S |
|[[Clustalw]] |OK |1.82 |N |N |S |N |S |
|[[Crystal]] |teste |09 |S |N |? |? |S |
|[[Dacapo]] |teste |r474 |S |N |S |S |S |
|[[Dirac]] |teste |11 |S |N |S |? |S |
|[[Gamess]] |OK |2009 |S |N |S |? |ni |
|[[Gamit]] |OK |10.4 |S |N |N |? |ni |
|[[Garli]] |teste |2.0 |S |N |S |N |S |
|[[Gaussian]] |OK |09 |S |S |S |S |S |
|[[GPAW]] |teste |0.8.0 |S |N |S |S |S |
|[[Gromacs]] |OK |4.5.4 |S |S |S |T |S |
|[[IM]] |teste |12_17_2009 |S |N |N |S |S |
|[[IMa2]] |teste |8.26.11 |S |N |N |N |S |
|!InterproScan |planejado | | | | | | |
|[[LAMMPS]] |teste |18_10_2011|S |ni |S |? |S |
|[[MrBayes]] |OK |3.1.2 |S |N |S |? |ni |
|[[Mugsy]] |teste |1.2.1 |S |N |N |N |S |
|[[NAMD]] |OK |2.7 |ni |N |S |? |ni |
|[[OpenFOAM]] |teste |2.1 |S |N |S |? |? |
|[[Orca]] |OK |r1730 |S |N |? |S |S |
|[[Python]]* |[[Python]] |OK |2.7 |S |S |S |- |- |
|[[POY]] |teste |4.1.2 |S |N |S |? |ni |
|[[QuantumEspresso]] |teste |4.3 |S |N |S |? |S |
|[[RAxML]] |teste |7.3.0 |S |S |S |N |S |
Legenda:
|S |recurso implementado|
|N |recurso não suportado pelo software|
|T |recurso em fase de testes|
|ni|recurso disponibilizado pelo software, mas não implementado no *go*|
|? |informação não disponível|
[*] Módulos adicionais de Python
* SciPy
* NumPy
* matplotlib
* mpi4py
* networkx
* emcee
h2. Aplicativos compilados pelo próprio usuário
Com o go é possível também enviar arquivos desenvolvidos ou compilados pelo próprio usuário.
Mais detalhes estão [[SubmissaoSimplificadaCustom|aqui]].
h2. Utilização
* Crie um arquivo de parâmetros (ex: caso.go) como explicado abaixo
* Crie um certificado de proxy (myproxy-logon) com uma duração maior que a do seu job
* Execute "go caso.go"
Isso cria e envia o seu job para o grid. Caso não queira enviar imediatamente, utilize a opção "-nosubmit". O arquivo de submissão será criado com o nome de "caso.go.submit".
Caso você tenha especificado checkpoints ou arquivos de progresso, eles serão automaticamente copiados para esse diretório.
*IMPORTANTE: NÃO USE ESPAÇOS NOS NOMES DOS ARQUIVOS*
h2. Opções
h3. Opções gerais
* CASE - Nome do caso. Define o nome de arquivos de entrada, log e saida. *Padrão*: (nome do arquivo de parâmetros, sem a extensão)
* HOSTS - Número de hosts (processos) para a execução. *Padrão*: 1
* QUEUE - Fila do processo. Opções: short (até 3 horas), medium (até 24 horas), long (sem limite) *Padrão*: medium (24 horas)
* LARGE_FILES - Suporte a arquivos de simulação maiores que 8GB. *Padrão*: false
* NOTIFY - Escolhe quais notificação serão enviadas por email. "NOTIFY=" desabilita o envio.
h3. Opções *avançadas* (geralmente não são necessárias!)
* EXEC - executável
* TRANSFER_EXEC - se transfere o executável
* ARGS - argumentos
* INPUT - arquivos de entrada, *separados por espaço*
* OUTPUT - arquivos de saída, *separados por espaço*
* PROGRESS - arquivo que exibe o progresso da simulação
* WAIT_PROGRESS - tempo de atualização do progresso, em segundos. *Padrão*: 15 min.
* CHECKPOINT - arquivo de checkpoint
* WAIT_CHECKPOINT - tempo de atualização do checkpoint, em segundos. *Padrão*: 3 horas.
* HOSTS - Número de hosts (processos) para a execução. *Padrão*: 1
* PPH - Process per host. Opção para programas SMP
* MPI - Se o executável deve ser chamado em ambiente MPI (True ou False).
h2. Exemplo passo-a-passo
Segue um exemplo completo utilizando o software "Orca". As opções específicas de cada aplicação estão a seguir.
h3. Prepare os arquivos de entrada
Prepare os arquivos de entrada da aplicação. Nesse caso usaremos nome_do_caso.inp (arquivo do orca).
*IMPORTANTE: NÃO USE ESPAÇOS NOS NOMES*
caso_de_teste.inp
<pre>
! HF SVP
* xyz 0 1
C 0.0 0.0 0.0
O 0.0 0.0 1.13
*
</pre>
h3. Prepare o arquivo .go
caso_de_teste.go
<pre><code class="bash">
APP=orca
QUEUE=short
</code></pre>
h3. Crie um proxy
<pre>
myproxy-logon
</pre>
h3. Submeta a simulação
<pre>
go caso_de_teste.go
</pre>
h3. Verificando o status
Você pode verificar o status com o comando: @condor_q $USER -globus@.
h3. Cancelando a execução
Para interromper uma simulação, utilize o comando: @condor_rm jobid@ , onde _jobid_ é o identificador do job, disponível no arquivo de log ou no comando de status.
{{>toc}}
h2. Introdução
Avaliando a utilização do sistema e tentando sempre facilitar a utilização dos recursos, foram identificadas algumas facilidades que não estavam presentes nas ferramentas tradicionais de grid de forma que sua ausência prejudicava a adoção do grid por parte dos usuários. Por essa razão, foi desenvolvido um método de submissão simplificado, batizado de go, que oferece as seguintes vantagens:
* Submissão simplificada da simulação
* Acompanhamento do progresso durante a execução
* Salvar e recuperar checkpoints
* Suporte a grandes arquivos de entrada e saída
* Flexibilidade na descrição de arquivos de saída
* Utilização automática de diretórios temporários
* Facilitar depuração de erros
Ainda estão previstas novas melhorias, como a cópia de grandes arquivos em duas etapas, um sistema de acompanhamento de processos via web e um sistema que direcione automaticamente os processos para os recursos mais adequados.
Esse sistema permite a criação de templates para aplicações específicas, facilitando o seu uso. A lista das aplicações suportadas por esse mecanismo está descrita abaixo. Porém esse sistema permite a utilização de qualquer aplicação, incluindo as desenvolvidas ou compiladas pelos próprios usuários. *Recomendamos o uso dessa ferramenta para todos os usuários (básicos e avançados)*
h2. Aplicativos suportados
O sistema permite o envio de um programa desenvolvido e compilado pelo usuário. Porém conta também com modelos simplificados para algumas as aplicações que damos suporte. Esperamos expandir o número de aplicações suportadas.
|Nome |Status |Versão|Serial|SMP|MPI|Chekpoint|Progress|
|[[BEAST]] |OK |1.6.1 |S |S |N |N |S |
|[[Clustalw]] |OK |1.82 |N |N |S |N |S |
|[[Crystal]] |teste |09 |S |N |? |? |S |
|[[Dacapo]] |teste |r474 |S |N |S |S |S |
|[[Dirac]] |teste |11 |S |N |S |? |S |
|[[Gamess]] |OK |2009 |S |N |S |? |ni |
|[[Gamit]] |OK |10.4 |S |N |N |? |ni |
|[[Garli]] |teste |2.0 |S |N |S |N |S |
|[[Gaussian]] |OK |09 |S |S |S |S |S |
|[[GPAW]] |teste |0.8.0 |S |N |S |S |S |
|[[Gromacs]] |OK |4.5.4 |S |S |S |T |S |
|[[IM]] |teste |12_17_2009 |S |N |N |S |S |
|[[IMa2]] |teste |8.26.11 |S |N |N |N |S |
|!InterproScan |planejado | | | | | | |
|[[LAMMPS]] |teste |18_10_2011|S |ni |S |? |S |
|[[MrBayes]] |OK |3.1.2 |S |N |S |? |ni |
|[[Mugsy]] |teste |1.2.1 |S |N |N |N |S |
|[[NAMD]] |OK |2.7 |ni |N |S |? |ni |
|[[OpenFOAM]] |teste |2.1 |S |N |S |? |? |
|[[Orca]] |OK |r1730 |S |N |? |S |S |
|[[Python]]* |[[Python]] |OK |2.7 |S |S |S |- |- |
|[[POY]] |teste |4.1.2 |S |N |S |? |ni |
|[[QuantumEspresso]] |teste |4.3 |S |N |S |? |S |
|[[RAxML]] |teste |7.3.0 |S |S |S |N |S |
Legenda:
|S |recurso implementado|
|N |recurso não suportado pelo software|
|T |recurso em fase de testes|
|ni|recurso disponibilizado pelo software, mas não implementado no *go*|
|? |informação não disponível|
[*] Módulos adicionais de Python
* SciPy
* NumPy
* matplotlib
* mpi4py
* networkx
* emcee
h2. Aplicativos compilados pelo próprio usuário
Com o go é possível também enviar arquivos desenvolvidos ou compilados pelo próprio usuário.
Mais detalhes estão [[SubmissaoSimplificadaCustom|aqui]].
h2. Utilização
* Crie um arquivo de parâmetros (ex: caso.go) como explicado abaixo
* Crie um certificado de proxy (myproxy-logon) com uma duração maior que a do seu job
* Execute "go caso.go"
Isso cria e envia o seu job para o grid. Caso não queira enviar imediatamente, utilize a opção "-nosubmit". O arquivo de submissão será criado com o nome de "caso.go.submit".
Caso você tenha especificado checkpoints ou arquivos de progresso, eles serão automaticamente copiados para esse diretório.
*IMPORTANTE: NÃO USE ESPAÇOS NOS NOMES DOS ARQUIVOS*
h2. Opções
h3. Opções gerais
* CASE - Nome do caso. Define o nome de arquivos de entrada, log e saida. *Padrão*: (nome do arquivo de parâmetros, sem a extensão)
* HOSTS - Número de hosts (processos) para a execução. *Padrão*: 1
* QUEUE - Fila do processo. Opções: short (até 3 horas), medium (até 24 horas), long (sem limite) *Padrão*: medium (24 horas)
* LARGE_FILES - Suporte a arquivos de simulação maiores que 8GB. *Padrão*: false
* NOTIFY - Escolhe quais notificação serão enviadas por email. "NOTIFY=" desabilita o envio.
h3. Opções *avançadas* (geralmente não são necessárias!)
* EXEC - executável
* TRANSFER_EXEC - se transfere o executável
* ARGS - argumentos
* INPUT - arquivos de entrada, *separados por espaço*
* OUTPUT - arquivos de saída, *separados por espaço*
* PROGRESS - arquivo que exibe o progresso da simulação
* WAIT_PROGRESS - tempo de atualização do progresso, em segundos. *Padrão*: 15 min.
* CHECKPOINT - arquivo de checkpoint
* WAIT_CHECKPOINT - tempo de atualização do checkpoint, em segundos. *Padrão*: 3 horas.
* HOSTS - Número de hosts (processos) para a execução. *Padrão*: 1
* PPH - Process per host. Opção para programas SMP
* MPI - Se o executável deve ser chamado em ambiente MPI (True ou False).
h2. Exemplo passo-a-passo
Segue um exemplo completo utilizando o software "Orca". As opções específicas de cada aplicação estão a seguir.
h3. Prepare os arquivos de entrada
Prepare os arquivos de entrada da aplicação. Nesse caso usaremos nome_do_caso.inp (arquivo do orca).
*IMPORTANTE: NÃO USE ESPAÇOS NOS NOMES*
caso_de_teste.inp
<pre>
! HF SVP
* xyz 0 1
C 0.0 0.0 0.0
O 0.0 0.0 1.13
*
</pre>
h3. Prepare o arquivo .go
caso_de_teste.go
<pre><code class="bash">
APP=orca
QUEUE=short
</code></pre>
h3. Crie um proxy
<pre>
myproxy-logon
</pre>
h3. Submeta a simulação
<pre>
go caso_de_teste.go
</pre>
h3. Verificando o status
Você pode verificar o status com o comando: @condor_q $USER -globus@.
h3. Cancelando a execução
Para interromper uma simulação, utilize o comando: @condor_rm jobid@ , onde _jobid_ é o identificador do job, disponível no arquivo de log ou no comando de status.