O E-HPC oferece suporte a três agendadores de jobs: PBS, SLURM e SGE. Este guia orienta você na conexão com um cluster e no envio de um job usando a CLI para cada agendador.
Pré-requisitos
Antes de começar, verifique se você possui:
Uma conta de usuário do cluster. Consulte Criar um usuário. Este guia utiliza o nome de usuário
testusercom permissões sudo.-
Seu programa de execução e arquivos de dados devidamente organizados. Este guia usa os seguintes caminhos:
$HOME/test.py # execution program $HOME/test.data # job data file
Não envie jobs como usuário root. O uso de um usuário sem privilégios de root evita perda acidental de dados do cluster causada por erros no script do job.
Conectar-se ao cluster
Conecte-se usando o cliente E-HPC ou o console E-HPC. Após a conexão, o login em /home/testuser ocorre automaticamente.
Opção 1: Cliente E-HPC (apenas clusters PBS)
Certifique-se de ter baixado e instalado o cliente E-HPC e configurado o ambiente necessário. Consulte Implantar um ambiente para um cliente E-HPC.
Inicie o cliente E-HPC e faça login.
No painel de navegação à esquerda, clique em Session Management.
No canto superior direito da página Session Management, clique em terminal.
Opção 2: Console E-HPC
Faça login no console E-HPC.
No canto superior esquerdo da barra de navegação superior, selecione uma região.
No painel de navegação à esquerda, clique em Cluster.
Localize seu cluster e clique em Connect.
No painel Connect, insira seu nome de usuário e senha e clique em Connect via SSH.
Enviar um job
Em cenários de Auto Scaling, o E-HPC dimensiona os recursos com base na contagem de vCPUs, não na memória. Sempre especifique o número de vCPUs ao enviar um job.
A tabela a seguir resume o comando de envio para cada agendador:
|
Agendador |
Comando de envio |
|
PBS |
|
|
SLURM |
|
|
SGE |
|
Selecione a seção correspondente ao seu agendador.
PBS
Este script solicita 4 vCPUs e 1 GB de memória, executa por até 10 minutos e grava toda a saída em test_pbs.log.
-
Crie o script do job.
vim jobscript.pbs -
Cole o seguinte conteúdo no arquivo.
Linha
Descrição
(1)
Recursos de computação: 4 vCPUs e 1 GB de memória
(2)
Limite de tempo de execução: o job é interrompido se exceder 10 minutos
(3)
Arquivo de saída stdout
(4)
Redireciona stderr para o mesmo arquivo do stdout
#!/bin/sh # PBS -l ncpus=4,mem=1gb # (1) # PBS -l walltime=00:10:00 # (2) # PBS -o test_pbs.log # (3) # PBS -j oe # (4) cd $HOME test.py -i test.dataPara obter a referência completa da CLI do PBS, consulte o site oficial do PBS.
-
Envie o job.
qsub jobscript.pbs
SLURM
Este script executa uma única tarefa em um nó, utilizando 1 vCPU e 1024 MB de memória, com limite de tempo de 10 minutos. A saída é gravada em test_slurm.log.
-
Crie o script do job.
vim jobscript.slurm -
Cole o seguinte conteúdo no arquivo.
Linha
Descrição
(1)
Nome do job exibido na saída do
squeue(2)
Arquivo de saída stdout
(3)
Quantidade de nós a serem alocados
(4)
Número de tarefas a executar
(5)
vCPUs por tarefa
(6)
Limite de tempo: o job é interrompido se ultrapassar 10 minutos
(7)
Memória alocada por vCPU (MB)
#!/bin/sh # SBATCH --job-name=slurm-quickstart # (1) # SBATCH --output=test_slurm.log # (2) # SBATCH --nodes=1 # (3) # SBATCH --ntasks=1 # (4) # SBATCH --cpus-per-task=1 # (5) # SBATCH --time=00:10:00 # (6) # SBATCH --mem-per-cpu=1024 # (7) cd $HOME test.py test.dataPara acessar a referência completa da CLI do SLURM, visite o site oficial do SLURM.
-
Envie o job.
sbatch jobscript.slurm
SGE
Este script executa o job no diretório de trabalho atual, usando 2 vCPUs e 1 GB de memória, e grava os logs em /home/testuser.
Durante o Auto Scaling, o E-HPC seleciona tipos de instância ECS com base na contagem de vCPUs. Utilize -pe smp para especificar a quantidade necessária de vCPUs; a omissão dessa diretiva impede a seleção correta da instância.
-
Crie o script do job.
vim jobscript.sh -
Cole o seguinte conteúdo no arquivo.
Linha
Descrição
(1)
Define o diretório de trabalho como o diretório atual
(2)
Nome do job
(3)
Fila de destino para envio
(4)
Quantidade de vCPUs necessárias (usada para seleção de instância no Auto Scaling)
(5)
Memória necessária: 1 GB
(6)
Caminho do log stdout
(7)
Caminho do log stderr
#!/bin/bash #$ -cwd # (1) #$ -N test1 # (2) #$ -q all.q # (3) #$ -pe smp 2 # (4) #$ -l vf=1g # (5) #$ -o /home/testuser # (6) #$ -e /home/testuser # (7) cd $HOME test.py test.dataPara consultar a referência completa da CLI do SGE, acesse o site oficial do SGE.
-
Envie o job.
qsub -V jobscript.sh