Uso do Ambiente

Este documento está dividido em duas partes:

  • A primeira parte, relacionada ao Uso do ambiente do Cluster da UFV mostra como realizar uma Conexão remota ao Cluster, como realizar a Transferência de arquivos e como fazer a Submissão de trabalhos ao Cluster.
  • A segunda parte está relacionada ao uso de módulos (Environment Modules). É mostrada a Utilização Básica de módulos e são mostrados Exemplos de utilização. Por fim, é mostrado como Carregar módulos no login.

1. Uso do ambiente do Cluster da UFV

O acesso remoto somente poderá ser feito por meio de equipamentos internos ao campus da UFV, de Florestal ou de Rio Paranaíba com a utilização do protocolo ssh (Secure Shell). Pode-se usar o programa PuTTY, tanto em ambiente Linux como em ambiente Windows. Como em Linux é mais comum o uso do comando de linha ssh, o programa PuTTY somente será apresentado para Windows.

1.1. Conexão remota ao Cluster

1.1.1. Em ambiente Linux (uso em Linha de comando)

Se o computador já possuir o ssh instalado, digite o comando a seguir e tecle [Enter]:

1
ssh -X usuario@jupiter.dti.ufv.br

onde, <usuario> deve ser substituído pelo identificador do seu usuário.

Após teclar [Enter] será solicitada a sua senha de acesso.

Se o computador não possuir o ssh, você deve instalá-lo para o acesso ao Cluster. Os exemplos a seguir mostram como instalar o ssh em alguns distribuições linux:

1.1.1.1. Debian e seus derivados (Ubuntu, etc)

1
sudo apt-get install openssh-client

1.1.1.2. OpenSUSE

1
2
su #para entrar como usuário root
zypper in openssh

1.1.2 Em ambiente Windows (PuTTY)

A conexão remota ao Cluster da UFV em ambiente Windows pode ser feita através do software PuTTY. PuTTY é um cliente SSH open source para a plataforma Windows. Através do PuTTY você conecta remotamente ao Cluster da UFV. Você pode fazer o download deste software aqui.
Execute o programa PuTTY, clicando no ícone do respectivo programa, e uma janela como a seguinte será aberta:

uso-do-ambiente-imagem-6

Na categoria à esquerda, no item Session:

1. No título Host Name (or IP address): digite jupiter.dti.ufv.br

2. No título Port: digite 22

3. No título Connection type: selecione SSH

4. Tecle Enter ou clique em Open

5. Será aberta uma janela do tipo terminal Linux para linha de comando com solicitação de seu nome de usuário (Login as) e a sua senha (Password). Nesta janela, digite o nome do seu usuário e a sua senha de acesso ao Cluster. Você pode salvar sua seção também, e carregá-la toda vez que você queira.

1.1.3 Em ambiente Windows para softwares gráficos (PuTTY + Xming)

Nós podemos rodar programas gráficos em máquinas Linux remotamente e mostrar eles em sua máquina Windows. Isso é feito ao rodar duas aplicações em conjunto na sua máquina Windows: Xming e PuTTY.

PuTTY é um cliente SSH open source para a plataforma Windows. Através do PuTTY você conecta remotamente ao Cluster da UFV. Você pode fazer o download deste software aqui.
Xming torna possível programas gráficos que rodam remotamente serem mostrados em seu desktop rodando Windows. Você pode fazer o download deste software aqui.

Após instalar, execute o programa Xming, clicando no ícone do respectivo programa. O icone “X” deve estar disponível na Barra de Tarefas do Windows, como na imagem abaixo. Ele deve ser iniciado antes de configurar a conexão SSH para o acesso ao cluster da UFV, caso você precise rodar algum programa gráfico.

uso-do-ambiente-imagem-7

Figura 1: Icone “X” na Barra de Tarefas do Windows

Execute o programa PuTTY, clicando no ícone do respectivo programa, e uma janela como a seguinte será aberta:

Na categoria à esquerda, no item Session:

6. No título Host Name (or IP address): digite jupiter.dti.ufv.br

7. No título Port: digite 22

8. No título Connection type: selecione SSH

