Cluster: mudanças entre as edições
Sem resumo de edição |
Sem resumo de edição |
||
Linha 1: | Linha 1: | ||
== | = 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 === | |||
<pre> | |||
Slurm Workload Manager | |||
Site :https://slurm.schedmd.com/ | |||
</pre> | |||
=== Hardware dos nodes === | |||
<pre> | |||
CPU: x86_64 | |||
RAM: varia entre 4 GB - 16 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 | |||
</pre> | |||
=== Software nos nodes === | |||
<pre> | |||
OS: Debian 8 (Jessie) x86_64 | |||
Pacotes instalados: | |||
gcc | |||
docker | |||
</pre> | |||
== Como utilizar == | |||
=== Conectar-se ao cluster-slurm === | |||
O cluster é acessível através do server cluster-slurm. Para acessar o server via SSH, use: | |||
<pre> | |||
ssh usuario@cluster-slurm.if.ufrgs.br | |||
</pre> | |||
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: | |||
<pre> | |||
scp meu_executavel usuario@cluster-slurm.if.ufrgs.br:~/ | |||
</pre> | |||
Estando acessível pelo método 1 ou 2, o programa pode ser executado no Cluster através de um <strong>JOB</strong>. | |||
OBS: Caso você execute o programa sem submetê-lo como <strong>JOB</strong>, ele não será executado nos nodes, e sim apenas no próprio server (cluster-slurm), que possui capacidades bem limitadas de processamento. | |||
=== Criando 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: <code>job.sh</code> | |||
<pre> | |||
#!/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 | |||
</pre> | |||
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: short -> qos: qos_short -> limite de 2 semanas | ||
Linha 18: | Linha 91: | ||
Caso deseje rodar em | Caso deseje rodar em GPU, é necessário especificar a fila e pedir explicitamente a ''gereric resource'' gpu: | ||
<pre> | |||
#!/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 | |||
</pre> | |||
Para pedir alguma GPU específica, use um constraint adicionando a linha: | |||
<pre> | |||
#SBATCH --constraint="gtx970" | |||
</pre> | |||
Para submeter o job, execute o comando | Para submeter o job, execute o comando | ||
<pre> | |||
sbatch job.sh | |||
</pre> | |||
== Comandos úteis == | == Comandos úteis == |
Edição das 12h23min 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 - 16 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 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"