SubmissaoSimplificada » History » Version 16

Gabriel Winckler, 17 Jun 2014 10:37

1 1 Gabriel Winckler
h1. Sistema de Submissão Simplificada (GO)
2 1 Gabriel Winckler
3 1 Gabriel Winckler
{{>toc}}
4 1 Gabriel Winckler
5 2 Gabriel Winckler
h2. Introdução
6 2 Gabriel Winckler
7 1 Gabriel Winckler
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:
8 1 Gabriel Winckler
9 1 Gabriel Winckler
* Submissão simplificada da simulação
10 1 Gabriel Winckler
* Acompanhamento do progresso durante a execução
11 1 Gabriel Winckler
* Salvar e recuperar checkpoints
12 1 Gabriel Winckler
* Suporte a grandes arquivos de entrada e saída
13 1 Gabriel Winckler
* Flexibilidade na descrição de arquivos de saída
14 1 Gabriel Winckler
* Utilização automática de diretórios temporários
15 2 Gabriel Winckler
* Facilitar depuração de erros
16 1 Gabriel Winckler
17 1 Gabriel Winckler
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.
18 1 Gabriel Winckler
19 1 Gabriel Winckler
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)*
20 1 Gabriel Winckler
21 1 Gabriel Winckler
h2.  Aplicativos suportados
22 1 Gabriel Winckler
23 1 Gabriel Winckler
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.
24 1 Gabriel Winckler
25 1 Gabriel Winckler
26 1 Gabriel Winckler
|Nome             |Status      |Versão|Serial|SMP|MPI|Chekpoint|Progress|
27 1 Gabriel Winckler
|[[BEAST]]        |OK          |1.6.1 |S     |S  |N  |N        |S       |
28 1 Gabriel Winckler
|[[Clustalw]]     |OK          |1.82  |N     |N  |S  |N        |S       |
29 1 Gabriel Winckler
|[[Crystal]]      |teste       |09    |S     |N  |?  |?        |S       |
30 1 Gabriel Winckler
|[[Dacapo]]       |teste       |r474  |S     |N  |S  |S        |S       |
31 4 Gabriel Winckler
|[[Dirac]]        |teste       |11    |S     |N  |S  |?        |S       |
32 12 Gabriel Winckler
|[[Espresso]]     |teste       |3.2.0 |S     |N  |S  |?        |S       |
33 1 Gabriel Winckler
|[[Gamess]]       |OK          |2009  |S     |N  |S  |?        |ni      |
34 1 Gabriel Winckler
|[[Gamit]]        |OK          |10.4  |S     |N  |N  |?        |ni      |
35 1 Gabriel Winckler
|[[Garli]]        |teste       |2.0   |S     |N  |S  |N        |S       |
36 1 Gabriel Winckler
|[[Gaussian]]     |OK          |09    |S     |S  |S  |S        |S       |
37 1 Gabriel Winckler
|[[GPAW]]         |teste       |0.8.0 |S     |N  |S  |S        |S       |
38 1 Gabriel Winckler
|[[Gromacs]]      |OK          |4.5.4 |S     |S  |S  |T        |S       |
39 11 Gabriel Winckler
|[[Gromacs]]      |teste       |4.6.5 |S     |S  |S  |T        |S       |
40 1 Gabriel Winckler
|[[IM]]           |teste       |12_17_2009 |S |N |N  |S        |S       |
41 1 Gabriel Winckler
|[[IMa2]]         |teste       |8.26.11 |S   |N  |N  |N        |S       |
42 1 Gabriel Winckler
|!InterproScan    |planejado   |      |      |   |   |         |        |
43 1 Gabriel Winckler
|[[LAMMPS]]       |teste       |18_10_2011|S |ni |S  |?        |S       |
44 13 Gabriel Winckler
|[[Mathematica]]  |OK          |9     |S     |N  |S  |?        |S       |
45 8 Gabriel Winckler
|[[MOPAC]]        |OK          |2012  |S     |?  |N  |N        |S       |
46 1 Gabriel Winckler
|[[MrBayes]]      |OK          |3.1.2 |S     |N  |S  |?        |ni      |
47 1 Gabriel Winckler
|[[Mugsy]]        |teste       |1.2.1 |S     |N  |N  |N        |S       |
48 1 Gabriel Winckler
|[[NAMD]]         |OK          |2.7   |ni    |N  |S  |?        |ni      |
49 6 Gabriel Winckler
|[[OpenFOAM]]     |teste       |2.1   |S     |N  |S  |?        |?       |
50 1 Gabriel Winckler
|[[Orca]]         |OK          |r1730 |S     |N  |?  |S        |S       |
51 7 Gabriel Winckler
|[[Python]]*      |OK          |2.7   |S     |S  |S  |-        |-       |
52 1 Gabriel Winckler
|[[POY]]          |teste       |4.1.2 |S     |N  |S  |?        |ni      |
53 1 Gabriel Winckler
|[[QuantumEspresso]] |teste    |4.3   |S     |N  |S  |?        |S       |
54 16 Gabriel Winckler
|[[R]]            |OK          |3.1   |S     |N  |N  |-        |-       |
55 1 Gabriel Winckler
|[[RAxML]]        |teste       |7.3.0 |S     |S  |S  |N        |S       |
56 15 Gabriel Winckler
|[[Siesta]]       |teste       |3.2.4 |S     |N  |N  |N        |S       |
57 15 Gabriel Winckler
58 1 Gabriel Winckler
59 1 Gabriel Winckler
Legenda:
60 1 Gabriel Winckler
|S |recurso implementado|
61 1 Gabriel Winckler
|N |recurso não suportado pelo software|
62 1 Gabriel Winckler
|T |recurso em fase de testes|
63 1 Gabriel Winckler
|ni|recurso disponibilizado pelo software, mas não implementado no *go*|
64 1 Gabriel Winckler
|? |informação não disponível|
65 7 Gabriel Winckler
66 7 Gabriel Winckler
[*] Módulos adicionais de Python
67 7 Gabriel Winckler
* SciPy
68 7 Gabriel Winckler
* NumPy
69 7 Gabriel Winckler
* matplotlib
70 7 Gabriel Winckler
* mpi4py
71 7 Gabriel Winckler
* networkx
72 7 Gabriel Winckler
* emcee
73 13 Gabriel Winckler
* decorators
74 14 Gabriel Winckler
* xlrd/xlwd
75 14 Gabriel Winckler
* libsbml
76 1 Gabriel Winckler
77 3 Gabriel Winckler
h2. Aplicativos compilados pelo próprio usuário
78 3 Gabriel Winckler
79 3 Gabriel Winckler
Com o go é possível também enviar arquivos desenvolvidos ou compilados pelo próprio usuário.
80 3 Gabriel Winckler
81 3 Gabriel Winckler
Mais detalhes estão [[SubmissaoSimplificadaCustom|aqui]].
82 3 Gabriel Winckler
83 1 Gabriel Winckler
84 2 Gabriel Winckler
h2. Utilização
85 2 Gabriel Winckler
86 2 Gabriel Winckler
* Crie um arquivo de parâmetros (ex: caso.go) como explicado abaixo
87 2 Gabriel Winckler
* Crie um certificado de proxy (myproxy-logon) com uma duração maior que a do seu job
88 2 Gabriel Winckler
* Execute "go caso.go"
89 2 Gabriel Winckler
90 2 Gabriel Winckler
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".
91 2 Gabriel Winckler
92 2 Gabriel Winckler
Caso você tenha especificado checkpoints ou arquivos de progresso, eles serão automaticamente copiados para esse diretório.
93 2 Gabriel Winckler
94 2 Gabriel Winckler
*IMPORTANTE: NÃO USE ESPAÇOS NOS NOMES DOS ARQUIVOS*
95 2 Gabriel Winckler
96 2 Gabriel Winckler
h2. Opções
97 2 Gabriel Winckler
98 2 Gabriel Winckler
h3. Opções gerais
99 2 Gabriel Winckler
100 2 Gabriel Winckler
* 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)
101 2 Gabriel Winckler
* HOSTS - Número de hosts (processos) para a execução. *Padrão*: 1
102 10 Gabriel Winckler
* QUEUE - Fila do processo. Opções: short (até 3 horas), medium (até 24 horas), long (30 dias) *Padrão*: medium (24 horas)
103 2 Gabriel Winckler
* LARGE_FILES - Suporte a arquivos de simulação maiores que 8GB. *Padrão*: false
104 2 Gabriel Winckler
* NOTIFY - Escolhe quais notificação serão enviadas por email. "NOTIFY=" desabilita o envio.
105 2 Gabriel Winckler
106 2 Gabriel Winckler
h3. Opções *avançadas* (geralmente não são necessárias!)
107 2 Gabriel Winckler
108 2 Gabriel Winckler
* EXEC - executável
109 2 Gabriel Winckler
* TRANSFER_EXEC - se transfere o executável
110 2 Gabriel Winckler
* ARGS - argumentos
111 2 Gabriel Winckler
* INPUT - arquivos de entrada, *separados por espaço*
112 2 Gabriel Winckler
* OUTPUT - arquivos de saída, *separados por espaço*
113 2 Gabriel Winckler
* PROGRESS - arquivo que exibe o progresso da simulação
114 2 Gabriel Winckler
* WAIT_PROGRESS - tempo de atualização do progresso, em segundos. *Padrão*: 15 min.
115 2 Gabriel Winckler
* CHECKPOINT - arquivo de checkpoint
116 2 Gabriel Winckler
* WAIT_CHECKPOINT - tempo de atualização do checkpoint, em segundos. *Padrão*: 3 horas.
117 2 Gabriel Winckler
* HOSTS - Número de hosts (processos) para a execução. *Padrão*: 1
118 2 Gabriel Winckler
* PPH - Process per host. Opção para programas SMP
119 2 Gabriel Winckler
* MPI - Se o executável deve ser chamado em ambiente MPI (True ou False).
120 9 Gabriel Winckler
* SHARED_FS - Utiliza um sistema de arquivos compartilhado (útil para aplicações MPI)
121 2 Gabriel Winckler
122 1 Gabriel Winckler
h2. Exemplo passo-a-passo
123 1 Gabriel Winckler
124 1 Gabriel Winckler
Segue um exemplo completo utilizando o software "Orca". As opções específicas de cada aplicação estão a seguir.
125 1 Gabriel Winckler
126 2 Gabriel Winckler
h3. Prepare os arquivos de entrada 
127 1 Gabriel Winckler
128 1 Gabriel Winckler
Prepare os arquivos de entrada da aplicação. Nesse caso usaremos nome_do_caso.inp (arquivo do orca).
129 1 Gabriel Winckler
 