Na categoria à esquerda, no item Connection → SSH → X11:

1. No título Enable X11 Forwarding: habilite o box

2. No título X Display location: digite localhost:0

3. No título The remote authentication: selecione MIT-Magic-Cookie-1

4. Volte para o item Session

5. Tecle Enter ou clique em Open

6. Será aberta uma janela do tipo terminal Linux para linha de comando com solicitação de seu nome de usuário (Login as) e a sua senha (Password). Nesta janela, digite o nome do seu usuário e a sua senha de acesso ao Cluster. Você pode salvar sua seção também, e carregá-la toda vez que você queira.

1.2. Transferência de arquivos

A transferência de arquivos de/para o Cluster pode ser feita de duas formas:

  • linha de comando: através do comando scp.

  • janela gráfica: através do protocolo fish e pelo gerenciador de arquivos Nautilus, em ambiente linux; e, PuTTY e WinSCP, para ambiente Windows.

1.2.1. Comando scp (linha de comando)

1.2.1.1. Utilização básica

1
scp arquivo_1 arquivo_2 ... arquivo_n destino

onde:

<arquivo_i> é a identificação do arquivo a ser copiado, especificando, se necessário, o caminho completo do arquivo (o caminho padrão é o diretório corrente)

<destino> é a identificação do local onde o arquivo será gravado, especificando, se necessário, o caminho (o caminho padrão é o diretório home do usuário)

1.2.1.2. Exemplos

Transferir arquivos e diretórios da máquina local para o Cluster

  • Transferindo o arquivo ‘Documentos/meu_arquivo.txt’ do seu computador pessoal, ou o computador que se está sendo utilizado no momento, para o Cluster. O arquivo ‘meu_arquivo.txt’ será gravado dento do diretório ‘/home/marta/dados/’ do usuário com o identificador marta.

    1
    
    scp Documentos/meu_arquivo.txt marta@jupiter.dti.ufv.br:/home/marta/dados/
  • Transferindo todo o diretório ‘Documentos/teste’ do seu computador pessoal, ou o computador que se está sendo utilizado no momento, para o Cluster. O diretório ‘teste’ será gravado dento do diretório ‘/home/marta/dados/’ do usuário com o identificador marta. Observe o flag ‘-r’ que é necessário para transferir um diretório.

    1
    
    scp -r Documentos/teste marta@jupiter.dti.ufv.br:/home/marta/dados/
  • Explicações adicionais:

    1
    
    scp arquivo_1 arquivo_2 ... arquivo_n usuario@computador:destino

    onde,

<usuario>

Nome de usuário no Cluster

<computador>

jupiter.dti.ufv.br

<arquivo_1> <arquivo_2>…<arquivo_n>

Identificação do(s) arquivo(s) a ser(em) copiado(s) especificando, se necessário, o caminho completo do arquivo (o caminho padrão é o diretório corrente)

<destino>

Identificação do local onde o arquivo será gravado, especificando o caminho completo, se necessário, (o caminho padrão é o diretório home do usuário)

Transferir arquivos e diretórios do Cluster para a máquina local

  • Transferindo um arquivo do Cluster para o computador que está sendo utilizado no momento. Neste caso, deseja-se transferir o arquivo /home/marta/dados/meu_arquivo.txt, que está gravado no Cluster, para o diretório Documentos/ da máquina local.

    1
    
    scp marta@jupiter.dti.ufv.br:/home/marta/dados/meu_arquivo.txt Documentos/
  • Transferindo um diretório do Cluster para o computador que está sendo utilizado no momento. Neste caso, deseja-se transferir o diretório /home/marta/dados/teste, que está gravado no Cluster, para o diretório Documentos/ da máquina local.  Observe o flag ‘-r’ que é necessário para transferir um diretório.

    1
    
    scp -r marta@jupiter.dti.ufv.br:/home/marta/dados/teste Documentos/
  • Explicações adicionais:

    1
    
    scp  usuario@computador:arquivo destino

    onde,

<usuario>

Nome de usuário no Cluster

<computador>

jupiter.dti.ufv.br

<arquivo>

Identificação do arquivo a ser copiado especificando, se necessário, o caminho completo do arquivo (o caminho padrão é o diretório home do usuário)

<destino>

Identificação do local onde o arquivo será gravado, especificando o caminho completo, se necessário, (o caminho padrão é o diretório corrente)

1.2.2. Protocolo fish (janela gráfica)

O navegador konqueror permite a utilização do protocolo fish. É o navegador padrão em sistemas Linux que utilizam interface gráfica KDE. Entretanto, pode ser instalado na maioria dos sistemas Linux.

1.2.2.1. Utilização Básica

No navegador konqueror digite na barra de endereços:

1
fish://usuario@computador

1.2.2.2. Exemplo – ambiente Linux

Ao digitar fish://luisa@jupiter.dti.ufv.br na barra de endereços do navegador konqueror, irá abrir uma pequena janela solicitando senha do usuário ‘luisa’ no Cluster (observe a janela abaixo). Outra janela será aberta mostrando todos os arquivos do diretório home de ‘luisa’, permitindo o arraste numa ou noutra direção (do computador do usuário para o Cluster, ou do Clusterpara o computador do usuário).

Em sistemas Linux com interface gráfica Gnome, o navegador padrão de arquivos, Nautilus, permite conexão via protocolo ssh com abertura de janela mostrando os arquivos e admitindo o arraste numa ou noutra direção. Para se conectar clique em:

Arquivo → Conectar ao servidor

Em seguida, será aberta uma pequena janela solicitando as informações da conexão. Sega os passos abaixo para conectar ao Cluster:

  1. No título Tipo de serviço: troque FTP por SSH

  2. No título Porta: digite 22

  3. No título Nome do usuário: digite o nome do seu usuário

  4. Clique em Conectar.

1.2.2.3. Exemplo – ambiente Windows

Em ambiente Windows a transferência de arquivos pode ser feita através dos programas PuTTY e WinSCP. Execute o programa PuTTY, clicando no ícone do respectivo programa, e uma janela como a seguinte será aberta:

1. No título Host Name (or IP address): digite jupiter.dti.ufv.br

2. No título Port: digite 22

3. No título Connection type: selecione SSH

4. Tecle Enter ou clique em Open

Será aberta uma janela do tipo terminal Linux para linha de comando com solicitação de seu nome se usuário (Login as) e a sua senha (Password). Nesta janela, digite o nome do seu usuário e a sua senha de acesso ao Cluster.

Após isso, execute o programa WinSCP, clicando no ícone do respectivo programa. Uma janela como a seguinte será apresentada:

1. No título Host name: digite jupiter.dti.ufv.br

2. No título Port Number: digite 22

3. No título User name: digite o nome de seu usuário do Cluster

4. No título Password: digite a senha do usuário do Cluster

5. Tecle Enter ou clique em Login.

Uma janela como a seguir será apresentada permitindo o arraste de arquivos entre o Cluster e o computador em uso e vice-versa:

1.3. Submissão de trabalhos ao Cluster

O ambiente Cluster deve ser utilizado, preferencialmente, no modo lote (batch) e, preferencialmente, para processamento paralelo por conexão remota (ssh).

Não é permitido acesso interativo aos nós de cálculo, estando os mesmos reservados para o processamento batch ou em lote.

O sistema gerenciador de filas, responsável pela execução de jobs (trabalhos), é o TORQUE Resource Manager.

Alguns dos principais comandos do sistema de fila são:

qsub

Para submissão de jobs

qdel

Para remoção de jobs das filas

qstat

Exibe o estado de filas e jobs

A seguir são exibidas alguns parâmetros comumente utilizados neste comandos:

qsub <jobscript >

Submete o job <jobscript> para o PBS

qstat

Lista informações sobre filas (queues) e jobs

qstat -q

Lista todas as filas no sistema

qstat -Q

Lista limites das filas para todas as filas

qstat -a

Lista todos os jobs no sistema

qstat -au <userid >

Lista todos os jobs pertencente ao usuário <userid > (retorna jobid)

qstat -s

Lista todos os jobs com comentários de status

qstat -r

Lista todos os jobs em processamento

qstat -f <jobid >

Lista todas as informações conhecidas sobre o job <jobid > especificado

