SubmissaoSimplificada » History » Version 6

Gabriel Winckler, 28 Jan 2013 18:49

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 1 Gabriel Winckler
|[[Gamess]]       |OK          |2009  |S     |N  |S  |?        |ni      |
33 1 Gabriel Winckler
|[[Gamit]]        |OK          |10.4  |S     |N  |N  |?        |ni      |
34 1 Gabriel Winckler
|[[Garli]]        |teste       |2.0   |S     |N  |S  |N        |S       |
35 1 Gabriel Winckler
|[[Gaussian]]     |OK          |09    |S     |S  |S  |S        |S       |
36 1 Gabriel Winckler
|[[GPAW]]         |teste       |0.8.0 |S     |N  |S  |S        |S       |
37 1 Gabriel Winckler
|[[Gromacs]]      |OK          |4.5.4 |S     |S  |S  |T        |S       |
38 1 Gabriel Winckler
|[[IM]]           |teste       |12_17_2009 |S |N |N  |S        |S       |
39 1 Gabriel Winckler
|[[IMa2]]         |teste       |8.26.11 |S   |N  |N  |N        |S       |
40 1 Gabriel Winckler
|!InterproScan    |planejado   |      |      |   |   |         |        |
41 1 Gabriel Winckler
|[[LAMMPS]]       |teste       |18_10_2011|S |ni |S  |?        |S       |
42 1 Gabriel Winckler
|[[MrBayes]]      |OK          |3.1.2 |S     |N  |S  |?        |ni      |
43 1 Gabriel Winckler
|[[Mugsy]]        |teste       |1.2.1 |S     |N  |N  |N        |S       |
44 1 Gabriel Winckler
|[[NAMD]]         |OK          |2.7   |ni    |N  |S  |?        |ni      |
45 6 Gabriel Winckler
|[[OpenFOAM]]     |teste       |2.1   |S     |N  |S  |?        |?       |
46 1 Gabriel Winckler
|[[Orca]]         |OK          |r1730 |S     |N  |?  |S        |S       |
47 5 Gabriel Winckler
|[[Python]]       |OK          |2.7   |S     |S  |S  |-        |-       |
48 1 Gabriel Winckler
|[[POY]]          |teste       |4.1.2 |S     |N  |S  |?        |ni      |
49 1 Gabriel Winckler
|[[QuantumEspresso]] |teste    |4.3   |S     |N  |S  |?        |S       |
50 1 Gabriel Winckler
|[[RAxML]]        |teste       |7.3.0 |S     |S  |S  |N        |S       |
51 1 Gabriel Winckler
52 1 Gabriel Winckler
Legenda:
53 1 Gabriel Winckler
|S |recurso implementado|
54 1 Gabriel Winckler
|N |recurso não suportado pelo software|
55 1 Gabriel Winckler
|T |recurso em fase de testes|
56 1 Gabriel Winckler
|ni|recurso disponibilizado pelo software, mas não implementado no *go*|
57 1 Gabriel Winckler
|? |informação não disponível|
58 1 Gabriel Winckler
59 3 Gabriel Winckler
h2. Aplicativos compilados pelo próprio usuário
60 3 Gabriel Winckler
61 3 Gabriel Winckler
Com o go é possível também enviar arquivos desenvolvidos ou compilados pelo próprio usuário.
62 3 Gabriel Winckler
63 3 Gabriel Winckler
Mais detalhes estão [[SubmissaoSimplificadaCustom|aqui]].
64 3 Gabriel Winckler
65 1 Gabriel Winckler
66 2 Gabriel Winckler
h2. Utilização
67 2 Gabriel Winckler
68 2 Gabriel Winckler
* Crie um arquivo de parâmetros (ex: caso.go) como explicado abaixo
69 2 Gabriel Winckler
* Crie um certificado de proxy (myproxy-logon) com uma duração maior que a do seu job
70 2 Gabriel Winckler
* Execute "go caso.go"
71 2 Gabriel Winckler
72 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".
73 2 Gabriel Winckler
74 2 Gabriel Winckler
Caso você tenha especificado checkpoints ou arquivos de progresso, eles serão automaticamente copiados para esse diretório.
75 2 Gabriel Winckler
76 2 Gabriel Winckler
*IMPORTANTE: NÃO USE ESPAÇOS NOS NOMES DOS ARQUIVOS*
77 2 Gabriel Winckler
78 2 Gabriel Winckler
h2. Opções
79 2 Gabriel Winckler
80 2 Gabriel Winckler
h3. Opções gerais
81 2 Gabriel Winckler
82 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)
83 2 Gabriel Winckler
* HOSTS - Número de hosts (processos) para a execução. *Padrão*: 1
84 2 Gabriel Winckler
* QUEUE - Fila do processo. Opções: short (até 3 horas), medium (até 24 horas), long (sem limite) *Padrão*: medium (24 horas)
85 2 Gabriel Winckler
* LARGE_FILES - Suporte a arquivos de simulação maiores que 8GB. *Padrão*: false
86 2 Gabriel Winckler
* NOTIFY - Escolhe quais notificação serão enviadas por email. "NOTIFY=" desabilita o envio.
87 2 Gabriel Winckler
88 2 Gabriel Winckler
h3. Opções *avançadas* (geralmente não são necessárias!)
89 2 Gabriel Winckler
90 2 Gabriel Winckler
* EXEC - executável
91 2 Gabriel Winckler
* TRANSFER_EXEC - se transfere o executável
92 2 Gabriel Winckler
* ARGS - argumentos
93 2 Gabriel Winckler
* INPUT - arquivos de entrada, *separados por espaço*
94 2 Gabriel Winckler
* OUTPUT - arquivos de saída, *separados por espaço*
95 2 Gabriel Winckler
* PROGRESS - arquivo que exibe o progresso da simulação
96 2 Gabriel Winckler
* WAIT_PROGRESS - tempo de atualização do progresso, em segundos. *Padrão*: 15 min.
97 2 Gabriel Winckler
* CHECKPOINT - arquivo de checkpoint
98 2 Gabriel Winckler
* WAIT_CHECKPOINT - tempo de atualização do checkpoint, em segundos. *Padrão*: 3 horas.
99 2 Gabriel Winckler
* HOSTS - Número de hosts (processos) para a execução. *Padrão*: 1
100 2 Gabriel Winckler
* PPH - Process per host. Opção para programas SMP
101 2 Gabriel Winckler
* MPI - Se o executável deve ser chamado em ambiente MPI (True ou False).
102 2 Gabriel Winckler
103 1 Gabriel Winckler
h2. Exemplo passo-a-passo
104 1 Gabriel Winckler
105 1 Gabriel Winckler
Segue um exemplo completo utilizando o software "Orca". As opções específicas de cada aplicação estão a seguir.
106 1 Gabriel Winckler
107 2 Gabriel Winckler
h3. Prepare os arquivos de entrada 
108 1 Gabriel Winckler
109 1 Gabriel Winckler
Prepare os arquivos de entrada da aplicação. Nesse caso usaremos nome_do_caso.inp (arquivo do orca).
110 1 Gabriel Winckler
 
