Recent Changes - Search:

Documentação

edit SideBar

Como Utilizar o Cluster

Acessando o Cluster

O sistema operacional do Cluster do LDFC é o Suse Enterprise Linux (SEL) 11.1. Para acessar remotamente o cluster, você irá precisar de um cliente ssh ou VNC. O método via ssh é preferido por ser mais rápido.

Acessando via SSH

SSH significa Secure SHel, ou shell seguro em tradução livre. Shell é um software que provê uma interface para que usuários de um sistema operacional possam acessar serviços de um kernel [1]. Basicamente, é uma interface com o sistema operacional, a partir de onde você pode emitir comandos e visualizar os resultados. Também é comumente chamado de terminal. O ssh, provê um shell remoto seguro utilizando o protocolo de criptografia openssl. O que você precisa saber é somente que, através do ssh, você tem uma conexão criptografada com o servidor com o qual está conectando.

Existem vários programas para acesso via SSH. O recomendado aqui será a dupla Putty/WinSCP.

Acessando via VNC

Em construção

Enviando Jobs para executar no Cluster

Jobs são tarefas a serem executadas no Cluster - para se calcular algo no cluster, deve haver uma certa ordem, do contrário dois programas de usuários diferentes podem estar em execução ao mesmo tempo, o que vai causar um tempo maior para finalizar o cálculo dos dois programas - tempo que poderia ser minimizado casso cada um dos programas estivesse executando sozinho. Por isso iremos utilizar um sistema de gerenciamento de jobs no cluster. Este sistema é o PBS - Portable Batch System. O sistema irá alocar e gerenciar os trabalhos nos nós do cluster. Por exemplo, suponha que um usuário precise de 8 núcleos e outro usuário ao mesmo tempo precise de 10. Cada nó do cluster possui 12 núcleos, uma solução seria cada um utilizar um nó, mas haveria um desperdício de nós, logo o PBS irá alocar 8 núcleos de um nó para um e os 4 núcleos restantes mais 6 núcleos de outro nó para o outro usuário. Caso algum outro usuário precise rodar nesse mesmo tempo um programa em 2 núcleos, o sistema alocará 2 núcleos do nó que está usando somente 6.

Para enviar seus jobs, a maneira mais simples é enviar direto via linha de comando. Entretanto, para mais opões, o ideal é a criação de um script contendo algumas informações adicionais.

OBS: ao usar o PBS, não é necessário logar nos nós de cálculo (n001-n020), você faz tudo do nó de administração.

Enviando via script

A melhor maneira de enviar jobs para o PBS é utilizar um shell script. Abaixo segue um exemplo básico de script, faça o download no cluster acessando o mesmo e executando o seguinte comando:

wget www.ldfc.ufc.br/job.pbs

Quando for utilizar, copie o script para a pasta onde está o executável que irá rodar. Por exemplo, supondo que o executável que deseja executar está na pasta Projects/X, vá para a paste e digite:

cp ~/job.pbs .

Em seguida edite o script e altere a linha logo após

  • #Binario a ser executado

para o nome do executável que deseja.

Linhas começando com '#' são comentários, com exceção das linhas:

  • #!/bin/bash

que diz qual o interpretador do script, apenas deixe-a como está. e das linhas que começam com #PBS:

  • #PBS -N Teste

que setam as opções do PBS. Abaixo segue uma lista das principais opções (para todas as opções você pode consultar a manpage do qsub com o comando 'man qsub'):

  • -N nome_do_job : Dá um nome ao Job, útil quando precisar enviar vários jobs.
  • -m mail_events : Seta quais eventos devem ser avisados por email, por padrão somente é enviado email se um job for abortado. As opções são:
    • n : nenhum email é enviado
    • a : um email é enviado caso o job seja abortado pelo sistema
    • b : um email é enviado quando o job começa sua execução
    • e : um email é enviado quando um job termina sua execução
      • Você deve juntar as letras, por exemplo '#PBS -m abe' irá enviar um email quando o job inicia, outro quando termina e um em caso seja abortado.
  • -M mail1@domain.com,mail2@domain.com : seta os emails que receberão notificações do jobs, setadas com o comando anterior
    • exemplo:
      • #PBS -N meuJob
      • #PBS -m ae
      • #PBS -M meu_login@meu_email.com
    • o job meuJob enviará um email para 'meu_login@meu_email.com' caso o job seja cancelado e quando o job terminar sua execução
  • -e : saída de erro do job. Se não for setada, um arquivo NOME_DO_JOB.eXXX - ou STDIN.eXXX se o job não tiver nome, será criado - sendo XXX o número do job, gerado automaticamente. Neste arquivo ficará a saída de erro do executável.
    • exemplo: -e arquivo_de_saida_de_erro
  • -o : saída padrão do job. Se não for setada, um arquivo NOME_DO_JOB.oXXX - ou STDIN.oXXX se o job não tiver nome, será criado - sendo XXX o número de seu job, gerado automaticamente. Neste arquivo ficará a saída que o executável jogaria na tela.

Uma vez que você concluiu a edição do script, agora é só colocar o job na fila com o comando:

qsub job.pbs

Enviando diretamente via linha de comando

->qsub -- nome_do_executavel parametro_a parametro_b <enter>

Onde 'nome_do_executável' é o programa a ser enviado e 'parametro_a' e 'parametro_b' são eventuais parâmetros para o executável chamado.

Consultando jobs enviados

qstat

Com este comando você pode ver os jobs que enviou e o estado deles. Quando um job encerra, ele não aparece mais no qstat.

retorna a lista de jobs

[1] - http://en.wikipedia.org/wiki/Shell_%28computing%29

Edit - History - Print - Recent Changes - Search
Page last modified on April 24, 2013, at 04:28 PM