Cluster: mudanças entre as edições

De Instituto de Física - UFRGS
Ir para navegaçãoIr para pesquisar
Sem resumo de edição
Sem resumo de edição
Linha 48: Linha 48:
1. Já estar instalado
1. Já estar instalado


ou
OU


2. Ser copiado para sua home (pasta do seu usuário)
2. Ser copiado para sua home (pasta do seu usuário)

Edição das 12h27min de 24 de abril de 2017

Cluster Ada - Instituto de Física UFRGS

O Cluster está localizado no Instituto de Física da UFRGS, em Porto Alegre.

Infraestrutura

Software de gerenciamento

Slurm Workload Manager

Site :https://slurm.schedmd.com/

Hardware dos nodes

CPU: x86_64
RAM: varia entre 4 GB - 8 GB
GPU: alguns nodes possuem NVIDIA CUDA
Storage: storage em rede com quota de 50 GB por usuário, os nodes não possuem HD local 

Software nos nodes

OS: Debian 8 (Jessie) x86_64
Pacotes instalados:
 gcc
 docker

Como utilizar

Conectar-se ao cluster-slurm

O cluster é acessível através do server cluster-slurm. Para acessar o server via SSH, use:

ssh usuario@cluster-slurm.if.ufrgs.br

Caso você não tenha cadastro ou não é vinculado ao Instituto de Física, solicite o cadastro enviando um email para fisica-ti@ufrgs.br.

Utilizando softwares no Cluster

Para que seja possível executar um programa em um job no cluster, o programa deve:

1. Já estar instalado

OU

2. Ser copiado para sua home (pasta do seu usuário)

Ex:

scp meu_executavel usuario@cluster-slurm.if.ufrgs.br:~/

Estando acessível pelo método 1 ou 2, o programa pode ser executado no Cluster através de um JOB.

OBS: Caso você execute o programa sem submetê-lo como JOB, ele não será executado nos nodes, e sim apenas no próprio server (cluster-slurm), que possui capacidades bem limitadas de processamento.


Criando e executando um Job

O Slurm gerencia jobs, e cada job representa um programa ou tarefa sendo executado.

Para submeter um novo Job, deve-se criar um arquivo de script descrevendo os requisitos e características de execução do Job.

Formato do arquivo abaixo.

Ex: job.sh

#!/bin/bash 
#SBATCH -n 1 # Numero de CPU cores a serem alocados 
#SBATCH -N 1 # Numero de nodes a serem alocados
#SBATCH -t 0-00:05 # Tempo limite de execucao (D-HH:MM)
#SBATCH -p long # Particao (fila) a ser submetido
#SBATCH --qos qos_long # QOS 
  
# Comandos de execução do seu programa:
./a.out

Na opção --qos, deve-se colocar o nome da partição com o prefixo "qos_":

partição: short -> qos: qos_short -> limite de 2 semanas

partição: long -> qos: qos_long -> limite de 3 meses


Caso deseje rodar em GPU, é necessário especificar a fila e pedir explicitamente a gereric resource gpu:

#!/bin/bash 
#SBATCH -n 1 # Numero de CPU cores a serem alocados 
#SBATCH -N 1 # Numero de nodes a serem alocados
#SBATCH -t 0-00:05 # Tempo limite de execucao (D-HH:MM)
#SBATCH -p long # Particao (fila) a ser submetido
#SBATCH --qos qos_long # QOS 
#SBATCH --gres=gpu:1
  
# Comandos de execução do seu programa:
./a.out

Para pedir alguma GPU específica, use um constraint adicionando a linha:

#SBATCH --constraint="gtx970"

Para submeter o job, execute o comando

sbatch job.sh

Comandos úteis

  • Para listar os jobs:
 squeue
  • Para deletar um job:
 scancel
  • Para listar as partições disponíveis:
 sinfo
  • Para listar as gpus presentes nos nós:
 sinfo -o "%N %f"