IBM Power 750 Express server
O sistema IBM Power 750 Express server instalado no CENAPAD-SP possui:
- 160 CPU´s (1280 cores) IBM Power7 (5120 GB de memória RAM).
- Interconexão Infiniband.
- Sistema de armazenamento IBM System Storage DS5020 com 224TB.
- 3 unidades Tape Library IBM TS3200 para backup.
A capacidade de processamento teórica do sistema IBM P750 (1280 cores) é de aproximadamente 37 TFLOPs (Linpack Benchmark 28 TFLOPs, o que representa 77% do valor pico teórico). Para utilizar este recurso, observe as seguintes informações:
- Guia de Referência do LoadLeveler
- Performance Guide for HPC Applications on Power755 (arquivo pdf)
- DeveloperWorks - IBM's resource for developers and IT professionals (link IBM)
Nós
O sistema é composto por 43 nós dispostos em 5 frames:
-
40 nós
IBM P750
(Hostnames: tyrno01.cenapadsp.br .. tyrno40.cenapadsp.br), cada um
com:
- 4 processadores IBM Power7/8Cores (32 cores), 3.55GHz;
- 128GB de memória RAM;
- 2 discos SAS 300GB 10K;
-
1 nó
IBM P520
(Hostname: tyr.cna.unicamp.br), para acesso ao sistema, com:
- 2 processadores IBM Power6 + 2Cores, 4.7GHz;
- 16 GB de memória RAM;
- 4 discos SAS 300GB 15K;
-
1 nó
IBM P550
(Hostname: tsm.cenapadsp.br), para controle de storage e backup de
dados, com:
- 2 processadores IBM Power6+ 2Cores, 5GHz;
- 32GB de memória RAM;
- 4 discos SAS 300GB 15K;
- Os nós são interconectados por meio de uma rede Infiniband de alto desempenho.
- O nó de controle e de acesso ao sistema IBM é tyr.cna.unicamp.br (143.106.42.195), que corresponde ao nó tyr.cenapadsp.br.
Sistema Operacional
- Nós P750, P550 e P520 (processadores IBM Power):
Compiladores e Bibliotecas
-
Nós 520 (processadores IBM Power):
-
Bibilitocas científicas (no diretório
/usr/local/lib):
- lapack-3.3.0:liblapack.a (lapack_pwr7AIX_64bit.a)
- scalapack-1.8.0:libscalapack.a (libscalapack_pwr7AIX_64bit.a)
- blacs:libblacs.a (blacs_MPI-pwr7AIX_64bit-0.a) libblacsCinit.a (blacsCinit_MPI-pwr7AIX_64bit-0.a) libblacsF77init.a (blacsF77init_MPI-pwr7AIX_64bit)
-
Como usar os compiladores:
-
cpp
-
xlc -g -q64 -qarch=pwr7 -qtune=pwr7
-
xlf -g -q64 -qarch=pwr7 -qtune=pwr7
-
mpxlc_r -g -q64 -qarch=pwr7 -qtune=pwr7
-
mpxlf90_r -g -q64 -qfree -qarch=pwr7 -qtune=pwr7
-
mpxlf -g -q64 -qarch=pwr7 -qtune=pwr7
-
Observações importantes:
-
Para gerar um código 64 bits é
necessário utilizar a flag "
-
" na compilação e, na
execução, definir a variável de
ambiente:
-
Como usar as bibliotecas científicas:
- ESSL = -lessl -lpessl
- SCALAPACK = -L/usr/local/lib -lscalapack
- MPI = -L/usr/lpp/ppe.poe/lib/ -lmpi
- BLACS = -L/usr/local/lib -lblacs -lblacsCinit -lblacsF77init
- LIBS = $(ESSL) $(SCALAPACK) $(MPI) $(BLACS)
-
Bibilitocas científicas (no diretório
/usr/local/lib):
Usuários
A administração deste sistema está integrada ao ambiente do CENAPAD-SP: são mantidos os mesmos projetos e usuários do ambiente do CENAPAD-SP, com a mesma senha.
Acesso
O acesso ao sistema IBM deve ser feito através de um nó definido como front-end, usando o comando ssh. Para isto, uma vez conectado ao ambiente do CENAPAD-SP, o usuário deverá executar: ssh tyr (utilizando o mesmo usuário e a mesma senha do CENAPAD-SP)
Diretórios HOME
Os diretórios home dos usuários do ambiente CENAPAD-SP são separados conforme o ambiente computacional devido à diferença de arquiteturas utilizadas no ambiente, composto por máquinas IBM com processadores da família Power e sistema operacional AIX, máquinas IBM com processadores Intel Xeon e sistema operacional Linux SUSE e máquinas SGI com processadores Intel Itanium2 e sistema operacional Linux SUSE. Neste ambiente IBM, os nós Power (P750 e P520) compartilham um filesystem de 32TB (/home/ibm) onde são mantidos os diretórios HOME de todos os usuários do ambiente CENAPAD-SP. O padrão para a identificação do diretório home de um determinado usuário nas máquinas deste sistema é:
- /home/ibm/proj/projeto/login
- /home/ibm/teste/login
(onde login é a identificação da conta do usuário e projeto é a identificação do projeto a que a conta está vinculada); O filesystem /home/ibm tem 32.0 TB de espaço. Este filesystem é compartilhado por todos os usuários, e com as mesmas regras de utilização do ambiente do CENAPAD-SP, ou seja, não são estabelecidas cotas de uso e a taxa de ocupação é monitorada para evitar problemas na execução de jobs. Importante: Não há procedimentos de backup definidos nesse ambiente. Os usuários são responsáveis pela manutenção de cópias de segurança de seus arquivos. As políticas de uso podem ser consultadas em Portal do Usuário / Guia do usuário / Uso de espaço em disco
Contabilização de uso
A contabilização de uso deste sistema é feita de forma integrada à contabilização de uso de recursos do ambiente CENAPAD-SP.
Execução de jobs
Consulte também o Guia de Referência do LoadLeveler
Para informações sobre as políticas de uso do ambiente, consultar: Abertura de contas
No ambiente IBM P750 (processadores Power) do CENAPAD-SP estão disponíveis máquinas para uso interativo e máquinas para processamento batch. Na máquina para uso interativo (tyr.cna.unicamp.br) os usuários podem efetuar login e executar comandos, compilar programas, etc. As máquinas para processamento batch (tyrno01 .. tyrno40) não permitem login pelos usuários, apenas processam os jobs submetidos por meio do LoadLeveler (Tivoli Workload Scheduler LoadLeveler V4.1).
Software gerenciador do sistema de fila
LoadLeveler é o sistema gerenciador de filas,responsável pela execução de jobs. O manual Using and Administering, que contém informações para utilização deste software, está disponível em formato pdf no arquivo /usr/LL/manuais/Using_Administering.pdf da máquina tyr. Alguns dos principais comandos do LoadLeveler são:
- llsubmit - para submissao de jobs
- llmodify - para modificar jobs pendente
- llcancel - para remoção de jobs das filas
- llhold - para alterar o estado de jobs para hold
- llfavorjob - para reordenar jobs
- llhold -r - para liberar jobs em estado hold
- llstatus - exibe o estado dos nós
- llq - exibe o estado dos jobs
- llclass - exibe a configuração e o estado das filas
(As informações sobre estes comandos também estão disponíveis em suas manpages)
Comando | Descrição |
---|---|
llsubmit jobscript | submit jobscript to LoadLeveler |
llstatus | Query machine status |
llclass | Query class information |
llq | Query job status |
llcancel jobid | Cancel a submitted job |
llmodify jobid | Change attributes of a submitted job step |
O LoadLeveler está instalado em todas as máquinas do ambiente IBM com processadores Power e controla a submissão e a execução de jobs.
Submissão de jobs
Para submeter um job para execução no ambiente IBM P750 do CENAPAD-SP o usuário deve:
- Logar no CENAPAD-SP
-
Logar na máquina interativa deste ambiente por meio do
comando:
ssh tyr
(utilizando o mesmo usuário e a mesma senha do CENAPAD-SP) - Criar um arquivo com diretivas sobre o job a ser executado
-
Submeter o job
executar o comando
llsubmit <flags> <script>
Configuração do sistema de filas - LoadLeveler
Classes
O ambiente de processamento de jobs do CENAPAD-SP está dividido em dois grandes grupos:
- processamento serial
- processamento paralelo
Para atender as necessidades de cada um destes dois grupos existem seis tipos de classes, que foram definidas com o objetivo de distribuir da melhor forma possível os recursos do ambiente entre os usuários e, principalmente, otimizar o tempo de processamento e o tempo de espera na fila. As classes diferenciam-se por:
- quantidade de processadores utilizados;
- limite de uso de CPU (tempo total de CPU utilizado);
- limite de tempo de execução (tempo que o job pode permanecer em execução);
- quantidade máxima de jobs.
As classes disponíveis possuem a seguinte configuração:
A configuração pode ser consultada sempre que necessário através do comando llclass.
Máquinas
Os processadores IBM Power tem a capacidade de executar em modo SMT (Simultaneous Multi Threading), da mesma forma que os processadores Intel Xeon utilizam HyperThreading Technology. Os processadores Power7 podem processar 4 threads simultâneas em cada núcleo (core) e, desta forma, cada um dos nós P750 instalados no CENAPAD-SP pode executar 128 threads em seus 32 núcleos. O modo SMT pode proporcionar ganho de desempenho em aplicações paralelas por meio da exploração do paralelismo a nível de threads e, por esta razão, está habilitado nos nós que processam este tipo de jobs. A distribuição das classes pelas máquinas onde são executados jobs é feita conforme características das máquinas. Para cada máquina são definidos os seguintes parâmetros:
- número máximo de jobs que podem ser executados simultaneamente;
- classes atendidas;
- número de jobs de cada classe que podem ser executados;
Nó | Classe | Número tasks / nó |
---|---|---|
tyrno01 a tyrno20 tyrno29 e tyrno31 |
||
paralela | 32 | |
grande | 16 | |
media | 15 | |
pequena | 1 | |
tyrno21 a tyrno28 | exp512 | 32 |
tyrno30 e tyrno32 a tyrno39 | par128 | 32 |
tyrno40 | gaussian | 64 |
A configuração destes parâmetros para cada uma das máquinas pode ser consultada sempre que necessário através do comando llstatus. A utilização das máquinas também pode ser consulta por meio das informações em IBM Power 750 Express server / Status dos Máquinas. Áreas scratch As áreas scratch disponíveis, para gravação de arquivos temporários durante o processamento dos jobs são:
Filesystem | Tamanho | Uso |
---|---|---|
/work | 200 GB | local em cada um dos nós |
/workpar | 32 TB | compartilhado pelos nós que executam jobs da fila paralela |
/workgau | 32 TB | disponível no nó que executa jobs da fila gaussian |
Jobs - Limites
Um job LoadLeveler é composto por uma sequência de job steps. Em cada job step pode ser processado um programa executável diferente, e cada job step pode ser processado em uma máquina diferente. Na configuração do LoadLeveler são definidos parâmetros que limitam:
- número máximo de jobs que um usuário pode executar simultaneamente;
- número máximo de jobs que um usuário pode manter enfileirados, ou seja, jobs que podem ser selecionados para execução.
No CENAPAD-SP estes parâmetros estão definidos, para cada usuário, como:
- máximo de 2 jobs (na fila, ou em execução) na fila gaussian
- máximo de 2 jobs (na fila, ou em execução) na fila par128
- máximo de 2 jobs na fila e 1 job em execução na fila exp512
- máximo de 64 CPUs alocadas para jobs em execução na fila paralela
- máximo de 6 jobs em execução simultânea (jobs no estado Running) em todas as filas
- máximo de 10 jobs aguardando recursos para execução (jobs no estado Idle) em todas as filas
- máximo de 144 CPUs usadas simultaneamente
Os jobs não enfileirados, por ultrapassarem estes limites, são mantidos no estado NotQueued.
Filas
Os jobs em execução ou aguardando a disponibilidade de recursos para execução são mantidos em uma fila. Quando um usuário submete um job ao LoadLeveler este job é colocado nesta fila, que é uma base de dados com os jobs do sistema de filas. A fila de jobs pode ser consultada através do comando llq, ou então através das informações em IBM Power 750 Express server / Status dos Jobs