45
Centro Nacional de Processamento de Alto Desempenho em São Paulo UNICAMP / MCT-FINEP Julho / 2018

Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

  • Upload
    vanngoc

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

Centro Nacional deProcessamento de Alto

Desempenho em São Paulo

UNICAMP / MCT-FINEPJulho / 2018

Page 2: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

2

Page 3: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

3

Sumário

Apresentação...................................................................................................4

CENAPAD-SP.................................................................................................5

Informações e Suporte aos Usuários................................................................6

Convenções Adotadas.....................................................................................7

Equipamentos Disponíveis..............................................................................8

Ambiente SGI.................................................................................................. 9

Linguagens de programação, editores e bibliotecas - Ambiente SGI..............12

Ambiente IBM P750......................................................................................13

Linguagens de programação, editores e bibliotecas Ambiente IBM P750......14

Ambiente IBM/GPU...................................................................................... 15

Linguagens de programação, editores e bibliotecas Ambiente IBM/GPU......16

Contas, Projetos e Contabilização de Uso......................................................17

Acesso aos Equipamentos..............................................................................18

Escolhendo o ambiente computacional e transferindo arquivos.....................19

Como executar jobs batch (ambiente SGI Altix 1350/450)............................22

Como executar jobs batch (ambiente IBM P750)...........................................26

Como executar jobs batch (ambiente IBM/GPU)...........................................36

Como executar jobs batch (ambiente SGI Altix ICE 8400 LX)......................40

Treinamentos................................................................................................. 45

Page 4: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

Apresentação

Senhor usuário,

Este manual descreve sucintamente as características do ambiente CENAPAD-SP eregistra algumas informações referentes à utilização do mesmo. Tutoriais que tratam maisdetalhadamente os tópicos aqui abordados, bem como informações atualizadas sobre oambiente de hardware e de software podem ser obtidas pelo nosso serviço on-line, noendereço:

www.cenapad.unicamp.br

Dúvidas que não forem esclarecidas por nenhuma das vias indicadas, sugestões,comentários ou reclamações que contribuam para o aperfeiçoamento do nosso serviçodevem ser encaminhadas para a equipe técnica do CENAPAD-SP, através do endereçoeletrônico:

[email protected]

Esperamos que este manual seja uma boa ferramenta de auxílio ao desenvolvimentode sua pesquisa.

Atenciosamente,

Suporte Técnico CENAPAD-SP

4

Page 5: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

5

CENAPAD-SP

O CENAPAD-SP é um dos Centros Nacionais de Processamento de AltoDesempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCTatravés da FINEP. Foi instalado em junho de 1994, sendo hoje um Centro ligado à Pro-Reitoria de Pesquisa da UNICAMP.

Sua missão é apoiar as atividades de P&D nas áreas de ciência e tecnologia do País,disponibilizando um ambiente de alto desempenho e afins, atuando como um centro deexcelência em novas tendências computacionais e contribuindo para a formação dacomunidade científica e empresarial. Para isso, disponibiliza aos seus usuários umpoderoso ambiente para computação de alto desempenho, com recursos de hardware esoftware, bem com suporte técnico e operacional necessários.

O CENAPAD-SP oferece ainda Treinamentos especializados na área deComputação de Alto Desempenho, abertos à comunidade científica e empresarial.

Page 6: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

Informações e Suporte aosUsuários

Todas as informações relativas ao CENAPAD-SP e ao Projeto SINAPAD estão disponíveis em:

WWW: www.cenapad.unicamp.br

CENAPAD-SP Notícias: www.cenapad.unicamp.br/servicos/noticias/noticias.shtml

E-mails:

[email protected]

Devem ser encaminhadas para este endereço quaisquer dúvidas relativas ao uso doambiente, de compiladores e aplicativos em geral.

[email protected]

Este endereço deve ser utilizado para a notificação de problemas no ambiente, taiscomo impossibilidade de acesso, falhas no sistema operacional, ou qualquer ocorrência queimpeça a utilização de recursos computacionais oferecidos pelo CENAPAD-SP.

[email protected]

Informações acerca da programação e inscrição de cursos oferecidos peloCENAPAD-SP devem ser solicitadas por este endereço.

Telefone: (0xx19) 3521-2195

6

Page 7: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

7

Convenções Adotadas

Neste documento, foram adotadas as seguintes convenções:

O comando digitado pelo usuário é representado por meio da fonte courier negrito ea saída gerada pelo sistema é representada pela fonte courier normal.

A parte variável do comando (parâmetro) é representada em itálico.

O caractere ^ indica que a tecla control deve ser pressionada simultaneamente com a teclaque o segue. Por exemplo, ^C.

Os parâmetros opcionais de um comando são representados entre colchetes "[...]".

O sinal de prompt é indicado pelo símbolo %.

O nome das máquinas será representado em itálico negrito.

Page 8: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

Equipamentos Disponíveis

O CENAPAD-SP disponibiliza um ambiente computacional poderoso, baseado emmáquinas RISC (IBM) e Intel (SGI), com sistema operacional baseado em Unix. Acapacidade de processamento teórica desses ambientes totaliza em torno de 33 TFLOPS,além de 250 TB de disco externo. Seu uso é medido em Service Units, que sãocontabilizadas conforme os usuários executam comandos e processam jobs.

Os ambientes computacionais disponíveis no CENAPAD-SP são:

Ambiente IBM P750 (Sistema Operacional: Unix AIX) Ambiente IBM/GPU (Sistema Operacional: Linux SUSE) Ambiente SGI Altix 1350/450 (Sistema Operacional: Linux SUSE) Ambiente SGI Altix ICE 8400 LX (Sistema Operacional: Linux SUSE)

Cada um desses ambientes tem seus recursos, suas ferramentas, suas limitações eespecificidades. A seguir, serão relacionadas as principais características das máquinas decada um desses ambientes.

Maiores detalhes podem ser obtidos a partir de:

www.cenapad.unicamp.br

8

Page 9: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

9

Ambiente SGI

SGI Altix ICE 8400 LX O sistema Altix ICE 8400 LX instalado no CENAPAD-SP tem 32 nós, interconectadosatravés de uma rede Infiniband de alto desempenho, dispostos em 2 individual Rack Unit(iRU), cada um deles com desempenho teórico de 160 GFLOPs e com a seguinteconfiguração:

2 processadores Intel Xeon Six Core 5680 de 3.33GHz 36GB de memória RAM hostnames r1i0n0.ice.cenapad-sp.br .. r1i0n15.ice.cenapad-sp.br hostnames r1i1n0.ice.cenapad-sp.br .. r1i1n15.ice.cenapad-sp.br

Nó de acesso

O nó de acesso ao sistema SGI Altix ICE é ice.cenapad.unicamp.br(143.106.42.235) que corresponde ao nó ice.ice.cenapad.sp.br (10.1.5.12).

Sistema Operacional

SUSE LINUX Enterprise Server 11 SP1 (x86_64) kernel 2.6.32.13 64bits.

SGI Altix 1350/450

O sistema Altix 1350 instalado no CENAPAD-SP tem 4 nós Intel Itanium2 com aseguinte configuração:

1 nó com 16 processadores Intel Itanium2, 1.5GHz e 96GB RAM 1 nó com 16 processadores Intel Itanium2, 1.5GHz e 86GB RAM 1 nó com 4 processadores Intel Itanium2, 1.5GHz e 24GB RAM 1 nó com 16 processadores Intel Itanium2, 1.5GHz e 60GB RAM

O sistema Altix 450 instalado no CENAPAD-SP tem 3 nós Intel Itanium2 DualCore com a seguinte configuração:

1 nó com 34 processadores (68 cores) Intel Itanium2 Dual-core série 9000 1.6GHz e195GB RAM 1 nó com 38 processadores (72 cores) Intel Itanium2 Dual-core série 9000 1.6GHz e195GB RAM 1 nó com 24 processadores (48 cores) Intel Itanium2 Dual-core série 9000 1.6GHz e 120GB RAM

Nós

Page 10: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

Os nós estão dispostos em 4 frames:

Frame 01 2 nós com 16 processadores Intel Itanium2, 1.5GHzo Desempenho teórico de 96 GFLOPs por nóo 96 e 86 GB de memória RAMo 220 GB de espaço em disco por nóo Hostname sg1no1.cenapad.unicamp.br, sg1no2.cenapad.unicamp.br

Frame 02 1 nó com 4 processadores Intel Itanium2, 1.5GHzo Desempenho teórico de 24 GFLOPso 24 GB de memória RAMo 15 TB de espaço em disco, sendo 1,6 TB reservado para /worko Hostname: sg2gq1.cenapad.unicamp.br (athenas.cenapad.unicamp.br)

2 nós com 16 processadores Intel Itanium2, 1.5GHzo Desempenho teórico de 96 GFLOPs por nóo 53 e 60 GB de memória RAMo 200 GB de espaço em disco por nóo Hostnames: sg2no1.cenapad.unicamp.br, sg2no2.cenapad.unicamp.br

Frame 03 1 nó com 34 processadores (68 cores) Intel Itanium2 Dual-core série 9000, 1.6GHzo Desempenho teórico de 435 GFLOPso 195 GB de memória RAMo 300 GB de espaço em discoo Hostnames: sg3no1.cenapad.unicamp.br

1 nó com 38 processadores (72 cores) Intel Itanium2 Dual-core série 9000, 1.6GHzo Desempenho teórico de 486 GFLOPso 195 GB de memória RAM no nóo 300 GB de espaço em discoo Hostname: sg3no2.cenapad.unicamp.br

Frame 04 1 nó com 16 processadores Intel Itanium2, 1.5GHzo Desempenho teórico de 96 GFLOPso 32 GB de memória RAMo 200 GB de espaço em disco

10

Page 11: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

11

o Hostnames: sg4no1.cenapad.unicamp.brNó de acesso

O nó de acesso ao sistema SGI é athenas.cenapad.unicamp.br (143.106.42.243) quecorresponde ao nó:

sg2gq1.cenapad-sp.br.

Este nó também é o servidor de arquivos (36 TB) e de controle do sistema SGI.

Sistema Operacional SUSE LINUX Enterprise Server 10 (ia64)

kernel 3.0.76-0.11 64bits

Page 12: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

Linguagens de programação,editores e bibliotecas - Ambiente

SGI

Linguagens de programação

Intel Fortran Intel C GNU C e GNU C++ (gcc/g++)

Bibliotecas Científicas

Intel MKL (Math Kernel Library)

Bibliotecas para Processamento Paralelo

MPI (Message Passing Interface) SGI MPT (Message Passing Toolkit)

Editores de Texto

vi emacs

Software

Uma lista completa dos recursos de software disponíveis no ambiente está disponível apartir de:

www.cenapad.unicamp.br

12

Page 13: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

13

Ambiente IBM P750

IBM Power 750 Express server

O equipamento IBM do CENAPAD-SP é composto por 40 nós computacionais SMPmodelo IBM P750, que utilizam processadores Power7 de 3.55GHz. São 32 cores (núcleosde processamento), 128GB de memória RAM e 908,8 GFlops de desempenho teórico emcada nó computacional, totalizando 1280 cores, 5TB de memória RAM e capacidadeteórica de processamento de aproximadamente 37 TFLOPs.

Conta também com sistema de armazenamento IBM System Storage DS5020 com224TB e três unidades Tape Library IBM TS3200 para backup.

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:o 4 processadores IBM Power7 8Cores, 3.55GHz;o 128GB de memória RAM;o 2 discos SAS 300GB 10K;

1 nó IBM P520 (Hostname: tyr.cenapad.unicamp.br), para acesso ao sistema, com:o 2 processadores IBM Power6 + 2Cores, 4.7GHz;o 16 GB de memória RAM;o 4 discos SAS 300GB 15K;

1 nó IBM P550 (Hostname: tsm.cenapadsp.br), para controle de storage e backup de dados, com:o 2 processadores IBM Power6+ 2Cores, 5GHz;o 32GB de memória RAM;o 4 discos SAS 300GB 15K;

Nó de acesso

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.cenapad.unicamp.br (143.106.42.195), quecorresponde ao nó tyr.cenapadsp.br.

Sistema Operacional Nós P750, P550 e P520 (processadores IBM Power):o AIX 6.1

Page 14: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

Linguagens de programação,editores e bibliotecas Ambiente

IBM P750

Linguagens de Programação

C/C++

Compilador GNU de C e C++ (gcc/g++) Compilador AIX de C e C++ (xlc/xlC)

FORTRAN

Compilador IBM de FORTRAN (xlf e f77) Compilador IBM de FORTRAN90 (xlf90)

Bibliotecas Científicas

ESSL (Engineering and Scientific Subroutine Library, que inclui LAPACK,SCALAPACK, BLAS, BLACS, etc)

Bibliotecas para Processamento Paralelo

MPI (Message Passing Interface)

Editores de texto

emacs vi

Software

Uma lista completa dos recursos de software disponíveis no ambiente está disponível apartir de:

www.cenapad.unicamp.br

14

Page 15: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

15

Ambiente IBM/GPU

IBM iDataPlex/GPU

O sistema IBM GPU instalado no CENAPAD-SP é composto por 6 nodes. Cada nodepossui 2 CPU´s (8 cores e 16 Threads) Intel Xeon X5570 de 2,93GHz, 24 GB de memóriaRAM e 2 placas Nvidia Tesla M2050 (cada placa possui 448 núcleos CUDA e 3 GB dememória RAM). A capacidade de processamento teórica de cada placa Nvidia Tesla M2050é de 515 Gflops em dupla precisão e de 1.03 Tflops em precisão simples no formato deponto flutuante. No total são 48 cores / 96 threads, 144 GB de memória RAM e 12 placasNvidia Tesla M2050.

Nós

O sistema IBM GPU instalado no CENAPAD-SP tem 6 nós, cada um com a seguinte configuração:

2 processadores Intel Xeon Processor X5570 de 2.93 GHz - 8 cores / 16 threads 24GB de memória RAM 2 placas gráficas Nvidia Tesla M2050 hostnames gpuno01.cenapadsp.br .. gpuno06.cenapadsp.br

Nó de acesso

O nó de acesso ao sistema IBM GPU é gpu.cenapad.unicamp.br (143.106.42.249).

Sistema Operacional

SUSE LINUX Enterprise Server 11 SP3 (x86_64)

Page 16: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

Linguagens de programação,editores e bibliotecas Ambiente

IBM/GPU

Linguagens de Programação

Intel Fortran Intel C GNU C e GNU C++ (gcc/g++)

Bibliotecas Científicas

Intel MKL (Math Kernel Library) 10.3.1

Bibliotecas para Processamento Paralelo

OpenMPI (1.8.6 e 1.8.7) CUDA 5.5

Editores de texto

emacs vi

Software

Uma lista completa dos recursos de software disponíveis no ambiente está disponível apartir de:

www.cenapad.unicamp.br

16

Page 17: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

17

Contas, Projetos e Contabilização de Uso

O CENAPAD-SP estabelece dois tipos de contas de usuários: contas experimentais temporárias e contas-projeto.

Contas experimentais temporárias: têm por objetivo dar ao usuário a oportunidade de avaliar o CENAPAD-SP no que diz respeito aos equipamentos, ambientes computacionais e softwares disponíveis. Essas contas têm validade máxima de três meses, e serão expiradas antes desse prazo caso sejam utilizadas mais de 10 Service Units (o equivalente a 40 horas de CPU em uma das servidoras IBM-P750).

Contas-projeto: são contas permanentes, criadas a partir de encaminhamento de um projeto de pesquisa. A contabilização do uso é feita através de Service Units, segundo a tabela :

Modelo Horas de CPU equivalentes a uma Service Unit

Número de máquinas no ambiente

IBM-P750 4,0 h 40

IBM/GPU 6,0 h 6 SGI-ICE 6,0 h 32

SGI-Itanium2 20,0 h 11

Às contas-projeto são alocadas inicialmente 8.000 Service Units, que podem

ser aumentadas conforme a necessidade.

No primeiro ano de vigência de sua conta-projeto, o usuário deve encaminhar aoCENAPAD-SP, semestralmente, um relatório de acompanhamento, descrevendo autilização que foi feita do ambiente. A partir do segundo ano de vigência de sua contapermanente, esse relatório passa a ser anual. Em ambos os casos, o usuário recebe por e-mail, com um mês de antecedência, o modelo do relatório periódico. Este deve serpreenchido e enviado por e-mail para o endereço eletrônico:

[email protected]

Maiores informações sobre procedimentos de abertura de contas, encaminhamento

de projetos e relatórios de acompanhamento podem ser obtidas no site:www.cenapad.unicamp.br

Page 18: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

Acesso aos Equipamentos

Para acessar remotamente o ambiente CENAPAD-SP, é preciso que o usuáriopossua o software SSH instalado em sua máquina. O programa telnet, que oferecia omesmo serviço, não pode ser utilizado para conexão ao CENAPAD-SP, pois com ele asenha do usuário trafega pela Internet sem encriptação. Há versões do SSH para asplataformas mais comuns, incluindo Windows e Unix, disponíveis no FTP anônimo daUNICAMP (ftp.unicamp.br).

O acesso remoto ao CENAPAD-SP pode ser feito segundo os procedimentos aseguir, que direcionarão o usuário para a máquina servidora de conexões.

Em ambiente Unix, executar o comando:

% ssh cenapad.unicamp.br [-l username]

fornecendo, quando solicitado, a identificação da conta (username) e a senha de acesso. OSSH assume como username o login da conta por onde o usuário tenta acessar a sua contado CENAPAD-SP, vetando seu acesso à mesma, caso as duas não tenham logins similares.Apenas neste caso, é preciso utilizar o termo entre colchetes, colocando no lugar deusername o login da sua conta no CENAPAD-SP.

Em ambiente Windows, executar o programa ssh, indicando como hostname a máquinacenapad.unicamp.br e fornecendo, quando solicitado, a identificação da conta (username)e a senha de acesso.

Vale ainda mencionar que, sempre que o SSH solicitar uma resposta do tipo “yes orno”, a mesma deve ser escrita com todas as letras escritas em minúsculo. Respostas escritasem letras maiúsculas, ou abreviações do tipo y ou n, não são aceitas.

Na transferência de arquivos (FTP) de/para sua conta no CENAPAD-SP, o usuáriodeve utilizar o SCP, um dos componentes do SSH. O SCP utiliza criptografia, impedindoque terceiros tenham acesso às informações transmitidas. Todas as transferências de arquivos feitas para o ambiente CENAPAD-SP devemnecessariamente ser feitas utilizando-se como destino a máquina:

cenapad.unicamp.br

A máquina cenapad.unicamp.br é um servidor de conexão, e a partir dela deve serfeito o acesso ao ambiente computacional desejado. Para detalhes sobre a escolha doambiente, bem como informações sobre transferência de arquivos para o mesmo, veja nesseGuia o item "Escolhendo o ambiente computacional e transferindo arquivos".

18

Page 19: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

19

Escolhendo o ambientecomputacional e transferindo

arquivos

O CENAPAD-SP dispõe de quatro ambientes computacionais distintos, a saber:

Ambiente SGI Altix 1350/450 Ambiente IBM P750 Ambiente IBM/GPU Ambiente SGI Altix – ICE

Ao conectar-se ao CENAPAD-SP, o usuário estará por default conectado ao servidorde conexões (máquina frontend.cenapad.unicamp.br).

Se desejar se conectar a algum dos outros ambientes, o usuário deve fazê-lo através deum dos comandos abaixo:

% ssh athenas - para direcionar sua sessão para o front-end do ambiente SGI Altix

% ssh tyr - para direcionar sua sessão para o front-end do ambiente IBM P750

% ssh gpu - para direcionar sua sessão para o front-end do ambiente IBM/GPU

% ssh ice - para direcionar sua sessão para o front-end do ambiente ICE

O login e a senha do usuário no CENAPAD-SP são sempre os mesmos, independente do ambiente computacional utilizado.

Transferindo arquivos para os diferentes ambientes computacionais

Estão disponíveis, a partir da sessão no servidor de conexões, os diretórios home do usuário em cada um dos ambientes computacionais:

Ambiente SGI-Altix - diretório homealtix Ambiente IBM P750 - diretório homeibm Ambiente IBM/GPU - diretório homegpu Ambiente SGI-ICE - diretório homeice

Page 20: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

A transferência de arquivos para o CENAPAD deve sempre ser feita para o servidor de conexões (cenapad.unicamp.br), indicando-se o ambiente destino através dos diretórios acima.

Exemplo:

- Para transferir um arquivo de sua máquina local para o ambiente IBM o usuário deve usar,em sua máquina local, o comando:

scp nome_do_arquivo [email protected]:~/homeibm

Do mesmo modo, a transferência de arquivos do CENAPAD para a máquina local do usuário deve indicar o ambiente correspondente.

Exemplo:

- Para transferir um arquivo de sua conta CENAPAD no ambiente SGI-ICE para sua máquina local, o usuário deve usar (também em sua máquina local) o comando:

scp [email protected]:~/homeice/nome_do_arquivo .

IMPORTANTE: O comando acima assume que o arquivo se encontra no "diretório raiz" da conta do usuário no ambiente. Caso o arquivo a ser transferido esteja dentro de algum subdiretório, o "caminho" completo deve ser especificado.

Exemplo:

- Se o arquivo encontra-se na conta do usuário no ambiente SGI-Altix sob o diretório "resultados" o comando deve ser:

scp [email protected]:~/homealtix/resultados/nome_do_arquivo .

O caracter "." (ponto final) é mandatório nos comandos acima, e pode opcionalmente ser substituído por um subdiretório da conta do usuário em sua máquina local.

IMPORTANTE - Caso o arquivo de origem tenha sido criado em uma máquina Windows, é preciso convertê-lo para o formato Linux antes de usá-lo no ambiente CENAPAD. Para fazer essa conversão, o usuário deve usar o seguinte comando (no ambiente CENAPAD): dos2unix <nome_do_arquivo>

Em todos os ambientes, as máquinas podem ser usadas de duas maneiras:

1) Modo Interativo - usado para compilação de programas, criação e edição de inputs,verificação de outputs e submissão de jobs a serem executados.

20

Page 21: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

21

2) Modo Batch - usado para o processamento propriamente dito. Nesse modo, o job ésubmetido a um Sistema de Filas, para ser executado quando houver máquina/recursosdisponíveis. Podem ser executados em batch programas seriais ou paralelos.

É necessário que se utilize as ferramentas adequadas em cada um dos ambientescomputacionais do CENAPAD-SP, dada a sua heterogeneidade. Algumas são comuns aosquatro ambientes (a maioria dos comandos UNIX, por exemplo). Mas há muitas diferençasnas ferramentas disponíveis em cada ambiente no que diz respeito às compilações deprogramas e às submissões de jobs para processamento.

Nos próximos capítulos deste Guia serão descritos os procedimentos básicos parasubmissão de tarefas computacionais (jobs batch) em cada um dos diferentes ambientescomputacionais disponíveis no CENAPAD-SP.

Page 22: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

Como executar jobs batch (ambiente SGI Altix 1350/450)

Submissão de jobs

Para submeter um job para execução no ambiente SGI Altix do CENAPAD-SP o usuáriodeve:

1. Logar no CENAPAD-SP

2. Logar na máquina interativa deste ambiente por meio do comando:

% ssh athenas(utilizando o mesmo usuário e a mesma senha do CENAPAD-SP)

3. Criar um arquivo com diretivas sobre o job a ser executado

4. Submeter o job a ser executado para o sistema de filas (PBS), através do comando:

% qsub <nome_do_script>

Para verificar o status das filas nesse ambiente deve ser usado o comando:

% qstat ­a

Para verificar o status dos jobs de um determinado usuário nesse ambiente deve ser usado ocomando:

% qstat –au login_do_usuario

As filas e restrições definidas no PBSPro são:

Filas SeriaisNum MaxJobs exec

Num Maxcpus/jobs

Tempo Maxuso / cpu

Tempo Max(elapsed)

Num MaxJobs/user

pequena 4 1 24 hs - -

media 7 1 168 hs - -

grande 7 1 744 hs - -

FilasParalelas

Num MaxJobs exec

Num Maxcpus/jobs

Tempo Maxuso / cpu

Tempo Max(elapsed)

Num MaxJobs/user

paralela 4 16 11904 hs 30 dias -

22

Page 23: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

23

Área scratch

A área scratch disponível, para gravação de arquivos temporários durante oprocessamento dos jobs é:

Filesystem Tamanho Uso

/work 1,7 TB compartilhada por todos os nós

No ambiente SGI-Altix 1350/450 estão definidos os seguintes limites para cada usuário:

Todas as máquinas desse ambiente rodam jobs das filas pequena, média, grande e paralela.

O número máximo de jobs na fila paralela para um mesmo usuário é 4.

O número máximo de jobs em execução simultânea para um mesmo usuário é 3.

O limite máximo de memória alocada para um job é de 30 GB.

O tempo de processamento na fila paralela é contabilizado pela soma do uso de todos os processadores.

Criando um Arquivo de Comandos

Para executar um processamento, é preciso criar um arquivo de comandos quedescreve o job a ser executado.

Exemplos de arquivos de comandos (scripts) de submissão para as diferentes classes (filas)

1) Jobs Seriais

Para submissão de jobs para as classes que processam programas seriais, deve-seusar um script como esse do exemplo a seguir:

#PBS ­q pequena #PBS ­N testjob #PBS ­V #!/bin/sh cd $PBS_O_WORKDIR echo "­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­" echo "Inicio do job:" `date` echo "Hostname: " `hostname` <chamada do executável do programa com seus parâmetros> echo "Final do job:" `date` echo "­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­" 

Page 24: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

A classe escolhida no exemplo anterior é a classe pequena; há também as classesmédia e grande que podem ser usadas, dependendo do tempo estimado de execução doprocessamento (ver tabela na página 22).

2) Jobs Paralelos

A execução de programas paralelos que necessitam mais de um processador emqualquer nó, é feita através do comando mpirun, que administra o ambiente paralelo, e porsua vez, a comunicação entre os processadores.

A execução de jobs paralelos, deve ser feita através da submissão de um script.

Por exemplo, o script jobpar.sh pode conter:

#PBS ­q paralela#PBS ­N testjob#PBS ­V#PBS ­l ncpus=4#!/bin/shcd $PBS_O_WORKDIRecho "­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­"echo "Inicio do job:" `date`echo "Hostname: " `hostname`echo "PWD: " $PWDecho "Arquivos:"mpirun ­np 4 <chamada do executável do programa com seus parâmetros>echo "Final do job:" `date`echo "­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­"

Neste caso, acrescenta-se a diretiva PBS -l que especifica os recursos necessáriospara a execução do job.

Para uma execução em paralelo, o principal recurso é o número de processadoresque serão utilizados.

#PBS -l ncpus=<n>

Número n de processadores.

O comando mpirun ainda pode especificar o número de processos que serãoinicializados para execução, através da opção -np.

Se o número de processos for igual ao número de processadores, o mpirun iniciaráum processo por processador.

Se o número de processos for maior que o número de processadores, o mpiruniniciará mais de um processo por processador.

24

Page 25: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

25

3) Jobs Gamess

A execução de jobs Gamess pode ser feita através da submissão de um script como o exemplo abaixo.

Neste exemplo, devem ser alterados:

número_de_cpus - número de cpus a serem utilizadas

nomejob - identificação do job

nomejob_out - nome do arquivo stdout a ser gravado

nomejob_err - nome do arquivo stderr a ser gravado

input_gms - nome do arquivo de input para o Gamess (se não estiver no mesmo diretório do script deve ser especificado todo o path)

log_gms - nome do arquivo de saída do Gamess (se não estiver no mesmo diretório do script deve ser especificado todo o path)

Exemplo de script:

#!/bin/sh #PBS ­q paralela #PBS ­l ncpus=numero_de_cpus #PBS ­N nomejob #PBS ­o nomejob_out #PBS ­e nomejob_err echo "­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­" echo "Inicio do job:" `date` echo "Nodes utilizados para execucao:" cat $PBS_NODEFILE echo "­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­" cd $PBS_O_WORKDIRdirgms=/usr/local/gamess_12_JAN_2009_R3NCPUS=numero_cpus$dirgms/rungms input_gms 00 $NCPUS >& log_gmsecho "­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­" echo "Final do job:" `date` echo "­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­"

Page 26: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

Como executar jobs batch (ambiente IBM P750)

Submissão de jobs

Para submeter um job para execução no ambiente IBM P750 do CENAPAD-SP o usuário deve:

1. Logar no CENAPAD-SP

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

3. Criar um arquivo com diretivas sobre o job a ser executado

4. Submeter o job a ser executado para o sistema de filas (LoadLeveler), através do comando:

% llsubmit <script>

Para verificar o status das filas nesse ambiente deve ser usado o comando:

% llq

Para verificar o status dos jobs de um determinado usuário nesse ambiente deve ser usado ocomando:

% llq –u login_do_usuario

26

Page 27: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

27

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 declasses, que foram definidas com o objetivo de distribuir da melhor forma possível osrecursos do ambiente entre os usuários e, principalmente, otimizar o tempo deprocessamento 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:

Tipo Númerode nós Classe Limite de

uso de CPULimite de tempoprocessamento

Num. Máx. de cores

Num. Máx. de threads

Serial20 pequena 2 horas 2:30 horas 1 1

media 5 dias 5 dias e 12 horas 1 1

grande 30 dias 31 dias 1 1

Paralela

21 paralela 256 dias 30 dias e 4 horas 64 2568 exp512 512 dias 1 dia e 30 minutos 128 512

9 par128 896 dias 7 dias e 2 horas 32 128

1 gaussian 112 dias 10 dias 16 64

Page 28: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

Áreas scratch

As áreas scratch disponíveis, para gravação de arquivos temporários durante oprocessamento 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

No ambiente IBM P750 estão definidos os seguintes limites para cada usuário:

máximo de 2 jobs em execução na fila gaussian. máximo de 1 job em execução na fila exp512. máximo de 2 jobs em execução na fila par128. máximo de 6 jobs em execução simultânea (jobs no estado Running) nas filas; máximo de 10 jobs aguardando recursos para execução (jobs no estado Idle).

O tempo de processamento na fila paralela é contabilizado pela soma do uso de todos osprocessadores.

Criando um Arquivo de Comandos

Antes de submeter um job para execução, é necessária a criação de um arquivo decomandos, que descreve o job que deverá ser executado. Ou seja, todo job deve sersubmetido através de um arquivo de comandos, pois o LoadLeveler não submete arquivosexecutáveis.

Este arquivo de comandos assemelha-se a um shell script, que contém comandosdados por palavras-chaves do LoadLeveler (diretivas) que descrevem o job a ser executado.Pode também conter linhas de comentários (não executáveis).

28

Page 29: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

29

Exemplos de arquivos de comandos (scripts) de submissão para as diferentes classes (filas)

1) Jobs Seriais

Para submissão de jobs para as classes que processam programas seriais, deve-se usar um script como o exemplo a seguir:

# # Job serial# @ class = pequena# @ job_name = jobT# @ output = jobT.$(jobid).out# @ error = jobT.$(jobid).err# @ notification = never# @ queue# exibe no arquivo de saida o nome do host onde job fois# executado e data/horaecho =============================================echo "`/bin/hostname` ­ `/bin/date`"echo =============================================# execucao do programa./programa < /dev/null > output.$$ 2>&1

A classe escolhida no exemplo acima é a classe pequena; há também as classesmédia e grande que podem ser usadas, dependendo do tempo estimado de execução doprocessamento (ver tabela na página 27).

Page 30: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

2) Jobs Paralelos

Jobs paralelos são processados por meio da submissão para as classes paralela,par128 ou exp512. Cada uma destas classes tem características diferenciadas, como porexemplo: tempo de cpu, tempo máximo (wall_clock) de execução e número deprocessadores alocados. Para a submissão de jobs para uma destas classes deve serutilizado um script como um dos exemplos a seguir.

Classe Paralela

#!/bin/sh # # @ node = 1 # @ total_tasks = 4 # @ node_usage = shared # @ job_name = jobpar # @ input = /dev/null # @ output = jobpar.$(Cluster).$(Process).out # @ error = jobpar.$(Cluster).$(Process).err # @ notification = never # @ environment = COPY_ALL # @ job_type = parallel # @ class = paralela # @ queue ./programa < /dev/null > output.$$ 2>&1

No exemplo acima foi solicitado para o job 1 node e 4 tasks (CPUs/cores). Pode-sesolicitar no máximo 8 nodes e 64 tasks (CPUs/cores) por job. Caso o número de nodes (ouseja, a diretiva "#@ node") não seja especificado no script de submissão, será assumido queo número de nodes desejado é 1 (um). Nesse caso, o valor máximo permitido para adiretiva "#@ total_tasks" é de 32 (que é o número de CPUs em cada node desse ambiente).

30

Page 31: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

31

Classe Par128

#!/bin/sh# Exemplo job classe par128# @ node = 1# @ total_tasks = 32# @ node_usage = not_shared# @ job_name = jobpar128# @ input = /dev/null# @ output = jobpar128.$(Cluster).$(Process).out# @ error = jobpar128.$(Cluster).$(Process).err# @ notification = never# @ environment = COPY_ALL# @ job_type = parallel# @ class = par128# @ core_limit = 8388608# @ queueexport OMP_NUM_THREADS=4export MP_TASK_AFFINITY=cpu:4./programa < /dev/null > output.$$ 2>&1

No exemplo acima, foi solicitado para o job 1 node e 32 tasks (CPUs/cores). Asdiretivas que indicam o número de nodes (# @ node = 1), o número de CPUs/cores (# @total_tasks = 32) e o modo de compartilhamento do node (# @ node_usage =not_shared) não devem ser modificadas nos scripts de submissão para a fila par128. Casoalguma dessas diretivas seja modificada, a submissão não será feita (o job não será incluídona fila correspondente).

Page 32: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

Classe exp512

#!/bin/sh# Exemplo job classe exp512# @ node = 4# @ total_tasks = 128# @ node_usage = not_shared# @ job_name = job_exp512# @ input = /dev/null# @ output = job_exp512.$(Cluster).$(Process).out# @ error = job_exp512.$(Cluster).$(Process).err# @ notification = never# @ environment = COPY_ALL# @ job_type = parallel# @ class = exp512# @ network.MPI = sn_all,not_shared,us# @ bulkxfer = yes# @ queueexport OMP_NUM_THREADS=4export MP_TASK_AFFINITY=cpu:4./programa < /dev/null > output.$$ 2>&1

No exemplo acima, foram solicitados para o job 4 nodes e 32 tasks (CPUs/cores).As diretivas que indicam o número de nodes (# @ node = 4), o número de CPUs/cores (#@ total_tasks = 32) e o modo de compartilhamento dos nodes (# @ node_usage =not_shared) não devem ser modificadas nos scripts de submissão para a fila exp512. Casoalguma dessas diretivas seja modificada, a submissão não será feita (o job não será incluídona fila correspondente).

Para todos os exemplos acima, assumimos que o programa sendo executado (./programa) está no mesmo diretório em que está o script de submissão.

O usuário pode especificar o caminho completo (PATH) do programa a ser executado, caso necessário.

32

Page 33: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

33

3) Jobs Gaussian

Exemplo de script utilizando 4 CPUs:

#!/usr/bin/csh## Script para submissao de jobs Gaussian (G09) no ambiente# IBM/Loadleveler usando 4 Processadores## IMPORTANTE : Deve ser especificado no arquivo de input a# diretiva indicando execucao em 4 CPUs## %NProcShared=4## @ node = 1# @ total_tasks = 4# @ node_usage = shared# @ job_name = jobgauss# @ input = /dev/null# @ output = jobgauss.$(Cluster).$(Process).out# @ error = jobgauss.$(Cluster).$(Process).err# @ notification = complete# @ notify_user = [email protected]# @ environment = COPY_ALL# @ job_type = parallel# @ class = gaussian# @ queue

## Setar vars de ambiente necessarias para o G09#

setenv g09root /g09rootsetenv GAUSS_SCRDIR /workgau/G09/$USER/$LOADL_PIDsource $g09root/g09/bsd/g09.login

## Cria diretorio de scratch a ser usado na execucao#

mkdir ­p /workgau/G09/$USER/$LOADL_PID

## Indica execucao no diretorio de scratch#

cd $GAUSS_SCRDIR

Page 34: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

## Execucao em paralelo / multithread#

setenv OMP_NUM_THREADS 4setenv MP_TASK_AFFINITY cpu:4

## Chamada do executavel## ATENCAO : deve ser indicado o caminho completo (PATH)# de onde esta' o arquivo de input (extensao .com) e o# caminho completo (PATH) de onde deve ser gravado o# arquivo de output (extensao .log)#

g09 < caminho_completo/input.com > caminho_completo/output.log

## Copia arquivo chk para destino (na conta do usuario)## ATENCAO : deve ser indicado o caminho completo (PATH)# de onde deve ser gravado o arquivo de chk gerado#

cp Gau*chk caminho_completo

# # Removendo arquivos temporarios gerados na area de scratch # 

cdrm –rf $GAUSS_SCRDIR

Importante:

No script acima, é preciso colocar o "caminho" dos arquivos de input e outputdesejados na linha de comando em que se faz a chamada do G09. Se esses arquivosestiverem no diretório raiz de sua conta, basta especificar para o exemplo acima~/input.com e ~/output.log

Para processamentos do G09 utilizando mais do que uma CPU, é preciso que oarquivo de input correspondente seja configurado de maneira consistente com o número deCPUs solicitado. Para o exemplo acima (4 CPUs) o arquivo de input correspondente deveindicar também 4 CPUs, na diretiva nprocshared :

%NProcShared=4

Para uma melhor performance, o script acima faz a execução do G09 a partir de um diretório de scratch local da máquina (/work), e não a partir de áreas de scratch global. Recomendamos que esse procedimento não seja modificado.

34

Page 35: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

35

Mas a área /work é limitada em 200 GB. Caso haja a necessidade de gerar grandes arquivos temporários, o /work no exemplo acima deve ser substituido pela área de scratch global /workgau (que tem 32 TB).  

Limites para a fila Gaussian:

O número de CPUs para jobs Gaussian nesse ambiente pode ser : 2, 4, 6, 8, 10, 12,14 ou no máximo 16.

O número máximo de CPUs sendo utilizadas por um mesmo usuário em jobsGaussian nesse ambiente é 16.

O número máximo de jobs na fila gaussian por usuário é 2.

Devido aos termos de licenciamento do G09, o acesso a esse pacote é permitidosomente para usuários das seguintes Instituições : UNICAMP, LNCC, UFC, UFPBe UFRGS.

Page 36: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

Como executar jobs batch (ambiente IBM/GPU)

Submissão de jobs

Para submeter um job para execução no ambiente IBM/GPU do CENAPAD-SP o usuáriodeve:

1. Logar no CENAPAD-SP

2. Logar na máquina interativa deste ambiente por meio do comando:

% ssh gpu(utilizando o mesmo usuário e a mesma senha do CENAPAD-SP)

3. Criar um arquivo com diretivas sobre o job a ser executado

4. Submeter o job a ser executado para o sistema de filas (TORQUE), através do comando:

% qsub <nome_do_script>

Para verificar o status das filas nesse ambiente deve ser usado o comando:

% showq

Para verificar o status dos jobs de um determinado usuário nesse ambiente deve ser usado ocomando:

% qstat

36

Page 37: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

37

As filas e restrições definidas no TORQUE são:

FilaNum Max

nodes por jobNum Max jobs exec

Num Max cpuspor job

Tempo Max (elapsed)

Num Max jobs / user

gpu 1 6 16 720 hs 1

Matlab 1 1 12 168 hs 1

O número máximo de jobs em execução simultânea na fila gpu para um mesmo usuárioé 1.

O número máximo de jobs aguardando execução na fila gpu para um mesmo usuário(estados Queued ou Hold) é 3.

O número máximo de jobs em execução simultânea na fila matlab para um mesmousuário é 1.

O número máximo de jobs aguardando execução na fila matlab para um mesmousuário (estados Queued ou Hold) é 1.

Área de Scratch Não existe área de scratch para esse ambiente.

Execução de jobs Os nós gpuno01 .. gpuno06 não permitem acesso interativo, pois são reservados para oprocessamento batch. O sistema gerenciador de filas, responsável pela execução de jobs, éo TORQUE Resource Manager (Versão 4.2.10).

Exemplos de arquivos de comandos (scripts) de submissão para as diferentes classes(filas)

Para submeter jobs nas filas é necessário criar um script de submissão que pode ser ligeiramente diferente dependendo do software que estiver utilizando.

Page 38: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

1) Jobs paralelos – fila gpu

