Computação Distribuída com TORQUE Resource Manager - Parte 2

A intenção deste artigo, é fornecer uma visão geral para submissão e controle de trabalhos na estrutura do PBS/TORQUE.

[ Hits: 14.864 ]

Por: Juno Kim em 21/10/2013 | Blog: http://www.kim.eti.br


PBS TORQUE - Controle de filas



A intenção deste artigo, é fornecer uma visão geral para submissão de trabalhos na estrutura do PBS/TORQUE.

Este artigo é uma continuação da publicação anterior, disponível em:
Para o uso do ambiente de filas, vamos conhecer alguns comandos.

Você pode enviar um trabalho usando qsub com a seguinte sintaxe:

qsub [options] scriptfile

É obrigatório o uso de um arquivo de script, pois você não pode enviar arquivos binários diretamente para o PBS TORQUE. A estrutura básica do roteiro é mostrada abaixo:

#!/bin/bash
#$PBS Script options  # Optional PBS directives

shellscripts                 # Optional shell commands
application                  # Application itself

Opções do PBS

Como visto acima, as opções ("diretivas") podem ser especificadas no PBS TORQUE script usando # $ PBS. Por favor, note a diferença no arquivo jobscript:

 Diretiva      Interpretador Shell    Interpretador PBS

  #               Comentário             Comentário

  #PBS            Comentário             Diretiva

  #PBS            Comentário             Comentário


A tabela a seguir, apresenta um resumo de algumas diretivas comumente usadas no PBS TORQUE. Para mais informações, por favor, consulte o manual TORQUE.

------------------------------------------------------------------------------
 Diretiva    Exemplo                             Descrição

 N           #PBS N testjob           Nome do JOB usado no PBS TORQUE

 M           #PBS M user@domain       Envia um e-mail de notificação
 m           #PBS m e                 Envia um e-mail quando termina o JOB

 e           #PBS e                   Cria um arquivo de erro

 o           #PBS o ~/out             Redireciona a saída para $HOME/out

 q           #PBS q all.q             Especifica a fila exemplo: all.q

 d           #PBS d /home/testuser    Determina o diretório de trabalho

 l           #PBS l walltime=00:30:00 resource request, i.e. 30 minutes run time

 l           #PBS l nodes=2:ppn=2     request two CPUs on two nodes each
--------------------------------------------------------------------------------

Submetendo trabalhos

Agora, você pode enviar o seu roteiro de trabalho para o PBS TORQUE, usando o comando qsub. Embora as diretivas iniciais foram especificadas no arquivo de script, você pode adicionar mais opções como uma fila específica na linha de comando.

As filas disponíveis no cluster, podem ser mostradas executando qstat-q:

# qstat -q
  Queue        Memory  CPU Time   Walltime  Node  Run Que Lm  State
 ------------  ------  --------   --------  ----  --- --- --  -----
 default           --        --         --    --    0   0 --   E R
 special           --        --         --    --    0   0 --   E R
                                              --- ---
                                                    0   0
   
Em seguida, envie o seu trabalho, por exemplo, diretamente para a fila "special". Após o envio bem-sucedido, PBS TORQUE responde à identificação do trabalho com o JOB ID.

# qsub -q special testjob.sh
 95.master
   
   
Para exibir o status do(s) trabalho(s) executado(s), use o comando qstat. Note, enquanto qstat mostra todas as tarefas atualmente submetidas ao cluster.

É conveniente especificar o JOB ID do trabalho ou para restringir a saída usando o seu nome de usuário (por exemplo: testuser):

# qstat 95
 Job id                  Name           User        Time Use S Queue
 -----------------       -------------  ----------- ---- --- - -----
 95.master               testjob.sh     testuser           0 R special
   
  
# qstat -u testuser
 testuser:
                               Req'd   Elap
  
 Job ID       Username Queue    Jobname      SessID NDS   TSK Memory Time  S Time
------------  -------- -------- -----------  ------ ----- --- ------ ----- - -----
 93.master    testuse  batch    test2.sh     16452      1  --    --  01:00 C 01:41
 95.master    testuse  special  testjob.sh   17564      1  --    --  01:00 C 00:01
   
   

Saída de trabalhos

Durante a execução (seja ela bem sucedida ou não), a saída será colocada em seu diretório atual, anexado com o número do trabalho (JOB ID) que é atribuído pelo PBS TORQUE por padrão, não é um erro e sim arquivo de saída para cada trabalho.
  
 jobname.e#{JOBID}
 jobname.o#{JOBID}
  
  
Os arquivos de saída, em resumo, contém a saída de suas aplicações, mas quando existe algum erro, é importante analisar o mesmo.

Apagando trabalhos

Job em execução ou, na fila, pode ser facilmente eliminado usando <job-id> qdel. Note que você só pode excluir seus próprios JOBS.

Exemplo:

# qdel 95

Você pode olhar apenas o trabalho que é de interesse para você, dando o seu ID como um argumento para qstat. O R na quinta coluna indica que o trabalho está sendo executado.

A quinta coluna é a coluna de status existem, outros valores como você pode ver:
  • E :: o trabalho está de saída depois de ser executado.
  • H :: o trabalho está pausado. Isso significa que ele não será executado, até que que ele seja liberado.
  • Q :: o trabalho está na fila e será executado quando os recursos se tornam disponíveis.
  • R :: o trabalho está sendo executado.
  • T :: o trabalho está sendo transferido para um novo local. O que pode acontecer quando, por exemplo, se o nó em que o trabalho está sendo executado falhar.
  • W :: o trabalho está esperando. Você pode enviar trabalhos para rodar, por exemplo, depois de cinco horas

Comandos PBS abordados:
  • qsub :: enviar um trabalho para a execução.
  • qstat :: examinar o status de um trabalho (que já citamos o que este status pode ser).
  • qhold :: colocar um trabalho em espera.
  • qrls :: libera um trabalho.
  • qsig :: enviar um sinal para um trabalho.
  • qdel :: excluir um trabalho.

Referências: Submitting, Inspecting and Cancelling PBS Jobs

    Próxima página

Páginas do artigo
   1. PBS TORQUE - Controle de filas
   2. Exemplo de JOBS para o TORQUE
Outros artigos deste autor

A essência de ser Livre

Computação Distribuída com TORQUE Resource Manager

Configurando o proftpd com autenticação de usuário pelo passwd

Leitura recomendada

Apresentação visual do Basic Linux

O Ser e o Ter no Linux

Gerando arquivos PDF em modo texto

Fish - Um shell fácil de usar

Redmine no openSUSE - Gerenciamento de projetos e bugs (issue tracking)

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts