FaqSuporte » History » Version 1

Gabriel Winckler, 09 Feb 2012 15:43

1 1 Gabriel Winckler
{{toc}}
2 1 Gabriel Winckler
3 1 Gabriel Winckler
h1. Acesso
4 1 Gabriel Winckler
5 1 Gabriel Winckler
h2. O que acontece com o job caso o certificado expire antes do final da execução?
6 1 Gabriel Winckler
7 1 Gabriel Winckler
Caso o proxy expire, o sistema não vai conseguir atualizar a informação do andamento do job, nem copiar os arquivos de saída.
8 1 Gabriel Winckler
O job entrará em H (held), todavia ele não estará perdido.
9 1 Gabriel Winckler
Nesse caso deve-se abrir um novo proxy (myproxy-logon) e liberar o job (condor_release JOBID).
10 1 Gabriel Winckler
11 1 Gabriel Winckler
Preventivamente é possível solicitar um proxy maior que o padrão (12 horas) (com o parâmetro -t <horas>).
12 1 Gabriel Winckler
13 1 Gabriel Winckler
h2. Sou coordenador de grupo de pesquisa, como faço para dar acesso ao GridUNESP a um novo membro do grupo?
14 1 Gabriel Winckler
15 1 Gabriel Winckler
O primeiro passo é cadastrar o projeto, caso ele ainda não exista. Para tal deve ser preenchido o "Formulário de Submissão de Projeto Científico":http://unesp.br/gridunesp/conteudo.php?conteudo=1049 e enviado para o e-mail grid [at] ncc.unesp.br.
16 1 Gabriel Winckler
17 1 Gabriel Winckler
Uma vez que o projeto tenha sido cadastrado, então os usuários poderão utilizar o "formulário de registro":https://ncc.unesp.br/registration/ para requerer acesso ao GridUNESP. O acesso do usuário só estará liberado depois que o coordenador do projeto confirmar que aquele usuário pertence ao projeto em questão.
18 1 Gabriel Winckler
19 1 Gabriel Winckler
h2. Esqueci minha senha de acesso ao !GridUNESP, como devo proceder para recuperá-la?
20 1 Gabriel Winckler
21 1 Gabriel Winckler
Deve ser enviado um email para a lista de suporte: support [at] ncc.unesp.br. Assim que a requisição for recebida pela equipe de suporte, uma nova senha é gerada e enviada diretamente para o email do solicitante. A senha é temporária, e deve ser alterada logo no primeiro acesso. O procedimento para troca de senha pode ser encontrado em: [[TrocarSenha]].
22 1 Gabriel Winckler
23 1 Gabriel Winckler
h2. É possível acessar o GridUNESP do exterior (fora do Brasil)?
24 1 Gabriel Winckler
25 1 Gabriel Winckler
Nos não limitamos os acessos. Você pode acessar o GridUNESP de qualquer lugar.
26 1 Gabriel Winckler
27 1 Gabriel Winckler
h1. Compilação de Jobs.
28 1 Gabriel Winckler
29 1 Gabriel Winckler
h2. Preciso compilar meu job novamente na máquina do grid, ou apenas copiar minha versão já compilada?
30 1 Gabriel Winckler
31 1 Gabriel Winckler
Você não precisa recompilar se esse programa for da mesma arquitetura (linux 64bit - amd64 ou em64t) e ele não depender de bibliotecas dinâmicas "incomuns" no sistema.
32 1 Gabriel Winckler
33 1 Gabriel Winckler
Uma sugestão é a utilização do comando ldd, que pode ser utilizado para verificar as bibliotecas utilizadas pelo job compilado.
34 1 Gabriel Winckler
35 1 Gabriel Winckler
h1. Submissão de Jobs
36 1 Gabriel Winckler
37 1 Gabriel Winckler
h2. Eu preciso usar o mpirun.lam para rodar meus jobs. Antes de submeter devo executar o lamboot para requisitar os processadores. Porém, nem o mpirun.lam nem o lam-runtime estão instalados.
38 1 Gabriel Winckler
39 1 Gabriel Winckler
O GridUNESP não utiliza o lam-mpi e sim o Intel mpi. Se você submeter o binário diretamente, não precisa se preocupar em chamar qualquer programa mpirun, mpiexec ou lamboot, o sistema faz isso automaticamente para você.
40 1 Gabriel Winckler
41 1 Gabriel Winckler
O que você talvez precise é recompilar o seu programa para ele linkar com as bibliotecas corretas. No servidor Access existes essas ferramentas.
42 1 Gabriel Winckler
43 1 Gabriel Winckler
44 1 Gabriel Winckler
h1. Estrutura do !GridUNESP
45 1 Gabriel Winckler
46 1 Gabriel Winckler
h2. Dentro do cluster cada nó tem um disco? 
47 1 Gabriel Winckler
48 1 Gabriel Winckler
Sim, tem um disco para scratch e arquivos temporários. Ele está montado em /tmp e possui 73GB.
49 1 Gabriel Winckler
50 1 Gabriel Winckler
h2. Cada nó consiste de quantos processadores e quantos núcleos cada um? 
51 1 Gabriel Winckler
52 1 Gabriel Winckler
Cada nó tem 2 processadores de 4 cores, um total de 8 cores por nó.
53 1 Gabriel Winckler
54 1 Gabriel Winckler
h2. Preciso usar o pacote Gromacs em meus experimentos. Esse pacote está instalado?
55 1 Gabriel Winckler
56 1 Gabriel Winckler
Sim, temos o Gromacs compilado para precisão simples e dupla (_d), serial e MPI (_mpi).
57 1 Gabriel Winckler
58 1 Gabriel Winckler
h2. Qual o escalonador do cluster e como funcionam as filas?
59 1 Gabriel Winckler
60 1 Gabriel Winckler
Grids computacionais, de forma pouco elaborada, são uma coleção de recursos, incluindo clusters. Dessa forma, ao utilizar um grid, você está utilizando clusters, mas não está interagindo diretamente com eles. Isso é feito através de um middleware.
61 1 Gabriel Winckler
62 1 Gabriel Winckler
Entrando em detalhes, o nosso cluster utiliza como escalonador o Torque + MAUI, que é uma versão livre do PBS. Assim, dentro do nosso cluster, temos o ambiente que você está acostumado, com qsub, qstat, pbsnodes...
63 1 Gabriel Winckler
64 1 Gabriel Winckler
Porém, você como usuário, não acessa isso diretamente, apenas através do middleware de grid, que utiliza a "linguagem" Globus ([[http://www.globus.org/]]). O condor que você tem acesso na access é uma forma de interface de usuário. Você poderia escrever arquivos de submissão em xml e enviar diretamente, mas isso é muito pouco prático.
65 1 Gabriel Winckler
66 1 Gabriel Winckler
O nosso cluster implementa 3 filas, limitadas por tempo máximo de excução: short (até 3h), medium (até 24h) e long (sem limite). Em qualquer uma você pode alocar processos paralelos.
67 1 Gabriel Winckler
68 1 Gabriel Winckler
69 1 Gabriel Winckler
h2. O tamanho dos arquivos temporários, gerado pelo meu job, varia de cálculo para cálculo. Não é para passar muito de 8 GB. O que vai acontecer se encher o disco? O processo é cancelado automaticamente? 
70 1 Gabriel Winckler
71 1 Gabriel Winckler
Não podemos afirmar com certeza o que acontecerá, depende do programa em questão. Acreditamos que o ponto chave é: o programa trata esse tipo de problema? Caso a resposta seja negativa, ele simplesmente dará uma falha de segmentação e o shell script copiará os dados parciais (se houverem) e apagará o resto.
72 1 Gabriel Winckler
73 1 Gabriel Winckler
Se o processo precisar de mais de 8GB por rodada, faltará disco. Será necessário especificar no seu arquivo de submissão quanto de espaço você precisa ou, ao invés de utilizar o /tmp, mudar o seu script para escrever no /store. A segunda solução é a que consideramos ideal para casos grandes do GAMESS, que gera arquivos de 60GB, 80GB cada rodada.
74 1 Gabriel Winckler
75 1 Gabriel Winckler
O /store é um file system compartilhado. Se apenas um cliente escrever nele, ele será mais rápido que o /tmp (~ 10x). Porém com escritas paralelas (de vários nós) ele tende a ficar mais lento. Porém acreditamos ser uma alternativa razoável.
76 1 Gabriel Winckler
77 1 Gabriel Winckler
h1. Jobs Bloqueados
78 1 Gabriel Winckler
79 1 Gabriel Winckler
h2. Estou tentando submeter meus jobs no Grid. Eles começam a rodar e após aproximadamente 10 minutos eles caem e o arquivo de log registra a mensagem apresentada mais abaixo. Como posso resolver isso?
80 1 Gabriel Winckler
81 1 Gabriel Winckler
<pre>
82 1 Gabriel Winckler
012 (2158.000.000) 09/16 15:55:13 Job was held.
83 1 Gabriel Winckler
Globus error 155: the job manager could not stage out a file
84 1 Gabriel Winckler
Code 2 Subcode 155
85 1 Gabriel Winckler
</pre> 
86 1 Gabriel Winckler
87 1 Gabriel Winckler
O problema é que a execução está falhando, por qualquer razão, por isso os arquivos de saída não estão sendo criados.
88 1 Gabriel Winckler
89 1 Gabriel Winckler
Como eles não foram criados, o sistema de transferência do grid não consegue copiá-los, resultando no erro apresentado ao usuário.
90 1 Gabriel Winckler
91 1 Gabriel Winckler
A sugestão é rodar uma primeira vez sem especificar nenhum arquivo de saída (comentar a linha transfer_output_files). Depois da execução, será possível verificar no output e no error a saída do programa, permitindo o diagnóstico do erro.
92 1 Gabriel Winckler
93 1 Gabriel Winckler
h1. Medição de Tempo de Execução
94 1 Gabriel Winckler
95 1 Gabriel Winckler
h2. A fila de jobs é quase sempre formada por um único usuário, que chega a ter milhares submetidos. Sempre que submeto um job, ele entra na fila atrás desses milhares. Pergunto quanto tempo o meu job ficará aguardando nessa fila, antes de começar a rodar?
96 1 Gabriel Winckler
97 1 Gabriel Winckler
A fila que você observa na access (com o comando condor_q) não é uma "fila" entre usuários. Explicando melhor, ela só mostra uma fila intermediária de submissão, onde o único limite é a submissão de até 512 processos *por usuário*.
98 1 Gabriel Winckler
99 1 Gabriel Winckler
Assim, essa fila não tem nenhuma correspondência com a fila de execução do grid. Assim que o seu job é enviado, ele é imediatamente encaminhado para o grid (caso você tenha menos de 100 processos).
100 1 Gabriel Winckler
101 1 Gabriel Winckler
No cluster principal existe uma fila, mas que privilegia usuários do GridUNESP e usuários que utilizaram pouco recurso até o momento (um "fair share" com memória de 4 semanas).
102 1 Gabriel Winckler
103 1 Gabriel Winckler
É possível que o seu job esteja em IDLE por alguma outra razão.
104 1 Gabriel Winckler
105 1 Gabriel Winckler
h2. Acabei de ver que no e-mail enviado pelo sistema (ou no .go.log) consta o tempo real (wallclock). Gostaria de saber o tempo de CPU.
106 1 Gabriel Winckler
107 1 Gabriel Winckler
O email mostra como o tempo gasto de execução zerado pois ele lista o quanto de recurso ele utilizou na máquina access, não no cluster. Sabe-se que essa informação é de pouco interesse ao usuário.
108 1 Gabriel Winckler
109 1 Gabriel Winckler
Caso você tenha utilizado o sistema de submissão simplificado (GO), os tempos de início e fim da simulação estão no arquivo .go.out.
110 1 Gabriel Winckler
111 1 Gabriel Winckler
h1. Outras Questões