#!/bin/bash ### Nome da fila de execucao ### #PBS ­q gpu 

### Nome do job ### #PBS ­N testeGPU 

### Nome do arquivo de saida ### #PBS ­o OUTPUT 

### Nome do arquivo de erros ### #PBS ­e ERRO ### NAO ALTERE A LINHA ABAIXO, pois o scheduler nao deixara seu job ser enfileirado ### #PBS ­l nodes=1:ppn=16 

cd $PBS_O_WORKDIR echo "­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­" echo "Inicio do job:" `date` ### Variaveis de ambiente necessarias ### ### Veja opções em: Compiladores e Bibliotecas 

### Programa ### programa_executavel

38

Page 39: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

39

2) Jobs paralelos – fila matlab

#!/bin/bash ### Nome da fila de execucao ### #PBS ­q matlab           ### Nome do job ###            #PBS ­N testeMatlab             ### Nome do arquivo de saida ### #PBS ­o NOME_DO_ARQUIVO_DE_OUTPUT_DESEJADO             ### Nome do arquivo de erros ### #PBS ­e NOME_DO_ARQUIVO_DE_ERRO_DESEJADO               ### Recursos necessarios para execucao:(NAO ALTERE A LINHA ABAIXO) ### #PBS ­l nodes=1:ppn=12           cd $PBS_O_WORKDIR

 ### Variaveis de ambiente necessarias ###

 export PATH=/usr/local/MATLAB/R2013a/bin:$PATH:.

 echo "­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­" echo "Inicio do job:" `date`

 ### ESCOLHA ABAIXO, UMA DAS POSSIVEIS CHAMADAS DO MATLAB, ### ### RETIRANDO O CARACTER "#" DO INICIO DA LINHA.          ###

 ### Chamada do programa (assumindo que nao ha' parametros)###

 # matlab ­nosplash ­nodisplay ­nodesktop ­r "simulacao"

 ### Chamada do programa (assumindo que ha' parametros numericos) ###

 # matlab ­nosplash ­nodisplay ­nodesktop ­r "simulacao(30,1.e­4)"

 ### Chamada do programa (assumindo que ha' parametros alfanumericos)###

 # matlab ­nosplash ­nodisplay ­nodesktop ­r "simulacao('string1','string2')"

 echo "Final do job:" `date` echo "­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­" 

Page 40: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

Como executar jobs batch (ambiente SGI Altix ICE 8400 LX)

Submissão de jobs

Para submeter um job para execução no ambiente SGI Altix ICE do CENAPAD-SP ousuário deve:

1. Logar no CENAPAD-SP

2. Logar na máquina interativa deste ambiente por meio do comando:

% ssh ice(utilizando o mesmo usuário e a mesma senha do CENAPAD-SP)

3. Criar um arquivo com diretivas sobre o job a ser executado

4. Submeter o job a ser executado para o sistema de filas (PBS), através do comando:

% qsub <nome_do_script>

Para verificar o status das filas nesse ambiente deve ser usado o comando:

% qstat ­a

Para verificar o status dos jobs de um determinado usuário nesse ambiente deve ser usado ocomando:

% qstat –au login_do_usuario

As filas e restrições definidas no PBSPro são:

FilaNum Max jobs exec

Num Max cpus / job

Tempo Max uso cpu

Tempo Max (elapsed)

Num Max jobs / user

parice - 24 8640 hs 720 hs -

par48 2 48 (fixo) 8064 hs 168 hs 2

exp96 1 96 (fixo) 2304 hs 24 hs 2

O número máximo de jobs em execução simultânea para um mesmo usuário é 4.

O número máximo de jobs aguardando execução (estados Queued ou Hold) é 10.

40

Page 41: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

41

O número máximo de processadores sendo utilizados simultaneamente por um mesmousuário é 96.

O número máximo de jobs na fila exp96 para um mesmo usuário é 2 (os jobsexcedentes serão automaticamente cancelados).

O número máximo de jobs nas filas par48 para um mesmo usuário é 2 (os jobsexcedentes serão automaticamente cancelados).

O tempo de processamento nestas fila paralelas é contabilizado pela soma do uso de todos os processadores.

Área de Scratch Existe nesse ambiente uma área scratch para gravação dos arquivos temporários geradosdurante o processamento dos jobs. Essa área tem 23 TB, e deve ser referenciada como:

/workice