qstat -Qf <queue >

Lista todas as informações conhecidas sobre a fila <queue > especificada

qstat -B

Lista informações da lista de resumo sobre o servidor de PBS

qdel <jobid >

Deleta o job <jobid> especificado

pbsnodes -a

Indica quais nodos estão atualmente ativos e algumas características

pbsnodes -l

Indica quais nós estão atualmente offline

qstat -n

Mostra a lista de nós alocados para os jobs

1.3.1. Submetendo um trabalho (job) ao Cluster

Submeter um trabalho ao Cluster é simples. Basicamente, são dois passos que devem ser seguidos:

  1. Criar um script, <jobscript>, utilizando qualquer shell, incluindo os comandos que criam um roteiro a ser executado

  2. Submeter o script para ser executado no PBS, bastando executar o comando: qsub <jobscript>

1.3.1.1. Alocação de recursos no Cluster

Abaixo um exemplo de script para submeter ao PBS do Cluster:

Este é um exemplo genérico. Nas linhas 5-9 são realizadas as configurações dos recursos PBS, através de diretivas #PBS.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/bash
 
#Diretivas PBS. Especificam recursos que serao utilizados pelo job 
 
#PBS -N nome_do_job 
#PBS -l nodes=n:ppn=m,mem=qmem
#PBS -m ae 
#mensagem sera enviada: a – abort; b – begin; e – end 
#PBS -M lista de e-mails separados por virgula que receberao comunicacao 
 
cd $PBS_O_WORKDIR 
 
#Habilita o carregamento de modulos
source /etc/profile.d/modules.sh 
 
#Carrega os modulos
module load opt-python
 
#Os comandos a serem executados. O seu roteiro propriamente dito.
#Comandos a partir daqui
 
#Fim do Script

Estas diretivas são responsáveis por definir configurações dos recursos computacionais necessários, e que devem ser reservados, para a execução do seu job. Isto não significa que você deve especificar todas as vezes o máximo dos recursos disponível no Cluster. O PBS tenta otimizar a utilização dos recursos e fazer o balanceamento de carga de trabalhos. Se os recursos disponíveis atualmente no Cluster não são suficientes para executar o seu job, o PBS irá deixar o seu job esperando na fila e irá retirá-lo da fila e colocará em execução assim que os recursos permitirem a execução do seu trabalho. Em geral, é melhor “dizer” o conjunto de recursos que você precisa. A Table 1 lista alguns recursos que você pode configurar no seu script.

Nas linhas 13-17, deste exemplo genérico, são utilizados os comandos para a utilização de módulos. Módulos permitem a modificação dinâmica do ambiente do usuário e possibilita o carregamento de softwares instalados como módulos. A linha 14 é necessária para habilitar o carregamento de módulos através de scripts. Na linha 19 é realizado o carregamento do módulo opt-python. Veja a seção Environment Modules para mais detalhes da utilização de módulos.

Recurso

Valor

Descrição

nodes

Declara a configuração de nodo para o job

walltime

hh:mm::ss

Quantidade máxima de tempo real (de relógio) durante o qual o job pode estar no estado de execução

cput

hh:mm::ss

Quantidade máxima de tempo de CPU usado por todos os processos no job

mem

Número inteiro positivo opcionalmente seguido por b, kb, mb ou gb

Especifica uma estimativa da quantidade máxima de memória RAM usada pelo job

Table 1: Recursos PBS

Existem duas formas de configurar os atributos das tarefas:

  1. através das diretivas PBS, como mostrado no exemplo anterior, ou,

  2. utilizando argumentos no comando qsub

A Table 2 lista alguns destes atributos:

Atributo

Valor

Descrição

-l

Lista separada por vírgula do recursos requiridos.

Define os recursos requeridos para a execução das tarefas. Define também o limite de recursos que podem ser consumidos.

-N

Nome para a tarefa

Declara o nome da tarefa que aparecerá na fila.

-M

Lista de e-mail

Lista de e-mail que receberão as mensagens.

-m

Opções de mail

Especifica opções para notificações por e-mail. Podem ser:

  • b begin
  • e end
  • a abort

