Voltar para Feynman

Filas/Utilização

No cluster Feynman está disponível a versão de Intel MPI 5. Para utilizar essa versão deve-se executar:

source /home/sw/masternode/intel/2015/install/composerxe/bin/compilervars.sh intel64
source /home/sw/masternode/intel/2015/install/mpi/impi/5.1.2.150/bin64/mpivars.sh

Filas de processamento definidas

Os nodes possuem 2 processadores Intel Xeon E5620. Dessa forma, cada node possui 2 (processadores )* 4 (núcleo por processadores) *2 (threads por núcleo) =  16. Porém, a utilização dessas threads em processo puramento CPU-bond não é vantajosa. O usuário pode escolher em um ppn com o número de cores máximo de 16.

A submissão de jobs para o nós de processamento é realizado através de filas de processamento. Na tabela abaixo contém as filas que estão definidas no momento:

Fila descrição/uso # de cores jobs por usuário tempo máximo (walltime) nós disponíveis -l nodes
par144RAM  para jobs que precisem de até 144 GB de RAM 16 1 2 dias 1
par72RAM para jobs que precisem de até 72 GB de RAM 16 1 2 dias 1
par64 para jobs que precisem de até 32 GB de RAM e até 64 cores 64 1 2 dias 7 (compartilhado com a par32)
par32 para jobs que precisem de até 32 GB de RAM e até 32 cores 32 1 4 dias 7 (compartilhado com a par64)
gpu para jobs utilizaram as duas telas Nvidia C2050 16 1 1 dia 1
par16 para jobs que precisem de até 32 GB de RAM e até 16 cores em um node 16 1 4 dias 1

Filas de processamento definidas

A submissão de jobs para o nós de processamento é realizado através de filas de processamento. A seguir apresenta-se as filas que estão definidas no momento:

  • Para o envio de jobs , deve-se criar um arquivo de submissão (por exemplo exemplo 1.pbs) e usar o comando qsub (por exemplo qsub exemplo1.pbs)
  • Cada usuário poderá ter no máximo 2 jobs na mesma fila (um executando e outro esperando a execução ou dois jobs esperando execução)

Exemplos de arquivos para envio de jobs

  • envio para a fila par32 (permite ate 32 cores em máquinas com 32 GB de RAM)

#!/bin/bash
#PBS -M usuario@ifi.unicamp.br
### Mandar email no inicio e fim 
#PBS -m abe
### Name do processo
#PBS -N par32a
### Arquivos de saida
#PBS -e par32a.err
#PBS -o par32a.out
### Definindo a fila e o número de processadores 
## no caso, estamos solicitando para rodar na fila par32
## e solicitando 4 nodes e 8 cores em cada um, totalizando 8 cores
#PBS -q par32
#PBS -l nodes=4:ppn=8
source /home/sw/masternode/intel/2015/install/composerxe/bin/compilervars.sh intel64
source /home/sw/masternode/intel/2015/install/mpi/impi/5.1.2.150/bin64/mpivars.sh
export I_MPI_HYDRA_BOOTSTRAP=rsh
export I_MPI_HYDRA_BOOTSTRAP_EXEC=/opt/pbs/bin/pbs_tmrsh
export I_MPI_DEVICE=rdssm

cd diretorio-aonde-esta-o-comando-executavel
mpirun -n 32 ./comando-executavel
  • envio para a fila par64 (permite ate 64 cores em máquinas com 32 GB de RAM)

#!/bin/bash
#PBS -M usuario@ifi.unicamp.br
### Mandar email no inicio e fim 
#PBS -m abe
### Name do processo
#PBS -N par64a
### Arquivos de saida
#PBS -e par64a.err
#PBS -o par64a.out
### Definindo a fila e o número de processadores 
## no caso, estamos solicitando para rodar na fila par64 
## e utilizando 4 nodes e 16 cores em cada um, totalizando 48 cores
#PBS -q par64
#PBS -l nodes=4:ppn=16
source /home/sw/masternode/intel/2015/install/composerxe/bin/compilervars.sh intel64
source /home/sw/masternode/intel/2015/install/mpi/impi/5.1.2.150/bin64/mpivars.sh
export I_MPI_HYDRA_BOOTSTRAP=rsh
export I_MPI_HYDRA_BOOTSTRAP_EXEC=/opt/pbs/bin/pbs_tmrsh
export I_MPI_DEVICE=rdssm

cd diretorio-aonde-esta-o-comando-executavel
mpirun -n 64 ./comando-executavel
  • envio para a fila par72RAM (permite ate 16 cores em máquina com 72 GB de RAM)

#!/bin/bash
#PBS -M usuario@ifi.unicamp.br
### Mandar email no inicio e fim 
#PBS -m abe### Name do processo
#PBS -N par72RAM
### Arquivos de saida
#PBS -e par72RAM.err
#PBS -o par72RAM.out
### Definindo a fila e o número de processadores 
## no caso, estamos solicitando para rodar na fila par72RAM
## utilizando 1 nodes e 8 cores 
#PBS -q par72RAM
#PBS -l nodes=1:ppn=8
source /home/sw/masternode/intel/2015/install/composerxe/bin/compilervars.sh intel64
source /home/sw/masternode/intel/2015/install/mpi/impi/5.1.2.150/bin64/mpivars.sh
export I_MPI_HYDRA_BOOTSTRAP=rsh
export I_MPI_HYDRA_BOOTSTRAP_EXEC=/opt/pbs/bin/pbs_tmrsh
export I_MPI_DEVICE=rdssm

cd diretorio-aonde-esta-o-comando-executavel
mpirun -n 16 ./comando-executavel
  • envio para a fila par144RAM (permite ate 16 cores em máquina com 144 GB de RAM)

#!/bin/bash
#PBS -M usuario@ifi.unicamp.br
### Mandar email no inicio e fim 
#PBS -m abe
### Name do processo
#PBS -N par144RAM
### Arquivos de saida
#PBS -e par144RAM.err
#PBS -o par144RAM.out
### Definindo a fila e o número de processadores 
## no caso, estamos solicitando para rodar na fila par144RAM
## utilizando 1 nodes e 16 cores 
#PBS -q par144RAM
#PBS -l nodes=1:ppn=16
source /home/sw/masternode/intel/2015/install/composerxe/bin/compilervars.sh intel64
source /home/sw/masternode/intel/2015/install/mpi/impi/5.1.2.150/bin64/mpivars.sh
export I_MPI_HYDRA_BOOTSTRAP=rsh
export I_MPI_HYDRA_BOOTSTRAP_EXEC=/opt/pbs/bin/pbs_tmrsh
export I_MPI_DEVICE=rdssm

cd diretorio-aonde-esta-o-comando-executavel
mpirun -n 16  ./comando-executavel

 

  • Comandos básicos:
    • qsub – para submissao de jobs, por exemplo
      • qsub exemplo1.pbs
    • qdel – para remocao de jobs das filas, por exemplo
      • qdel jobid: remove o job jojid da fila
    • qstat – exibe o estado de filas e jobs, por exemplo
      • qstat -q: lista todas as filas do sistema
      • qstat -Q: lista os “limites” de todas as filas do sistema
      • qstat -a: lista todos os jobs
      • qstat -au userid: lista todos os jobs de determinado usuário
      • qstat -r: lista todos os jobs em execução
      • qstat -f jobid: lista toda s informação sobre determinado job