Criando um Arquivo de Comandos

Também no ambiente SGI Altix ICE é preciso criar um arquivo de comandos quedescreve o job a ser executado.

Nesse ambiente os jobs devem obrigatoriamente ser paralelos (não há filas seriais definidas).

Para execução de processamentos paralelos, recomenda-se o uso do mpiexec_mpt(que é otimizado para esse ambiente).

Page 42: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

Exemplos de arquivos de comandos (scripts) de submissão para as diferentes classes (filas)

1) Jobs Paralelos – fila parice

A execução de jobs paralelos, pode ser feita através da submissão de um script ou de um arquivo binário. Por exemplo, o arquivo jobpar.sh pode conter:

#PBS ­q parice #PBS ­N testjob #PBS ­V #PBS ­l nodes=1:ppn=4 #!/bin/sh cd $PBS_O_WORKDIR echo "­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­" echo "Inicio do job:" `date` echo "Hostname: " `hostname` echo "PWD: " $PWD # # Define PATH e LD_LIBRARY_PATH para uso do mpiexec_mpt # export PATH=/opt/sgi/mpt/mpt­2.03/bin:$PATH export LD_LIBRARY_PATH=/opt/sgi/mpt/mpt­2.03/lib:$LD_LIBRARY_PATH # Definir variavel para desligar o mapeamento de memoria feito pelo MPI export MPI_MEMMAP_OFF=1 

# # Chamada do executavel # A execucao deve ser feita atraves do script mpiexec_mpt # /opt/sgi/mpt/mpt­2.03/bin/mpiexec_mpt ­np 4 <executável> # echo "Final do job:" `date` echo "­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­" 

No exemplo anterior, são solicitados 1 node e 4 processadores nesse node, através das diretivas:

#PBS -l nodes=1:ppn=4

Para uso de 4 a 12 processadores: deve ser especificado o número N de Nós com o valor fixo 1 (um), e o número n de processadores a serem usados nesse Nó.

#PBS -l nodes=1:ppn=<n>

Para uso de mais de 12 (e até 24) processadores: deve ser especificado o número N de Nós, e o número n de processadores em cada Nó.

#PBS -l nodes=<N>:ppn=<n>

42

Page 43: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

43

2) Jobs paralelos - fila par48

Exemplo do arquivo jobpar.sh (script de submissão) :

#PBS ­q par48#PBS ­N testjob#PBS ­o jobout#PBS ­e joberr#PBS ­V#PBS ­l nodes=4:ppn=12#!/bin/shcd $PBS_O_WORKDIRecho "­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­"echo "Inicio do job:" `date`echo "Hostname: " `hostname`## Para algumas aplicacoes MPI que efetuam muita comunicacao entre # processos entre nos, e necessario reduzir o tamanho do buffer# Infiniband: Minimo=8192; Maximo=131072 (default)export MPI_IB_BUFFER_SIZE=8192#

# Em aplicacoes que utilizam apenas um no (nodes=1), e aconselhavel# definir um valor para o buffer de memoria compartilhada.# Recomendavel valor em torno de 2048 bytesexport MPI_BUFFER_MAX=2048#echo "PWD: " $PWD## Define PATH e LD_LIBRARY_PATH para uso do mpiexec_mpt export PATH=/opt/sgi/mpt/mpt­2.03/bin:$PATH export LD_LIBRARY_PATH=/opt/sgi/mpt/mpt­2.03/lib:$LD_LIBRARY_PATH# Definir variavel para desligar o mapeamento de memoria feito pelo MPIexport MPI_MEMMAP_OFF=1## Chamada do executável # A execucao deve ser feita atraves do script mpiexec_mpt#/opt/sgi/mpt/mpt­2.03/bin/mpiexec_mpt ­np 48 <executável>#echo "Final do job:" `date`echo "­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­"3) Jobs paralelos - fila exp96

Exemplo do arquivo jobpar.sh (script de submissão) :

#PBS ­q exp96#PBS ­N testjob#PBS ­o jobout#PBS ­e joberr#PBS ­V

Page 44: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

#PBS ­l nodes=8:ppn=12#!/bin/shcd $PBS_O_WORKDIRecho "­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­"echo "Inicio do job:" `date`echo "Hostname: " `hostname`## Para algumas aplicacoes MPI que efetuam muita comunicacao entre # processos entre nos, e necessario reduzir o tamanho do buffer# Infiniband: Minimo=8192; Maximo=131072 (default)export MPI_IB_BUFFER_SIZE=8192## Em aplicacoes que utilizam apenas um no (nodes=1), e aconselhavel# definir um valor para o buffer de memoria compartilhada.# Recomendavel valor em torno de 2048 bytesexport MPI_BUFFER_MAX=2048#echo "PWD: " $PW## Define PATH e LD_LIBRARY_PATH para uso do mpiexec_mpt #export PATH=/opt/sgi/mpt/mpt­2.03/bin:$PATH export LD_LIBRARY_PATH=/opt/sgi/mpt/mpt­2.03/lib:$LD_LIBRARY_PATH# Definir variavel para desligar o mapeamento de memoria feito pelo MPIexport MPI_MEMMAP_OFF=1## Chamada do executável # A execucao deve ser feita atraves do script mpiexec_mpt#/opt/sgi/mpt/mpt­2.03/bin/mpiexec_mpt ­np 48 <executável>#echo "Final do job:" `date`echo "­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­"

Em todos os exemplos de script acima foi usado o mpiexec_mpt (que é o MPIotimizado pela SGI para execução de programas paralelos nesse ambiente). É possívelutilizar outros comandos, tais como mpirun (mpich2) e mpiexec (Intel MPI).Para mais informações, consulte www.cenapad.unicamp.br

44

Page 45: Processamento de Alto Desempenho em São Paulo UNICAMP ... · Desempenho que compõem o programa SINAPAD, implementado no Brasil pelo MCT através da FINEP. Foi instalado em junho

45

Treinamentos

O CENAPAD-SP oferece os seguintes treinamentos:

Introdução ao MPI

Introdução ao FORTRAN 90

Introdução ao SAS

Introdução à Linguagem C

Introdução ao OpenMP

Introdução ao GNU/Linux

A divulgação destes cursos é feita via Internet, pelo endereçowww.cenapad.unicamp.br (na seção “Serviços”, subseção “Treinamentos”), onde sãodivulgados a data, o local e horário em que estes treinamentos ocorrerão. Funcionários ealunos de pós-graduação da UNICAMP são isentos do pagamento de taxas.

Dúvidas referentes a treinamentos devem ser encaminhadas para:

[email protected]