Table 2: Atributos de tarefas

1.3.1.2. Exemplo 1 – Script básico

Neste exemplo, é criado um script PBS que apenas imprime o texto “Hello World!” (linha 20). Observe que no script é criado um job com o identificador “hello_world” (linha 5).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/bash
 
#Diretivas PBS. Especificam recursos que serao utilizados pelo job
 
#PBS -N hello_world
#PBS -l nodes=1:ppn=2,mem=2gb
#PBS -m ae 
#mensagem sera enviada: a – abort; b – begin; e – end 
#PBS -M seu_email@ufv.br
 
#Altera o diretorio corrente para o diretorio de onde foi submetido o script
cd $PBS_O_WORKDIR 
 
#Habilita o carregamento de modulos
source  /etc/profile.d/modules.sh 
 
#Carrega o modulo opt-python 
module load opt-python 
 
echo “Hello World!”
 
#Fim do script

A linha 6 contém algumas importantes diretivas PBS que definem os recursos que devem ser alocados para a execução do trabalho no cluster. Observe que este job requer que:

  • seja alocado 1 nodo do cluster (nodes=1) e que sejam utilizadas duas unidades de processamento (ppn=2)
  • e, requer 2gb de memória RAM para a execução

1.3.1.3. Exemplo 2 – Utilizando nós STANDARD

Com a reimplantação do cluster no início de 2016, outros nós de cálculo foram adicionados para prover maior capacidade de hardware do cluster como um todo. Porém, estes novos hardwares possuem configurações diferentes. Para a maioria dos casos isso não irá fazer diferença.

Porém, alguns tipos de experimentos não podem ser realizados em máquinas com hardwares diferentes. Para este casos, deve ser adicionado mais um argumento nas diretivas #PBS para “filtrar” as máquinas com o mesmo hardware. As máquinas com o mesmo hardware são especificadas com a característica “STANDARD”. Observe a linha 6 do exemplo abaixo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/bash
 
#Diretivas PBS. Especificam recursos que serao utilizados pelo job
 
#PBS -N hello_world
#PBS -l nodes=1:STANDARD:ppn=2,mem=2gb
#PBS -m ae 
#mensagem sera enviada: a – abort; b – begin; e – end 
#PBS -M seu_email@ufv.br
 
#Altera o diretorio corrente para o diretorio de onde foi submetido o script
cd $PBS_O_WORKDIR 
 
#Habilita o carregamento de modulos
source  /etc/profile.d/modules.sh 
 
#Carrega o modulo opt-python 
module load opt-python 
 
echo “Hello World!”
 
#Fim do script

1.3.1.4. Exemplo 3 – Usando a fila ‘qtime’

Para utilizar a fila ‘qtime’ serão necessárias 2 pequenas alterações nos scripts .pbs. Observe, no exemplo abaixo, que deve-se adicionar o walltime na diretiva ‘#PBS -l’. No exemplo, o job especifica que precisará de no máximo 4h30m20s para finalizar a execução. Além disso, deve-se explicitamente selecionar a fila ‘qtime’ como destino. Isso é feito através da diretiva ‘#PBS -q qtime’.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/bash
 
#Diretivas PBS. Especificam recursos que serao utilizados pelo job
 
#PBS -N hello_world
#PBS -l nodes=1:ppn=2,mem=2gb,walltime=04:30:20
#PBS -q qtime
#PBS -m ae 
#mensagem sera enviada: a – abort; b – begin; e – end 
#PBS -M seu_email@ufv.br
 
#Altera o diretorio corrente para o diretorio de onde foi submetido o script
cd $PBS_O_WORKDIR 
 
#Habilita o carregamento de modulos
source  /etc/profile.d/modules.sh 
 
#Carrega o modulo opt-python 
module load opt-python 
 
echo “Hello World!”
 
#Fim do script

Limite de submissões por usuários

No fila de trabalhos do Cluster, cada usuário pode conter no máximo de 304 jobs . Este limite é necessário, e pode ser alterado de acordo com a análise da administração do Cluster, visando um melhor funcionamento do Cluster para todos os seus usuário. As política mais recentes quanto aos limites de recursos devem ser consultadas em http://www.dct.ufv.br/?page_id=11

