Tutorial - Cluster de Computadores
Tutorial Básico
1. Para usar o Cluter SSolarIII
Para usar o Cluster SSOLARIII é necessário preencher um formulário informando o objetivo principal do Programa Computacional que usará os recursos computacionais do cluster. Neste formulário você informará os nomes dos usuários, um responsável pelo projeto e as contas (logins) para terem acesso ao cluster.
2. Como usar o Cluster SSolarIII
Após a criação da conta, o usuário deve se conectar no nó master e submeter o job desejado a fila de jobs.
3. Quais os nomes dos computadores do Cluster SSolarIII
Nó master: ssolarIII.cat.cbpf.br – 152.84.201.2
Nós clientes: node1.ssolarIII;
node2.ssolarIII;
…
node15.ssolarIII.
4. Sistema de Gerenciamento de Fila Utilizado (job, wall time etc.)
O sistema de gerenciamento de fila utilizado no SSOLARIII é o Torque. Para usar este sistema o usuário submete uma tarefa à fila default; espera os recursos solicitados estarem disponíveis; o nó mestre envia a tarefa aos nós escravos que tem o recurso disponível; o gerenciador de tarefa retira a tarefa da fila; os processadores alocados executam a tarefa; e por último um arquivo com saída é gerado na área do usuário.
5. Definições e conceitos importantes para usar o Cluster SSOLARIII
- Tarefa (Task)
– Uma tarefa é tipicamente um conjunto de instruções de um programa que pode ser executada em computador
– Uma tarefa pode ser um programa em série (processo único) ou um programa em paralelo com múltiplos processos - Tarefa Paralela (Parallel Task)
– Uma tarefa que pode ser executada por vários processadores - Job: coleção de tarefas iniciada por um usuário
- Fila (Queue)
– Um enfileiramento e agendamento de jobs
– Uma fila contém jobs pendentes, em execução
– Jobs completados são removidos da fila - Nó (Node): único nó computacional, com um ou mais processadores (CPUs)
- Execução Serial
– Execução de um programa sequencialmente, um comando por vez
– Tarefas paralelas terão seções do programa paralelo que serão executados serialmente - Execução Paralela
– Execução de um programa com mais de uma tarefa e cada tarefa sendo executada por diferentes processadores ao mesmo
6. Como se conectar no nó máster usando ssh
Acesse o nó master (ssolarIII.cat.cbpf.br) via protocolo SSH, na porta 13900 (conexões internas ao CBPF podem acessar a porta 22). Em máquinas Unix-Like usa-se o comando “ssh” do pacote openssh. Em máquinas Windows pode-se usar o programa putty.
$ssh -p 13900 "USER"@ssolarIII.cat.cbpf.br <- "USER" deve ser substitui do pelo login do usuário e NÃO deve ser usado as aspas
7. Como transferir um arquivo para o SSolarIII.
Partindo de um host Linux:
Enviando:
$scp -P 13900 "meu_arquivo""USER"@ssolarIII.cat.cbpf.br:/home/"USER"/direto rio_destino
Resgatando:
$scp -P 13900"USER"@ssolarIII.cat.cbpf.br:/home/"USER"/subdiretorio/"meu_ar quivo"/diretorio_local/
Mais informações, consulte "man scp"
Partindo de um host Windows:
Use o programa WinSCP.
Não é permitida comunicações originárias no SSolarIII para fora da rede, exceto para os nodes.
As solicitações (comandos) de envio ou resgate de arquivos devem obrigatoriamente partirem do host do usuário.
8. Como criar, editar e compilar um programa em C/C++ ou Fortran com o gcc44, f90, gfortran.
$vim my_source.c $gcc my_source.c -o neutrinos_mass.bin
9. Como enviar um job para o gerenciador de filas
Voce deve ajustar o script de submissão script_en.pbs (veja o aqui) modificando as partes vermelhas para o seu programa, conforme indicado abaixo:
$cp -v script_en.pbs script_neutrino.pbs
$vi script_neutrino.pbs
“... #PBS -N name_identification ... _OUT=output_file.out
echo -e "\nJob started at `date` in `hosqtname`" >> $_OUT ./executable_name 2>&1 >> $_OUT echo -e "Job ended at `date`\n" >> $_OUT ...”
$qsub script_neutrino.pbs
10. Onde encontrar os scripts default script_pt.pbs e script_en.pbs
Os scripts sao colocados na área “home” no momento da criação da conta. E em qualquer momento o usuário pode conseguir uma cópia dos mesmos em “/etc/skel”.
$cp -v /etc/skel/script* /home/$USER
11. Como saber se seu job está sendo executado
Use o comando qstat para listar os jobs na fila default.
$qstat
O comando qstat informa o status "R" (running) para os jobs em execução. Os jobs em espera na fila apresentam o status "Q" (queue), e entrarão em execução automaticamente a medida que os jobs em "running" finalizarem suas tarefas.
Veja mais detalhes na Politica de Uso do SSOLARIII. (LINK)
12. Como saber qual o nó escravo esta executando o seu job?
Use o comando tracejob com o número que identifica o job (#job_id). Para saber o #job_id use o comando qstat.
$tracejob #job_id
13. Como “deletar” um job da fila de execução.
Para remover um job da execução é necessário saber o número que identifca o job (#job_id). Use o comando qstat para saber o #job_id. Para remover o job use o comando qdel.
$qdel #job_id
14. Como cancelar um job que foi enviado para a fila de execução.
Veja item 12.
15. Posso acessar os nós clientes do SSOLARIII
O login nos nós clientes não é permitido. Somente o sistema de gerenciamento de filas pode acessar os nós clientes.
16. Quais softwares estão disponíveis?
Veja aqui.
17. Posso instalar softwares adicionais?
Sim. Softwares individuais podem ser instalado na área “home” do usuário, respeitando as definições da política de uso do sistema. (veja link no ítem 17)
18. Qual Política de uso do Cluster SSOLARIII
Veja Aqui.