Mudanças entre as edições de "Guia Prático do cluster Veredas LCC/CENAPAD-MG"

De Wiki LCC
Ir para navegação Ir para pesquisar
 
(18 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
 
== Abertura de conta ==
 
== Abertura de conta ==
Após o usuário preencher o [https://www.lcc.ufmg.br/abertura-de-contas-formularios formulário de abertura de conta] e enviar para o LCC/CENAPAD-MG, caso aprovada pela equipe do LCC/CENAPAD-MG, a conta será aberta e este poderá utlizar o Cluster Bull LCC/CENAPAD-MG. O usuário receberá os dados de acesso através do email cadastrado no ato da aberto de conta.
+
Após o usuário preencher o [https://www.lcc.ufmg.br/abertura-de-conta formulário eletrônico de abertura de conta] e enviar para o LCC/CENAPAD-MG, caso aprovada pela equipe do LCC/CENAPAD-MG, a conta será aberta e este poderá utlizar o Cluster Veredas LCC/CENAPAD-MG. O usuário receberá os dados de acesso através do email cadastrado no ato da aberto de conta.
  
A abertura de cada conta estará vinculada a um projeto para fins de contabilidade de uso. No cluster o projeto será identificado pelo grupo unix '''NOME_DO_PROJETO''' (nome que você receberá por email) e as áreas de trabalho concedidas são:
+
A abertura de cada conta estará vinculada a um projeto para fins de contabilidade de uso. No cluster o projeto será identificado pelo grupo unix '''CODIGO_DO_PROJETO''' (código que você receberá por email) e as áreas de trabalho concedidas são:
  
*áreas privativas dos usuários: /home_cluster/'''NOME_DO_PROJETO'''/'''SEU_LOGIN'''
+
*áreas privativas dos usuários: /home_cluster/'''CODIGO_DO_PROJETO'''/'''SEU_LOGIN'''
*área para software do grupo: /projetos/'''NOME_DO_PROJETO'''
+
*área para software do grupo: /projetos/'''CODIGO_DO_PROJETO'''
*storage para dados computacionais: /storage/'''NOME_DO_PROJETO'''
+
*storage para dados computacionais: /storage/'''CODIGO_DO_PROJETO'''
  
Somente os usuários do grupo '''NOME_DO_PROJETO''' têm permissões de leitura, escrita e execução nos diretórios /projetos/'''NOME_DO_PROJETO''' e /storage/'''NOME_DO_PROJETO'''. A organização interna dos diretórios fica a critério dos membros do grupo. O responsável pelas atividades e ações do grupo será o seu pesquisador principal (principal investigator, PI), ou seja, o professor com vínculo empregatício à sua universidade de origem ou um PostDoc. Em geral será o pesquisador principal que solicitará a abertura de projeto e a inclusão de seus colaboradores de pesquisa. Qualquer usuário poderá solicitar à equipe de manutenção a sua inclusão em mais de um projeto diferente, sujeito à aprovação do seu respetivo PI.
+
Somente os usuários do grupo '''CODIGO_DO_PROJETO''' têm permissões de leitura, escrita e execução nos diretórios /projetos/'''CODIGO_DO_PROJETO''' e /storage/'''CODIGO_DO_PROJETO'''. A organização interna dos diretórios fica a critério dos membros do grupo. O responsável pelas atividades e ações do grupo será o seu pesquisador principal (principal investigator, PI), ou seja, o professor com vínculo empregatício à sua universidade de origem ou um PostDoc. Em geral será o pesquisador principal que solicitará a abertura de projeto e a inclusão de seus colaboradores de pesquisa. Qualquer usuário poderá solicitar à equipe de manutenção a sua inclusão em mais de um projeto diferente, sujeito à aprovação do seu respetivo PI.
  
 
<div class="aviso">
 
<div class="aviso">
 
'''Atenção!'''<br/>
 
'''Atenção!'''<br/>
Para a comunicação das senhas será utilizado o serviço [https://privnote.com Privnote]. Trata-se de um serviço de anotações online no qual o destinatário tem um tempo limite para ler a anotação até que esta se auto-destrua. Os links de acesso ao '''Privnote''' serão enviados posteriormente para cada email cadastrado. No momento em que o link for ‘clicado’, a página será carregada com uma janela contendo uma string de 12 caracteres alfanuméricos. Essa string é a senha gerada para o primeiro acesso do usuário ao cluster. Copie essa string, porque o link será destruído. Recomendamos fortemente que no primeiro acesso o usuário troque a senha com o comando '''passwd'''. Lembre-se da importância de utilizar senhas fortes. Todos os estudos corroboram que a principal razão por detrás da grande maioria dos incidentes de segurança digital é a utilização de senhas fracas.
+
Para a comunicação das senhas será utilizado o serviço [https://pwpush.com Password Pusher]. Trata-se de um serviço de anotações online no qual o destinatário tem um tempo limite para ler a anotação até que esta se auto-destrua. Os links de acesso ao '''Password Pusher''' serão enviados posteriormente para cada email cadastrado. No momento em que o link for ‘clicado’, a página será carregada com uma janela contendo uma string de 16 caracteres alfanuméricos. Essa string é a senha gerada pelo LCC/CENAPAD-MG para o usuário logar no cluster. Copie essa string, porque o link será destruído. A senha que enviamos tem entropia suficiente para ser muito difícil a sua descoberta através de métodos de força bruta. Caso pretenda trocar a senha enviada sugerimos que utilize o website [https://www.ssh.com/iam/password/generator Password Generator] para gerar a nova senha e depois cadastrar no cluster através do comando unix '''passwd'''. Lembre-se também da importância de guardar as senhas de forma segura. Utilize por exemplo o serviço [https://www.lastpass.com LastPass]. Concluindo, todos os estudos corroboram que a principal razão por detrás da grande maioria dos incidentes de segurança digital é a utilização de senhas fracas, a utilização da mesma senha para vários locais e o seu furto em servidores e websites inseguros.
 
</div>
 
</div>
  
 
== Acesso Remoto ==
 
== Acesso Remoto ==
O acesso ao Cluster Bull LCC/CENAPAD-MG é feito através do ssh através do endereço:  
+
O acesso ao Cluster Veredas LCC/CENAPAD-MG é feito via ssh através do endereço:  
  
 
<pre class="bash">
 
<pre class="bash">
Linha 22: Linha 22:
 
</pre>
 
</pre>
  
* subtitua a palavra '''SEU_LOGIN''' pelo login que você recebeu após a abertura da conta.  
+
* substitua a palavra '''SEU_LOGIN''' pelo login que você recebeu após a abertura da conta.  
  
  
Linha 31: Linha 31:
 
*[[Acesso remoto para usuários Windows|Acesso remoto para usuários Windows]]
 
*[[Acesso remoto para usuários Windows|Acesso remoto para usuários Windows]]
  
== O Cluster Bull LCC/CENAPAD-MG ==
+
== O Cluster Veredas LCC/CENAPAD-MG ==
  
O Cluster Bull LCC/CENAPAD-­MG possui 109 nós computacionais distribuídos físicamente em 4 racks, Figura 1, cada nó com 2 processadores quadcore e 16 Gigabytes de memória principal, agregando um total de 848 núcleos de processamento (cores) e aproximadamente 1.7 Terabytes de memória distribuída pela máquina. O potencial de desempenho teórico do cluster traduzem em 9 Teraflops (nove trilhões de operações elementares por segundo). O Cluster é interligado através de um ''switch'' lógico de alto desempenho segundo a arquitetura de rede [https://en.wikipedia.org/wiki/InfiniBand '''INFINIBAND'''] o que permite a execução rápida de programas paralelos (distribuidos) que usam a rede para troca de dados. O cluster conta também com um storage interno com uma capacidade de armazenamento nominal de 45 TB para dados e backup.
+
O Cluster Veredas LCC/CENAPAD-­MG possui 109 nós computacionais distribuídos físicamente em 4 racks, Figura 1, cada nó com 2 processadores quadcore e 16 Gigabytes de memória principal, agregando um total de 848 núcleos de processamento (cores) e aproximadamente 1.7 Terabytes de memória distribuída pela máquina. O potencial de desempenho teórico do cluster traduzem em 9 Teraflops (nove trilhões de operações elementares por segundo). O Cluster é interligado através de um ''switch'' lógico de alto desempenho segundo a arquitetura de rede [https://en.wikipedia.org/wiki/InfiniBand '''INFINIBAND'''] o que permite a execução rápida de programas paralelos (distribuidos) que usam a rede para troca de dados. O cluster conta também com um storage interno com uma capacidade de armazenamento nominal de 45 TB para dados e backup.
  
[[Arquivo:FiguraClusterBull LCC-CENAPAD-MG.png|600x400px|thumb|center|'''Figura 1 -''' Figura que descreve a estrutura do Cluster Bull LCC/CENAPAD-MG]]
+
[[Arquivo:FiguraClusterBull LCC-CENAPAD-MG.png|450px|thumb|center|'''Figura 1 -''' Figura que descreve a estrutura do Cluster Veredas LCC/CENAPAD-MG]]
  
 
=== Hardware ===
 
=== Hardware ===
Linha 64: Linha 64:
 
Todo o trabalho de desenvolvimento de programas científicos bem como a preparação das tarefas computacionais devem ser realizados no servidor de login '''veredas0'''. O workflow que rege um determinado cálculo deve ser expresso num arquivo de ''script'' em linguagem bash e submetido ao [[Slurm|gerenciador de recursos '''Slurm''']].
 
Todo o trabalho de desenvolvimento de programas científicos bem como a preparação das tarefas computacionais devem ser realizados no servidor de login '''veredas0'''. O workflow que rege um determinado cálculo deve ser expresso num arquivo de ''script'' em linguagem bash e submetido ao [[Slurm|gerenciador de recursos '''Slurm''']].
  
Uma vez logados no cluster os usuários poderão acessar o nosso guia rápido de utilização do '''[[Slurm]]''' através de:
+
Extensa fonte de informação sobre o [https://www.schedmd.com/ '''Slurm'''] encontra-se no site dos seus criadores, onde é mantida uma mailing-list para usuários [https://lists.schedmd.com/cgi-bin/mailman/listinfo/slurm-users '''slurm-users''']. Praticamente todos os grandes centros de HPC no mundo apresentam também exemplos de submissão de jobs para códigos específicos das diversas áreas.
 +
 
 +
=== Software ===
 +
==== Compiladores ====
 +
O cluster está equipado com vários compiladores e ferramentas de análise de desempenho, de depuração e de desenvolvimento. Para além dos compiladores integrados que acompanham a distribuição '''Redhat Enterprise Linux 5.3''', tais como o '''''gcc, gfortran, dbg, openmpi, mpich2''''', etc, sob a licença da [http://www.gnu.org/licenses/gpl-3.0.html '''GNU'''], existem também os suítes proprietários da '''Intel''' e da '''BULL''':
 +
 
 +
* '''Intel(R) Fortran Compiler 11.1 for IA-32 / Intel(R) 64'''
 +
:* Diretório raiz:
 +
::: /opt/intel/Compiler/11.1/073
 +
:* Documentação online:
 +
::: /opt/intel/Compiler/11.1/069/Documentation/en_US/documentation_f.htm
 +
::: /opt/intel/Compiler/11.1/069/Documentation/en_US/getting_started_f.pdf
 +
 
  
*web browser:
+
* '''Intel(R) C/C++ Compiler 11.1 for IA-32 / Intel(R) 64'''
: '''firefox''' /usr/local/share/doc/SLURM-BULL-veredas-0.0.1/build/html/contents.html
+
:* Diretório raiz:
 +
::: /opt/intel/Compiler/11.1/073
 +
:* Documentação online:
 +
::: /opt/intel/Compiler/11.1/069/Documentation/en_US/documentation_c.htm
 +
::: /opt/intel/Compiler/11.1/069/Documentation/en_US/getting_started_c.pdf
  
*man-page:
 
: '''man''' slurm-bull-veredas
 
  
*arquivo PDF:  
+
* '''Intel(R) MPI Library, Development Kit for Linux OS'''
: '''acroread''' /usr/local/share/doc/SLURM-BULL-veredas.pdf
+
:* Diretório raiz:
 +
::: /opt/intel/impi/4.0.0.028
 +
:* Documentação online:
 +
::: /opt/intel/impi/4.0.0.028/doc/Getting_Started.pdf
 +
 
 +
 
 +
* '''BULL Development package for MPI-2'''
 +
:* Diretório raiz:
 +
::: /opt/mpi/mpibull2-1.3.9-18.s/
 +
:* Documentação online:
 +
::: /usr/local/share/info/20110325/Docs/XBAS-CS/86A222FA02.pdf (Chapter 2)
  
Extensa fonte de informação sobre o [https://www.schedmd.com/ '''Slurm'''] encontra-se no site dos seus criadores, onde é mantida uma mailing-list para usuários [https://lists.schedmd.com/cgi-bin/mailman/listinfo/slurm-users '''slurm-users''']. Praticamente todos os grandes centros de HPC no mundo apresentam também exemplos de submissão de jobs para códigos específicos das diversas áreas.
 
  
 +
<div class="aviso">
 +
'''Dica'''<br/>
 +
A versão mais recente dos suítes de compilação da Intel (14.0.1) encontra-se sob o diretório /opt/intel/composer_xe_2013_sp1.1.106/. A distribuição Redhat Enterprise Linux (v5.3) do cluster oferece a versão 2.4 da linguagem de programação Python. Uma versão paralela do '''Python''' oferecida pela Enthought, a distribuição Canopy, está instalada no diretório /var/Canopy. Sobre como utilizar esta distribuição poderá consultar o site [https://www.enthought.com/products/canopy https://www.enthought.com/products/canopy]
 +
</div>
  
=== Software ===
 
==== Compiladores ====
 
 
==== Bibliotecas para desenvolvimento ====
 
==== Bibliotecas para desenvolvimento ====
 +
Várias versões de bibliotecas numéricas para desenvolvimento (''Bull SciStudio Book Shelf'') estão instaladas no diretório raiz '''/opt/scilibs'''. Para uma descrição detalhada de cada biblioteca basta apontar o browser interno do cluster para o diretório '''/opt/scilibs/SCISTUDIO_SHELF/SciStudio_shelf-1.1_Bull.9005/_www/Shelf.html'''. Uma visão global da ''Bull SciStudio'' pode ser encontrada no '''capítulo 3 do Users’s Guide''' ('''/usr/local/share/info/20110325/Docs/XBAS-CS/86A222FA02.pdf''').
 +
 
==== Aplicações ====
 
==== Aplicações ====
 +
Os pacotes científicos instalados pela equipe de operação do cluster estão localizados nos diretórios raiz '''/opt/sci''' e '''/usr/local/ohpc/pub'''. Os pacotes de domínio público serão instalados sob demanda dos usuários. Está aberta a possibilidade de instalação de pacotes proprietários (licença paga) para uso exclusivo de determinados grupos de pesquisa. Nestes casos, é conveniente haver um contato prévio entre o grupo interessado e a equipe de operação de modo a realizar uma instalação que respeite as cláusulas da licença de contrato do software.
 +
 +
O cluster '''veredas''' possui o pacote de gerenciamento [https://github.com/TACC/Lmod '''Lmod'''] [https://github.com/TACC/Lmod (https://github.com/TACC/Lmod)] instalado. Esta ferramenta permite a um usuário alternar entre diferentes versões de um pacote ou compiladores de maneira fácil, limpa e eficaz. O [https://github.com/TACC/Lmod '''Lmod'''] define dinâmicamente as variáveis de ambiente comuns tais como o '''PATH''', '''LD_LIBRARY_PATH''', '''MANPATH''' entre outras, sem que o usuário tenha que as definir no seu arquivo '''.bash_profile''' toda a vez que precisar utilizar uma determinada aplicação científica. Adicionalmente o [https://github.com/TACC/Lmod '''Lmod'''] permite “carregar” e “descarregar” combinações de aplicações/compiladores incluindo as suas dependências. As variáveis de ambiente específicas de cada pacote estão definidas em um arquivo designado por '''''modulefile''''' <ref>Trata-se de um arquivo do tipo ''script'' que pode ser escrito na linguagem
 +
[https://www.tcl.tk TCL] [https://www.tcl.tk (https://www.tcl.tk)] ou [https://www.lua.org Lua] [https://www.lua.org (https://www.lua.org)].</ref> . Os arquivos modulefile (módulos) estão localizados hierárquicamente sob o diretório definido em '''$MODULEPATH''' (i.e., '''/usr/local/ohpc/pub/modulefiles'''). Existem vários comandos que podem ser utilizados para gerenciar os arquivos modulefile:
 +
 +
{|class="wikitable" width=60%  border=1 cellpadding=35px 
 +
!|Comando
 +
!|Descrição
 +
|-
 +
|'''module avail'''
 +
|Lista todos os módulos disponíveis para carregamento
 +
|-
 +
|'''module spider <pattern>'''
 +
|Procura por um módulo específico (e.g. module spider siesta)
 +
|-
 +
|'''module load <mod1>[mod2 …]'''
 +
|'''''Carrega''''' um módulo ou lista de módulos
 +
|-
 +
|'''module unload <module>'''
 +
|'''''Descarrega''''' o módulo
 +
|-
 +
|'''module list'''
 +
|Lista todos os módulos que estão carregados no ambiente
 +
|-
 +
|'''module purge'''
 +
|Descarrega todos os módulos que estão carregados no ambiente
 +
|-
 +
|'''module display <module>'''
 +
|Mostra o conteúdo do módulo (e.g. quais as variáveis de ambiente que são definidas)
 +
|-
 +
|'''module use <path>'''
 +
|Acrescenta um diretório local de módulos de um usuário aos módulos do sistema
 +
|}
 +
 +
Mostramos abaixo o exemplo de saída na ''console'' quando o comando '''module avail''' é executado:
 +
 +
<pre class="bash">
 +
[user_test@veredas0 ~]$ module avail
 +
 +
-------------------------------- /usr/local/ohpc/pub/modulefiles -------------
 +
  autotools intel/10.1.008
 +
  bats/1.1.0 intel/11.1.069
 +
  cmake/3.9.2 intel/14.0.1 (D)
 +
  convergecfd/2.3.9 (P) intel/15.0.6 (T)
 +
  convergecfd/2.3.20 (P) launcher/0.0.git.159.12b099a
 +
  convergecfd/2.3.23 (P) likwid/4.3.1
 +
  convergecfd/2.4.17 (P,D) ohpc
 +
  gnu/5.4.0 orca/4.0.1 (P)
 +
  gnu4/4.8.2 pgi/17.10
 +
  gnu7/7.2.0 prun/1.2
 +
  hwloc/1.11.9 simple/2.5
 +
  ibrun-veredas/0.0.git.15.f58fde0 star-cd/4.24.021 (T)
 +
 +
-------------------------------- /home/user_test/privatemodules --------------
 +
 +
  null
 +
  Where:
 +
  T: Testing
 +
  P: Group restricted
 +
  D: Default Module
 +
Use "module spider" to find all possible modules.
 +
Use "module keyword key1 key2 ..." to search for all possible modules matching
 +
any of the "keys".
 +
 +
------------------------------------------------------------------------------
 +
Site: http://www.cenapad.ufmg.br.
 +
Email: <computacaocientifica@lcc.ufmg.br>.
 +
Telefone: 3409-4909
 +
------------------------------------------------------------------------------
 +
[user_test@veredas0 ~]$
 +
</pre>
 +
  
 
<div class="aviso">
 
<div class="aviso">
Linha 95: Linha 194:
 
/usr/local/share/info
 
/usr/local/share/info
 
</div>
 
</div>
 +
 +
== Notas ==
 +
<references />
 +
 +
 +
[[Category:Manuais]]
 +
[[Category:Cluster Veredas‏]]
 +
[[Category:Guia Prático do cluster Veredas LCC/CENAPAD-MG‎]]

Edição atual tal como às 21h10min de 24 de setembro de 2021

Abertura de conta

Após o usuário preencher o formulário eletrônico de abertura de conta e enviar para o LCC/CENAPAD-MG, caso aprovada pela equipe do LCC/CENAPAD-MG, a conta será aberta e este poderá utlizar o Cluster Veredas LCC/CENAPAD-MG. O usuário receberá os dados de acesso através do email cadastrado no ato da aberto de conta.

A abertura de cada conta estará vinculada a um projeto para fins de contabilidade de uso. No cluster o projeto será identificado pelo grupo unix CODIGO_DO_PROJETO (código que você receberá por email) e as áreas de trabalho concedidas são:

  • áreas privativas dos usuários: /home_cluster/CODIGO_DO_PROJETO/SEU_LOGIN
  • área para software do grupo: /projetos/CODIGO_DO_PROJETO
  • storage para dados computacionais: /storage/CODIGO_DO_PROJETO

Somente os usuários do grupo CODIGO_DO_PROJETO têm permissões de leitura, escrita e execução nos diretórios /projetos/CODIGO_DO_PROJETO e /storage/CODIGO_DO_PROJETO. A organização interna dos diretórios fica a critério dos membros do grupo. O responsável pelas atividades e ações do grupo será o seu pesquisador principal (principal investigator, PI), ou seja, o professor com vínculo empregatício à sua universidade de origem ou um PostDoc. Em geral será o pesquisador principal que solicitará a abertura de projeto e a inclusão de seus colaboradores de pesquisa. Qualquer usuário poderá solicitar à equipe de manutenção a sua inclusão em mais de um projeto diferente, sujeito à aprovação do seu respetivo PI.

Atenção!
Para a comunicação das senhas será utilizado o serviço Password Pusher. Trata-se de um serviço de anotações online no qual o destinatário tem um tempo limite para ler a anotação até que esta se auto-destrua. Os links de acesso ao Password Pusher serão enviados posteriormente para cada email cadastrado. No momento em que o link for ‘clicado’, a página será carregada com uma janela contendo uma string de 16 caracteres alfanuméricos. Essa string é a senha gerada pelo LCC/CENAPAD-MG para o usuário logar no cluster. Copie essa string, porque o link será destruído. A senha que enviamos tem entropia suficiente para ser muito difícil a sua descoberta através de métodos de força bruta. Caso pretenda trocar a senha enviada sugerimos que utilize o website Password Generator para gerar a nova senha e depois cadastrar no cluster através do comando unix passwd. Lembre-se também da importância de guardar as senhas de forma segura. Utilize por exemplo o serviço LastPass. Concluindo, todos os estudos corroboram que a principal razão por detrás da grande maioria dos incidentes de segurança digital é a utilização de senhas fracas, a utilização da mesma senha para vários locais e o seu furto em servidores e websites inseguros.

Acesso Remoto

O acesso ao Cluster Veredas LCC/CENAPAD-MG é feito via ssh através do endereço:

ssh SEU_LOGIN@veredas.cenapad.ufmg.br
  • substitua a palavra SEU_LOGIN pelo login que você recebeu após a abertura da conta.


Caso necessite de mais detalhes, acesso os link abaixo:

O Cluster Veredas LCC/CENAPAD-MG

O Cluster Veredas LCC/CENAPAD-­MG possui 109 nós computacionais distribuídos físicamente em 4 racks, Figura 1, cada nó com 2 processadores quadcore e 16 Gigabytes de memória principal, agregando um total de 848 núcleos de processamento (cores) e aproximadamente 1.7 Terabytes de memória distribuída pela máquina. O potencial de desempenho teórico do cluster traduzem em 9 Teraflops (nove trilhões de operações elementares por segundo). O Cluster é interligado através de um switch lógico de alto desempenho segundo a arquitetura de rede INFINIBAND o que permite a execução rápida de programas paralelos (distribuidos) que usam a rede para troca de dados. O cluster conta também com um storage interno com uma capacidade de armazenamento nominal de 45 TB para dados e backup.

Figura 1 - Figura que descreve a estrutura do Cluster Veredas LCC/CENAPAD-MG

Hardware

Os servidores que compõem o cluster de alto desempenho do LCC/CENAPAD-MG estão organizados da seguinte forma:

Quantidade Descrição Hardware Hostnames
1 Servidor login (frontend)
Modelo: Bull R460
2x Quad Xeon 5130 2GHz - 1333FSB
8GB DDR3 RAM
147GB 15K RPM SAS disk
veredas0
1 Servidor de I/O (NFS)
Modelo: Bull R460
2x Quad Xeon 5130 2 GHz - 1333 FSB
8GB DDR3 RAM
147GB 15K RPM SAS disk
veredas1
107 Nodos computacionais
Modelo: R422-E1
2x Quad Xeon 5355 2.6 Ghz - 1600 FSB
16 GB DDR3 RAM
160GB 7200 RPM SATA3 disk
veredas[2,…,107]

Todo o trabalho de desenvolvimento de programas científicos bem como a preparação das tarefas computacionais devem ser realizados no servidor de login veredas0. O workflow que rege um determinado cálculo deve ser expresso num arquivo de script em linguagem bash e submetido ao gerenciador de recursos Slurm.

Extensa fonte de informação sobre o Slurm encontra-se no site dos seus criadores, onde é mantida uma mailing-list para usuários slurm-users. Praticamente todos os grandes centros de HPC no mundo apresentam também exemplos de submissão de jobs para códigos específicos das diversas áreas.

Software

Compiladores

O cluster está equipado com vários compiladores e ferramentas de análise de desempenho, de depuração e de desenvolvimento. Para além dos compiladores integrados que acompanham a distribuição Redhat Enterprise Linux 5.3, tais como o gcc, gfortran, dbg, openmpi, mpich2, etc, sob a licença da GNU, existem também os suítes proprietários da Intel e da BULL:

  • Intel(R) Fortran Compiler 11.1 for IA-32 / Intel(R) 64
  • Diretório raiz:
/opt/intel/Compiler/11.1/073
  • Documentação online:
/opt/intel/Compiler/11.1/069/Documentation/en_US/documentation_f.htm
/opt/intel/Compiler/11.1/069/Documentation/en_US/getting_started_f.pdf


  • Intel(R) C/C++ Compiler 11.1 for IA-32 / Intel(R) 64
  • Diretório raiz:
/opt/intel/Compiler/11.1/073
  • Documentação online:
/opt/intel/Compiler/11.1/069/Documentation/en_US/documentation_c.htm
/opt/intel/Compiler/11.1/069/Documentation/en_US/getting_started_c.pdf


  • Intel(R) MPI Library, Development Kit for Linux OS
  • Diretório raiz:
/opt/intel/impi/4.0.0.028
  • Documentação online:
/opt/intel/impi/4.0.0.028/doc/Getting_Started.pdf


  • BULL Development package for MPI-2
  • Diretório raiz:
/opt/mpi/mpibull2-1.3.9-18.s/
  • Documentação online:
/usr/local/share/info/20110325/Docs/XBAS-CS/86A222FA02.pdf (Chapter 2)


Dica
A versão mais recente dos suítes de compilação da Intel (14.0.1) encontra-se sob o diretório /opt/intel/composer_xe_2013_sp1.1.106/. A distribuição Redhat Enterprise Linux (v5.3) do cluster oferece a versão 2.4 da linguagem de programação Python. Uma versão paralela do Python oferecida pela Enthought, a distribuição Canopy, está instalada no diretório /var/Canopy. Sobre como utilizar esta distribuição poderá consultar o site https://www.enthought.com/products/canopy

Bibliotecas para desenvolvimento

Várias versões de bibliotecas numéricas para desenvolvimento (Bull SciStudio Book Shelf) estão instaladas no diretório raiz /opt/scilibs. Para uma descrição detalhada de cada biblioteca basta apontar o browser interno do cluster para o diretório /opt/scilibs/SCISTUDIO_SHELF/SciStudio_shelf-1.1_Bull.9005/_www/Shelf.html. Uma visão global da Bull SciStudio pode ser encontrada no capítulo 3 do Users’s Guide (/usr/local/share/info/20110325/Docs/XBAS-CS/86A222FA02.pdf).

Aplicações

Os pacotes científicos instalados pela equipe de operação do cluster estão localizados nos diretórios raiz /opt/sci e /usr/local/ohpc/pub. Os pacotes de domínio público serão instalados sob demanda dos usuários. Está aberta a possibilidade de instalação de pacotes proprietários (licença paga) para uso exclusivo de determinados grupos de pesquisa. Nestes casos, é conveniente haver um contato prévio entre o grupo interessado e a equipe de operação de modo a realizar uma instalação que respeite as cláusulas da licença de contrato do software.

O cluster veredas possui o pacote de gerenciamento Lmod (https://github.com/TACC/Lmod) instalado. Esta ferramenta permite a um usuário alternar entre diferentes versões de um pacote ou compiladores de maneira fácil, limpa e eficaz. O Lmod define dinâmicamente as variáveis de ambiente comuns tais como o PATH, LD_LIBRARY_PATH, MANPATH entre outras, sem que o usuário tenha que as definir no seu arquivo .bash_profile toda a vez que precisar utilizar uma determinada aplicação científica. Adicionalmente o Lmod permite “carregar” e “descarregar” combinações de aplicações/compiladores incluindo as suas dependências. As variáveis de ambiente específicas de cada pacote estão definidas em um arquivo designado por modulefile [1] . Os arquivos modulefile (módulos) estão localizados hierárquicamente sob o diretório definido em $MODULEPATH (i.e., /usr/local/ohpc/pub/modulefiles). Existem vários comandos que podem ser utilizados para gerenciar os arquivos modulefile:

Comando Descrição
module avail Lista todos os módulos disponíveis para carregamento
module spider <pattern> Procura por um módulo específico (e.g. module spider siesta)
module load <mod1>[mod2 …] Carrega um módulo ou lista de módulos
module unload <module> Descarrega o módulo
module list Lista todos os módulos que estão carregados no ambiente
module purge Descarrega todos os módulos que estão carregados no ambiente
module display <module> Mostra o conteúdo do módulo (e.g. quais as variáveis de ambiente que são definidas)
module use <path> Acrescenta um diretório local de módulos de um usuário aos módulos do sistema

Mostramos abaixo o exemplo de saída na console quando o comando module avail é executado:

[user_test@veredas0 ~]$ module avail

-------------------------------- /usr/local/ohpc/pub/modulefiles -------------
   autotools intel/10.1.008
   bats/1.1.0 intel/11.1.069
   cmake/3.9.2 intel/14.0.1 (D)
   convergecfd/2.3.9 (P) intel/15.0.6 (T)
   convergecfd/2.3.20 (P) launcher/0.0.git.159.12b099a
   convergecfd/2.3.23 (P) likwid/4.3.1
   convergecfd/2.4.17 (P,D) ohpc
   gnu/5.4.0 orca/4.0.1 (P)
   gnu4/4.8.2 pgi/17.10
   gnu7/7.2.0 prun/1.2
   hwloc/1.11.9 simple/2.5
   ibrun-veredas/0.0.git.15.f58fde0 star-cd/4.24.021 (T)

-------------------------------- /home/user_test/privatemodules --------------

   null
  Where:
   T: Testing
   P: Group restricted
   D: Default Module
Use "module spider" to find all possible modules.
Use "module keyword key1 key2 ..." to search for all possible modules matching
any of the "keys".

------------------------------------------------------------------------------
Site: http://www.cenapad.ufmg.br.
Email: <computacaocientifica@lcc.ufmg.br>.
Telefone: 3409-4909
------------------------------------------------------------------------------
[user_test@veredas0 ~]$


Dica
Para uma consulta mais detalhada sobre o cluster, a BULL disponibiliza aos usuários os seguintes guias de utilização:

  • Bullx cluster suite: User’s Guide
/usr/local/share/info/20110325/Docs/XBAS-CS/86A222FA02.pdf
  • Bullx cluster suite: Application Tuning Guide
/usr/local/share/info/20110325/Docs/XBAS-CS/86A223FA02.pdf

Diversos documentos e apresentações podem também ser encontrados sob o diretório /usr/local/share/info

Notas

  1. Trata-se de um arquivo do tipo script que pode ser escrito na linguagem TCL (https://www.tcl.tk) ou Lua (https://www.lua.org).