Caso tente se colocar mais tarefas que este limite na fila, será exibida a seguinte mensagem de erro: “qsub: would exceed complex’s per-user limit”

1.3.2. Monitoramento dos recursos alocados, utilizados e disponíveis

Os utilitários abaixo foram elaborados pela equipe da DCT para auxiliar no monitoramento dos jobs em execução, na especificação de recursos de hardware no script .pbs e na utilização correta dos recursos alocados. Caso identifiquem algum erro nestes scripts favor nos comunicar para corrigirmos o mais breve possível.

1.3.2.1. jinfo

Este utilitário exibe alguns dados de utilização momentânea de recursos de um determinado job. Mostra a quantidade de memória requerida no script .pbs e a quantidade que está sendo utilizada. Mostra também a quantidade de cpus(%) requerida script .pbs e a quantidade que está sendo utilizada. Este utilitário também mostra a adequação de recursos do job, alertando o usuário caso o job utilize menos ou mais recursos do que foi definido no seu script .pbs. Para utilizá-lobasta digitar no seu prompt o seguinte comando:

1
jinfo job_id

onde job_id deve ser substituído pelo identificador numérico do job a ser verificado.

Uma das dificuldades que muitos usuário enfrentam é saber definir adequadamente a quantidade de processador e memória RAM que deve ser especificada no seu script .pbs. Este utilitário foi elaborado com o intuito de auxiliar nesta tarefa.

É importante lembrar que tanto o ‘jinfo’ quanto o ‘sinfo’ (mostrado abaixo) obtém a quantidade de memória RAM e processador em um determinado instante. Estes valores podem variar ao longo do tempo dependendo do tipo de tarefa que é realizado no script .pbs. Por isso, é importante utilizá-los, quando necessário, em diversos momentos da execução do seu job.

1.3.2.2. sinfo

Este utilitário computa algumas estatísticas momentâneas dos processos em execução do seu usuário. Para utilizá-lo basta digitar no seu prompt o seguinte comando:

1
sinfo

que as estatísticas dos seus processos em execução serão computadas automaticamente.

Para cada trabalho em execução no PBS (com o status R no qstat) são mostradas estatísticas relativas à quantidade de memória requerida no PBS, a quantidade de memória efetivamente usada pelo processo e também a memória “desperdiçada”. Esta última se refere à quantidade de memória que fora alocada pelo processo e que não está sendo utilizada.

Além destas estatísticas existem outras como o número de processadores requeridos no PBS e o número de processadores efetivamente utilizados.

Este utilitário foi implementado visando auxiliá-los no dimensionamento da quantidade de memória e processador a serem especificados no PBS, a fim de tentar minimizar os “desperdícios” e“excessos” de recursos. Cada usuário pode e deve acompanhar os recursos consumidos pelos seus processos e adequar a utilização dos recursos conforme necessário.

Vale destacar que pode levar alguns minutos para que os dados computados sejam mostrados, a depender da utilização do cluster no momento.

1.3.2.3. hinfo

Este utilitário mostra os recursos de memória e processador disponível em cada nó ativo do cluster. Para utilizá-lo basta digitar o seguinte comando no seu prompt:

1
hinfo

Ele foi elaborado para auxiliar no dimensionamento da quantidade de recursos, especialmente memória RAM, a ser requerido no script PBS a fim de diminuir os trabalhos que ficam em fila.

Por exemplo, alguns processos estão em fila porque requerem 8gb de memória RAM para ser executado. E, existem vários nós de cálculo com 7gb de memória RAM disponível (o que pode ser visto utilizando o comando hinfo). Neste caso, se o processo puder ser executado com 7gb de memória RAM, e se esta quantidade de memória fosse especificado no script PBS, ele não entraria na fila.

2. Environment Modules

2.1. Introdução