130 1 Gabriel Winckler
*IMPORTANTE: NÃO USE ESPAÇOS NOS NOMES*
131 1 Gabriel Winckler
132 1 Gabriel Winckler
caso_de_teste.inp
133 1 Gabriel Winckler
<pre>
134 1 Gabriel Winckler
! HF SVP
135 1 Gabriel Winckler
136 1 Gabriel Winckler
* xyz 0 1
137 1 Gabriel Winckler
  C 0.0 0.0 0.0
138 1 Gabriel Winckler
  O 0.0 0.0 1.13
139 1 Gabriel Winckler
*
140 1 Gabriel Winckler
</pre>
141 1 Gabriel Winckler
142 1 Gabriel Winckler
h3. Prepare o arquivo .go 
143 1 Gabriel Winckler
144 1 Gabriel Winckler
caso_de_teste.go
145 1 Gabriel Winckler
<pre><code class="bash">
146 1 Gabriel Winckler
APP=orca
147 1 Gabriel Winckler
QUEUE=short
148 1 Gabriel Winckler
</code></pre>
149 1 Gabriel Winckler
150 1 Gabriel Winckler
h3. Crie um proxy
151 1 Gabriel Winckler
<pre>
152 1 Gabriel Winckler
myproxy-logon
153 1 Gabriel Winckler
</pre>
154 1 Gabriel Winckler
155 1 Gabriel Winckler
h3. Submeta a simulação
156 1 Gabriel Winckler
<pre>
157 1 Gabriel Winckler
go caso_de_teste.go
158 1 Gabriel Winckler
</pre>
159 1 Gabriel Winckler
160 1 Gabriel Winckler
h3. Verificando o status
161 1 Gabriel Winckler
162 1 Gabriel Winckler
Você pode verificar o status com o comando: @condor_q $USER -globus@.
163 1 Gabriel Winckler
164 1 Gabriel Winckler
h3. Cancelando a execução
165 1 Gabriel Winckler
166 1 Gabriel Winckler
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.