111 1 Gabriel Winckler
*IMPORTANTE: NÃO USE ESPAÇOS NOS NOMES*
112 1 Gabriel Winckler
113 1 Gabriel Winckler
caso_de_teste.inp
114 1 Gabriel Winckler
<pre>
115 1 Gabriel Winckler
! HF SVP
116 1 Gabriel Winckler
117 1 Gabriel Winckler
* xyz 0 1
118 1 Gabriel Winckler
  C 0.0 0.0 0.0
119 1 Gabriel Winckler
  O 0.0 0.0 1.13
120 1 Gabriel Winckler
*
121 1 Gabriel Winckler
</pre>
122 1 Gabriel Winckler
123 1 Gabriel Winckler
h3. Prepare o arquivo .go 
124 1 Gabriel Winckler
125 1 Gabriel Winckler
caso_de_teste.go
126 1 Gabriel Winckler
<pre><code class="bash">
127 1 Gabriel Winckler
APP=orca
128 1 Gabriel Winckler
QUEUE=short
129 1 Gabriel Winckler
</code></pre>
130 1 Gabriel Winckler
131 1 Gabriel Winckler
h3. Crie um proxy
132 1 Gabriel Winckler
<pre>
133 1 Gabriel Winckler
myproxy-logon
134 1 Gabriel Winckler
</pre>
135 1 Gabriel Winckler
136 1 Gabriel Winckler
h3. Submeta a simulação
137 1 Gabriel Winckler
<pre>
138 1 Gabriel Winckler
go caso_de_teste.go
139 1 Gabriel Winckler
</pre>
140 1 Gabriel Winckler
141 1 Gabriel Winckler
h3. Verificando o status
142 1 Gabriel Winckler
143 1 Gabriel Winckler
Você pode verificar o status com o comando: @condor_q $USER -globus@.
144 1 Gabriel Winckler
145 1 Gabriel Winckler
h3. Cancelando a execução
146 1 Gabriel Winckler
147 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.