Environment Modules (http://modules.sourceforge.net/), ou simplesmente módulos, fornecem mecanismos para modificação dinâmica das variáveis de ambiente via arquivos modulefiles. Cada modulefile contém a informação necessária para configurar o shell para uma aplicação específica.

Módulos são úteis para gerenciar diferentes versões de softwares.

Todos os softwares que estão sendo instalados no ambiente do Cluster UFV estão sendo realizados a partir de módulos, de tal forma que fique mais fácil manter diferentes versões dos mesmos softwares, atendendo as demandas bastante heterogêneas dos usuários do Cluster, no que diz respeito a softwares e a suas versões.

2.2. Utilização Básica

Os principais comandos para utilização de módulos são:

Comando

Descrição

module avail

Lista todos os módulos disponíveis

Obs.: Os novos softwares instalados via módulos são aqueles listados a partir de /data/svn/modulefiles/trunk’

(Observe a saída do comando module avail)

module list

Lista todos os módulos carregados no embiente do usuário

module load <name>/<version>

Carrega o módulo <name>/<version>

module unload <name>/<version>

Descarrega o módulo <name>/<version>

module help <name>/<version>

Ajuda do módulo <name>/<version>

module whatis <name>/<version>

Mostra informações do módulo <name>/<version>

2.3. Exemplos de utilização

2.3.1. Exemplo 1 – comando module avail

  • Comando: module avail

  • Saída: Após digitar o comando acima, será exibido todos os módulos disponíveis para serem carregados. Observe na saída do Quadro 1, que os novos softwares instalados são aqueles listados a partir de /data/svn/modulefiles/trunk’ (em negrito).

    quadro-1

2.3.2. Exemplo 2 – comando module list

  • Comando: module list

  • Saída: Após digitar o comando acima, será exibido todos os módulos carregados pelo seu usuário através do comando ‘module load’. Observe a saída deste comando no Quadro 2. Neste caso, os seguintes módulos foram carregados: rocks-openmpi, java/jre1.8.0_66

quadro-2

2.3.3. Exemplo 3 – comando module load

  • Comando: module load gcc/4.8.3

  • Saída: Após digitar o comando acima, o módulo gcc/4.8.3 será carregado e a versão 4.8.3 do software gcc estará disponível

  • Observação 1: podem ser carregados diversos módulos em um mesmo comando:

    1
    
    module load rocks-openmpi opt-python gcc/4.8.3 java/jre1.8.0_66
  • Observação 2: se não definida a versão do software a ser carregado no comando ‘module load’, a versão mais recente será utilizada:

    1
    
    module load java

    Como não foi definido a versão, a versão mais recente, que neste caso é a versão java/jre1.8.0_66, será carregada.

2.3.4. Exemplo 4 – comando module unload

  • Comando: module unload java/jre1.8.0_66

  • Saída: Após digitar o comando acima, o módulo java/jre1.8.0_66 será descarregado e se nenhum outro módulo java estiver carregado via módulo, a versão padrão do sistema será utilizada.

2.4. Carregar módulos no login

Para que um módulo seja carregado em cada login, use o comando ‘module initadd <name>/<version>’. Para remover esta característica utilize o comando ‘module initrm’.

Antes da primeira utilização do comando ‘module initadd’ você deve alterar o arquivo $HOME/.bashrc, com o seu editor de texto favorito, e adicionar a seguinte linha no final deste arquivo:

1
2
source /etc/profile.d/modules.sh
module load null

Após realizar esta configuração, os módulos podem ser adicionados na inicialização através do comando ‘module initadd <name>/<version>’.

Exemplo – Adicionar o módulo gcc/4.8.3 para ser carregado na inicialização

Se as seguintes linhas:

1
2
source /etc/profile.d/modules.sh
module load null

já tiverem sido adicionadas ao final do arquivo $HOME/.bashrc apenas utilize o comando:

1
module initadd gcc/4.8.3

3. Contato

Críticas e sugestões para o aprimoramento desse texto são muito bem vindas.
Envie um e-mail para dct@ufv.br

Localização

Universidade Federal de Viçosa  – Campus Viçosa
Departamento de Tecnologia da Informação
Prédio Professor Fábio Ribeiro Gomes – Térreo
Avenida Peter Henry Rolfs, S/N
Viçosa, MG
36570-000

Equipe de Desenvolvimento Web/UFV - 2014 - Mantido com Wordpress