Guia Prático do cluster Veredas LCC/CENAPAD-MG

De Wiki LCC
Ir para navegação Ir para pesquisar

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).