Mudanças entre as edições de "Cluster"
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
Índice
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"