O Sistema de
Processamento Paralelo
Netuno
Aplicações Paralelas
Genoma Humano
Turbulência dos Fluidos Dinâmica de Veículos Circulação de Oceanos
Dinâmica de Fluidos Viscosos
Modelagem de Supercondutores Cromodinâmica Quântica
Visão por Computador Farmacêutica
Biologia Estrutural
Aplicações Paralelas
Algebra Linear Densa ou Esparsa
Métodos Espectrais (Transformada de Fourier) N-Body (Barnes-Hut)
Grade Estruturada (Lattice Boltzman)
Grade Não Estruturada (Análise de Elementos Finitos)
Simulação de Monte Carlo
Lógica Combinatória (Criptografia) Grafos (Ordenação)
Programação Dinâmica
Métodos Branch and Bound
Modelos Gráficos (Redes Bayesianas)
Simulando a Evolução das Galáxias
A simulação da evolução de galáxias ao longo de milhões de anos é um dos problemas
interessantes que podem ser resolvidos pela computação científica.
Usando simples equações de física
Newtoniana, usando a massa e a distância de suas estrelas, podemos prever com precisão o comportamento futuro de um conjunto de
galáxias.
Contudo, considerando-se que uma galáxia possui milhões de estrelas, esta seria uma aplicação com custos computacionais
Simulando a Evolução das Galáxias
Para solucionar este tipo de problema é
necessário calcular a interação gravitacional
para cada par de estrelas em diversos intervalos de tempo.
Este método de solução tem complexidade
O(N2) o que o tornaria impossível chegar a uma
solução em um tempo adequado.
Mas levando-se em conta que a força
gravitacional diminui com o quadrado da distância, pode-se usar um algoritmo
Simulando a Evolução das Galáxias
Neste caso grupos de estrelas mais distantes são consideradas como uma única estrela com massa equivalente e situada no centro de
massa dessas galáxias.
Este algoritmo hierárquico recebe o nome de Barnes-Hut
Ampla concorrência existe entre estrelas
dentro de um intervalo de tempo, mas como são padrões bastantes irregulares e variantes no tempo, é um desafio explorar esta
Aplicações Biológicas
● Simulações Biomoleculares
– Dobramento de RNA
– Dobramento de Proteína
– Dinâmica do Tecido Muscular
● Biomecânica Neuromuscular ● Dinâmica Cardiovascular
Dobramento de Proteínas
As proteínas são um conjunto de diferentes tipos de aminoácidos.
A sua funcionalidade é dada pela forma final que assume, resultante de
diversas e complexas forças de
interação entre esses aminoácidos. São necessários recursos
computacionais poderosos para
simular com eficiência esse processo. A seguir vemos alguns exemplos de
Aplicações Geofísicas
A exploração petrolífera e a prospecção mineral são as atividades, em nível de indústria de
aproveitamento de recursos naturais, de maior aplicação da Geofísica.
O desenvolvimento de programas de pesquisa que visem suprir o conhecimento geológico necessário é um fator essencial para a superação de limites na exploração mineral/petrolífera.
Um dos grandes utilizadores do Netuno é a UFPA, que atua na pesquisa Geofísica, propondo soluções para os desafios para a produção petrolífera na
Amazônia.
Ou seja, a necessidade do aperfeiçoamento de técnicas adequadas a aumentar a capacidade de previsão, com diminuição de custos, da ocorrência de reservatórios em bacias sedimentares da
Baseado na propagação de ondas sísmicas geradas por uma fonte artificial, e registradas em sensores denominados geofones (na terra) e hidrofones (na água), o geofísico usa os métodos sísmicos na
definição de imagens de rochas na sub-superfície da Terra, em duas (2D) e três (3D) dimensões,
possibilitando a delimitação de alvos de interesse para a exploração.
Esta tarefa exige sofisticados equipamentos para a aquisição de uma gigantesca quantidade de dados, e sistemas computacionais de alto desempenho
para o processamento e interpretação 2D e 3D. A atividade geofísica aplicada à exploração de petróleo na região. As reservas petrolíferas de Urucu no Amazonas e a atividade exploratória no litoral do Pará são as duas principais atividades petrolíferas na região.
Simulando as Correntes Oceânicas
Modelo do clima da terra precisa saber como a atmosfera interage com os oceanos, que ocupam ¾ da superfície da Terra.
Estão envolvidos neste estudo diversas forças físicas: efeitos atmosféricos, vento e fricção com o fundo dos oceanos.
O oceano é divido em planos e cada plano possui uma grade de pontos igualmente
espaçados (uma matriz) com informações como velocidade e pressão, entre outras.
Além disto, todos esses planos são simulados para diversos intervalos de tempo, também
Simulando as Correntes Oceânicas
Para um oceano como o Atlântico, de 2000 km x 2000 km, uma grade de 100 x 100 pontos
implica uma distância de 20 km entre os pontos, o que não é uma resolução muito fina.
Para simular o comportamento dos oceanos
para um período de 5 anos, atualizados a cada 8 horas, serão necessários cerca de 5500
intervalos de tempo.
A demanda computacional para alta acurácia é enorme e a necessidade de multiprocessamento é clara.
Por sorte a aplicação naturalmente permite bastante concorrência, pois há bastante
independência de dados entre as diversas fases da computação.
SuperComputadores
Paralelos
Evolução das Arquiteturas
no Top500
O mais rápido em 1976
O mais rápido em 2001
O mais rápido em 2003
O mais rápido em 2005/2007
Earth Simulator
O mais rápido em 2008/2009
Evolução x Década
• 1 Gflop/s - 1988:
– Cray Y-MP; 8 Processadores
– Análise Estática de Elementos Finitos • 1 Tflop/s – 1998:
– Cray T3E; 1024 Processadores
– Modelagem de átomos de magnetos metálicos • 1 Pflop/s – 2008: – Cray XT5; 1.5x105 Processadores – Materiais Supercondutores • 1 EFlop/s; ~2018: – 1x107 Processadores – 109 Threads
Descrição
O Netuno é um sistema de
processamento paralelo composto por:
− Nós Computacionais
− Nós de Acesso e Controle
− Rede de Interconexão de Alta Velocidade − Rede de Interconexão de E/S
− Sistema de Armazenamento − Sistema Operacional − Bibliotecas de programação − Sistema de Gerenciamento: Nós Submissão
Descrição
O Netuno é um sistema de
processamento paralelo composto por:
− Nós Computacionais
− Nós de Acesso e Controle
− Rede de Interconexão de Alta Velocidade − Rede de Interconexão de E/S
− Sistema de Armazenamento − Sistema Operacional − Bibliotecas de programação − Sistema de Gerenciamento: Nós Submissão
Nós Computacionais
256 nós computacionais com:
− Dois processadores Intel Quad-core de 2,66
GHz com 12 MB de cache
− Memória com capacidade de 16 GB − Unidade de disco com 160 GB
− Interface HCA para rede Infiniband
− Duas interfaces de rede Gigabit Ethernet
Totalizando 2048 processadores e 4 TB
Nós de Acesso
Quatro nós de acesso com a mesma
configuração dos nós computacionais
Acesso via ssh ou interface web (Moab). Compiladores disponíveis:
− Portland Fortran e C − Intel C e Fortran
− GNU C e Fortran
Depuradores paralelos (Totalview) Aplicações disponíveis na área de
geofísica e oceanografia, entre outras.
Sistema de submissão de tarefas
Nós de Controle
Dois nós de controle com processadores
AMD dual-core de 2.0 GHz.
Software de gerenciamento SCALI
Manager.
Permite o envio simultâneo de comandos
para todos os nós.
Gerencia uma base de dados com as
configurações de cada nó.
Permite a instalação de todo o sistema
operacional com apenas um “apertar de botão”.
Rede de Interconexão de Alta
Velocidade
Rede Infiniband com 20 Gbps por canal. Switch CISCO com capacidade para 260
conexões
A comunicação se realiza totalmente sem
bloqueio.
Cada nó possui sua interface para
conexão diretamente com o switch.
Amplia bastante o espectro de aplicações
que podem ser rodadas no sistema.
Os drivers utilizados foram da
Rede de Interconexão de E/S
Todos os nós de um rack de interligam a
um switch local com 48 portas com portas Gigabit.
Um switch central interliga a cada switch
de rack através de um par de fibras óticas de 10 Gbps cada.
O servidor de armazenamento se
interconecta ao switch central com 12 canais Gigabit permitindo uma
capacidade de transferência de até 1,2 GB/s.
Sistema de Armazenamento
Paralelo
Sistema de armazenamento PANASAS de
alto desempenho.
Capacidade inicial de 30 TB.
Sistema de arquivos paralelos, que
distribui um mesmo arquivo por vário discos, permitindo a sua leitura/escrita simultânea por vários usuários.
Suporte para MPI I/O.
Redundância para a proteção dos dados,
duplica arquivos menores que 64 KB, RAID 5 para os maiores.
Sistema de Armazenamento
Paralelo
Sistema de armazenamento PANASAS de
alto desempenho.
Capacidade inicial de 30 TB.
Sistema de arquivos paralelos, que
distribui um mesmo arquivo por vário discos, permitindo a sua leitura/escrita simultânea por vários usuários.
Suporte para MPI I/O.
Redundância para a proteção dos dados,
duplica arquivos menores que 64 KB, RAID 5 para os maiores.
Sistema de Armazenamento
Paralelo
Sistema de Armazenamento
Convencional
Um servidor NFS com 4 links de 1 Gbps Capacidade de armazenamento bruta de
135 TB.
Utiliza RAID-5 para redundância dos
dados.
Possui um servidor (head node)
responsável pelo acesso ao array de
discos com 4 interfaces de rede 1 Gbps, dois processadores AMD quad-core e 8 GB memória.
9 gavetas com 15 discos SATA de 1 TB
Sistema Operacional
Sistema operacional CentOS 5.1, baseado
na distribuição RedHat Enterprise Linux.
Software aberto permitindo acesso à
informações e atualizações facilmente pela internet.
Alto desempenho e confiabilidade.
Ferramentas especiais de controle são
adicionadas para permitir o
gerenciamento do cluster como um único computador.
Avaliação de Desempenho
Para avaliação de desempenho do cluster
foi utilizado o programa High
Performance Linpack (HPL), que é um solucionador paralelo de matrizes
lineares densas.
Como o Netuno é composto por vários
nós, onde um nó não tem acesso direto à memória do outro, foram utilizadas as
bibliotecas de comunicação MPI para a troca de mensagens entre os nós.
Avaliaão de Desempenho
O desempenho final do Netuno para este
benchmark foi de 16,2 TFlops
Isso colocou o Netuno na 138a posição
da lista Top500 de junho de 2008.
Para obter-se este valor, vários
parâmetros de configuração do HPL
tiveram que ser ajustados para obter-se o melhor desempenho.
O conjunto adequado de bibliotecas
matemáticas e de comunicação teve que ser escolhido para conseguir-se um
Benchmark HPL
0 1 2
0
A11 A14 A17 A12 A15 A18 A13 A16 A31 A34 A37 A32 A35 A38 A33 A36 A51 A54 A57 A52 A55 A58 A53 A56
1
A71 A74 A77 A72 A75 A78 A73 A76 A21 A24 A27 A22 A25 A28 A23 A26 A41 A44 A47 A42 A45 A48 A43 A46
2 A61 A64 A67 A62 A65 A68 A63 A66
Desempenho
Entre as várias opções de bibliotecas
matemáticas, utilizamos a GotoBLAS,
com melhor desempenho que a ATLAS ou mesmo a Intel MKL.
O tamanho da matriz inicialmente
utilizado foi de 40000 x 40000 elementos.
O desempenho medido para um nó (8
processadores) chegou a 70 GFlops em um desempenho máximo teórico de 85 GFlops.
A eficiência situou-se em torno de 83% do
Desempenho
O tempo de solução para uma matriz de
40000 x 40000 elementos ficou em torno de 12 minutos para a execução em um nó.
Para avaliação do desempenho em
execução com vários nós, a velocidade e latência da rede de interconexão tem
influência significativa no desempenho.
A seguir apresentamos uma comparação
entre o uso de Ethernet (1Gbps) e Infinibando (20 Gbps).
Desempenho
Ethernet
O desempenho para um rack com 32 nós,
ou seja, 256 processadores, é de 1,5 TFlops com uso da interface ethernet.
Ou seja, uma eficiência em torno de 58%. O desempenho com o uso de 2000
processadores foi de 8,9 TFlops.
Esses valores indicam uma eficiência
Desempenho Sustentado
Ethernet
0 500 1000 1500 2000 2500 10 100 1000 10000 D. Sus.Eficiência Ethernet
0 500 1000 1500 2000 2500 40 50 60 70 80 90 100 82 55 42 D. Sus.Desempenho
Infiniband
O desempenho para um rack com 32 nós,
ou seja, 256 processadores, é de 2,1
TFlops com uso da interface Infiniband.
O tempo de solução de uma matriz de
224000 x 224000 é em torno de 1 hora.
A eficiência foi em torno de 77%.
O desempenho para 1000 processadores
com uso da Infiniband é 7,6 TFlops.
Esses valores indicam uma eficiência
total em torno de 71%.
O tamanho da matriz utilizada foi de
Desempenho
Infiniband
O desempenho para 2048 processadores
com uso da Infiniband é de 16,2 Tflops.
O tamanho da matriz utilizada foi de
650.000 x 650.000.
Só espaço de memória necessário para
armazenar a matriz é de 3,4 TB em um total de 4,1 TB (83%).
Esses valores indicam uma eficiência
final de 70%.
Os parâmetros de configuração do HPL
podem ser encontrados nas referências em anexo.
Desempenho Sustentado
Infiniband
0 500 1000 1500 2000 2500 10 100 1000 10000 70 2050 7590 16240 D. Sus.Eficiência Infiniband
0 500 1000 1500 2000 2500 40% 50% 60% 70% 80% 90% 100% 82% 75% 71% 70% Efic.Avaliação de Desempenho
Nós N NB P Q Resultados (GFlops)
OpenMPI Intel MPI Scali MPI
1 41448 192 2 4 71 72 72 4 82897 192 4 8 282 283 284 8 117234 192 8 8 561 548 570 16 165794 192 8 16 1106 1088 1131 32 234468 192 16 16 2189 2081 2218 64 331588 192 16 32 4248 4097 4365 128 468936 192 32 32 8268 7760 8385
Referências
• Publicações: – http://www.dcc.ufrj.br/~gabriel/artigos.php • Portal de Acesso – http://login.hpc.ufrj.br:8181/map/user/nodeview.jsp • Portal Netuno– http://www.hpc.ufrj.br (em breve)
• Top500
– http://www.top500.org
• HPL