prof. amit bhaya, programa de engenharia elétrica, coppe ...amit/cpaadia1.pdf · 2 conteúdo do...
Post on 29-Oct-2018
213 Views
Preview:
TRANSCRIPT
1
Computação Paralela: Algoritmos e Aplicações
Prof. Amit Bhaya,Programa de Engenharia Elétrica, COPPE/UFRJ
09/05/2000 -- 12/05/2000
2
Conteúdo do minicursoConteúdo do minicurso•Computação paralela e de alto desempenho. Taxonomia básica. A experiência da COPPE.• Justificativa e ganhos com o paralelismo.•Algoritmos numéricos paralelos síncronos eassíncronos.•Modelos matemáticos. Análise de convergência.Exemplos.• Resolução de sistemas complexos de grande porte.•Algoritmos combinados. Critérios de partição.•Distribuição de carga. Exemplos.• Técnicas de otimização natural. Meta-heurística.• Adequação às máquinas paralelas e de altodesempenho.•Exemplos.• Perspectivas futuras . Novas Aplicações.•Discussão final. Avaliação.
3
HIPÓTESESHIPÓTESES
Os alunos (não) têm noções de computação paralela – o grupo é heterogêneo
Os alunos têm algum conhecimento de métodos numéricos simples
4
BibliografiaBibliografia
!T.L. Freeman & C. Phillips, “Parallel Numerical Algorithms”, Prentice Hall,1993*
•F.Thomson Leighton, “Introduction to Parallel Algorithms and Architectures:Arrays. Trees. Hypercubes, Morgan Kaufmann Publishers, 1992•Dan I. Moldovan, “Parallel Processing from Applications to Systems”, MorganKaufmann Publishers, 1993•Daniel E. Lenoski & Wolf-Dietrich Weber, “Scalable Share-MemoryMultiprocessing”, Morgan Kaufmann Publishers, 1995•Geoffrey G. Fox, Roy D. Williams and Paul C. Messina, “Parallel ComputingWorks!”, Morgan Kaufmann Publishers, 1994•Russ Miller & Quentin F. Stout, “Parallel Algorithms for Regular Architectures:Meshes and Pyramids”, MIT Press Cambridge, 1996•Kai Hwang, “Advanced Computer Architecture: Parallelism, Scalability,Programmability”, McGraw-Hill Series in Computer Engineering, 1993•A. Cichocki & R. Unbehauen, “Neural Networks for Optimization and SignalProcessing”, John Wiley & Sons, 1993•Artigos
Obs.: A cada ano os livros vão ficando rapidamente obsoletos
5
Noções e conceitosNoções e conceitos
•Noções e Conceitos de Paralelismo /Taxonomia / Arquiteturas (fundamentos)
•Algumas considerações sobre software
•Paralelismo na resolução (iterativa) deequações simultâneas
•Condições de convergência assíncrona
6
ParalelismoParalelismo
O paralelismo é natural no dia a dia !!
Exemplos:
"""" Caixas de supermercado ou banco
♦ pouca ou nenhuma comunicação entre osagentes
♦ com supervisor/ou não
♦ múltiplas tarefas/ou não
7
Paralelismo (continuação)Paralelismo (continuação)
Serviço de despertador (7h)
♦ não pode ser feito sequencialmente (porrazões óbvias)
♦ nenhuma comunicação entre os agentes
♦ embarassing parallelism
" Aula de ginástica
ginastas líder/instrutor/coordenador
mesmas “operações”/sincronizadamente
8
No contexto dos computadoresNo contexto dos computadores
Pergunta: se é tão comum e importante porque éque os computadores eram puramente sequenciais?
Resposta: o paralelismo trazia problemas extras de:
comunicaçãosincronizaçãohardware/software
que somente mais recentemente foram resolvidos.
9
No contexto dos computadores( continuação)No contexto dos computadores( continuação)
O modelo de Von Neumann de apenas uma CPU
Memória CPU
execução
(uma instrução a cada intervalo de tempo)
10
No contexto dos computadores( continuação)No contexto dos computadores( continuação)
Mais tarde surgiram os “Pipelines”
Performance :• Megaflops (Millions of floating pointoperations per second)• Mips Millions of instructions per second)
Nominais (pico)X
Linpack (benchmark)
11
Evolução de computadores.Evolução de computadores.
#1946 – ENIAC Pennsylvania
#1953 – IBM 701
#(Evolução nos semicondutores)
# 1975 – CRAY – supercomputadores ( Megaflops)
# 1985 – CRAY 2/Y-MP (Gigaflops)
♦ paralelismo limitado♦ paralelismo a nível de instruções básicas/pipelines♦ unidades de processamento poderosas ecaras/trabalhando em paralelo
Objetivo # (Teraflops)
12
Evolução de computadores.( contimuação )Evolução de computadores.( contimuação )
Caltech cube (Fox)
# 1985 – Multiprocessadores/Intel (128 nós)/N Cube etc.
♦ arranjos de múltiplos processadores/CPU’s♦ para competir com o preço dos supercomputadores (namesma faixa de Flopagem)
#Hoje a Silicon Graphics/CRAY aumenta o número deprocessadores
#Tendência é de Multiprocessadores/Multicomputadores/ escaláveis (centenas de nós)
♦ a programação dependente das arquiteturas?♦ algoritmos clássicos necessitam ser rederivados?
13
Evolução de alguns computadores de alto desempenhoEvolução de alguns computadores de alto desempenho
14
Processadores vetoriais (com Pipelines)Processadores vetoriais (com Pipelines)
Cada instrução é dividida em quatro fases
−busca de instrução−cálculo do endereço do operando−busca do operando−operação aritmética
♦ Algumas dessas fases podem ser feitas concorrentemente
(pipelining in vector operations)
CRAY $$$$ (system and pipeline/paralelismo)*
discussão da taxonomia shared/distributed/vector ficou misturada, todavia éutilizada como referênciaFUJITSU
HITACHI (CRAY 1 (SIMD)) #### (CRAY 2 MIMD))NEC
15
Processadores vetoriais (com Pipelines)Processadores vetoriais (com Pipelines)
16
Evolução de flopagemEvolução de flopagem
17
Objetivos do ParalelismoObjetivos do Paralelismo
♦ Reduzir tempos
(Possibilidades de cálculos em “tempo real”) / simulação emtempo real. Meteorologia. Previsão de tempo (em tempo hábil).
•Viabilizar a resolução de problemas que nãopoderiam ser considerados anteriormente
•Maior precisão (no mesmo tempo)
(refinar malhas)
•superar limites físicos na velocidade deprocessamento sequencial
Desejável ➜➜➜➜ (1015 operações por segundo)
Hoje ➜➜➜➜ (109 operações por segundo)
18
Aplicações mais usuaisAplicações mais usuais
♦ Previsão do tempo/simulação de fenômenos globais(El Niño)♦ Engenharia: modelos de turbulência/aviões♦ Física do plasma: gases ionizados em altastemperaturas♦ Ciência dos Materiais, “Automated Reasoning”♦ Economia: modelos nacionais♦ Inteligência Artificial♦ Sistemas de Defesa
Obs.: (MULTI + vector )
(VECTOR + multi)
19
Aplicações mais usuaisAplicações mais usuais
20
Aplicações de Computação de Alto DesempenhoAplicações de Computação de Alto Desempenho
21
Mercados da Silicon GraphicsMercados da Silicon Graphics
22
Capacidade de MemóriaCapacidade de Memória
10 Mb
1 Gb
100 Gb
Airfoil
1980
48- Hour
WeatherOil Reservoir
Modeling
1988
3d plasmaModeling
10 Gb
1991
1000 Gb
Global change.Human genone.
Fluid turbulence.VehicicleDinamics .
Oceancirculation.
viscous FluidsDynamics.
super conductormodeling.
Semiconductormodeling.
Quantumchromodynamicsvision.
StructuralBiology
PharmaceuticalDesign
ChemicalDynamics
1995 and beyond
100 Moflops 1 Gflops 10 Gflops 1 TflopsSystem speed
Memory capacity
1993
100 Gflops
23
Linguagem de programação no ambiente paraleloLinguagem de programação no ambiente paralelo• “vetorial” #### mais software disponível
•“paralelo” #### menos software disponível
• Em geral são extensões (versões paralelas)
FORTRAN / (90) (vector)PASCAL /BASIC /C /ADA /OCCAM / (Transputers) (message passing) 80’s
•Compiladores têm a capacidade de gerar um código paralelo a partir de um códigosequencial (vetorização)
BIBLIOTECAS BLAS
BASICLINEARALGEBRASUBPROGRAMS
24
Estilos de ProgramaçãoEstilos de Programação
25
Programação ParalelaProgramação Paralela
26
Taxonomia de FlynnTaxonomia de Flynn
•Classificação baseada nas relações entre dados e instruções
•Single instruction stream -- single data stream (SISD)
( Modelo de Von Neumann )
•Single stream-- multiple datas stream (simd)
•( inclui máquinas do tipo array )
•Multiple instruction stream -- multiple data stream ( mimd )
•( Os sistemas multiprocessadores mais difundidos )
Ponto de partida util.
27
ArquiteturasArquiteturas
28
Arquiteturas (continuação)Arquiteturas (continuação)
29
Arquiteturas (continuação)Arquiteturas (continuação)
30
Sistemas de memória localSistemas de memória local
31
Arquiteturas híbridasArquiteturas híbridas
32
Arquiteturas híbridasArquiteturas híbridas
33
Arquitetura hipercúbicaArquitetura hipercúbica
34
Arquitetura hipercúbicaArquitetura hipercúbica
35
Arquitetura de transputerArquitetura de transputer
36
Arquiteturas do ponto de vista de programasArquiteturas do ponto de vista de programas
37
Array de trnasputersArray de trnasputers
38
Conexão via barramentoConexão via barramento
39
Conexão via chaves “crossbar”Conexão via chaves “crossbar”
40
Redes de interconexãoRedes de interconexão
41
Redes de interconexãoRedes de interconexão
42
Redes de interconexãoRedes de interconexão
43
Redes de interconexãoRedes de interconexão
44
Comparação de arquiteturas (tempo)Comparação de arquiteturas (tempo)
45
Arquitetura heterogêneaArquitetura heterogênea
46
Tipos de paralelismo (granularidade)Tipos de paralelismo (granularidade)
47
Sistemas heterogêneosSistemas heterogêneos
48
Níveis de paralelismoNíveis de paralelismo
49
Conceito de speedupConceito de speedup
50
Lei de AmdahlLei de Amdahl
51
Redes de interconexãoRedes de interconexão
52
Laborarório de computação de alto desempenho coppe/UFRJ
Laborarório de computação de alto desempenho coppe/UFRJ
1988 #### INÍCIO DO PROJETO “COMPUTAÇÃO PARALELA”Transputer / INMOSTransistor for multicomputer
NCP construído na COPPE (08 nós)
1990 #### INTEL – IPSC 860 / 08 nósCaracterísticas:Memória: 8 x 8 Mb = 64 MbFlopagem: 8 x 80 MFlops = 640 MFlops
1995 #### CRAY J90 / 04 processadoresCaracterísticas:Memória: 2 Gb memória RAMFlopagem: 4 x 200 MFlops = 800 MFlops
1996 #### IBM SP-2 / 04 processadoresCaracterísticas:Memória: 4 x 128 Mb = 512 MbFlopagem: 4 x 266 MFlops = 1064 MFlops
53
Pesquisadores envolvidos Pesquisadores envolvidos
INICIAL: 13 (com Doutorado)
30 alunos
SISTEMAS E COMPUTAÇÃO: HARDWARE
ENGENHARIA CIVIL: CÁLCULO, SIMULAÇÃO E OTIMIZAÇÃO DE ESTRUTURAS
ENGENHARIA ELÉTRICA: SIMULAÇÃO E OTIMIZAÇÃO DE REDES ELÉTRICAS
ESTATÍSTICAS
Período 1990 a 1996
Publicações
PeríodosInternacionais
Congressos
19 26 21
M.Sc. D.Sc.
32 11
Número de
teses
Defendidas
Nacionais Internacionais
54
Decomposição para programação paralelaDecomposição para programação paralela
55
Integração numéricaIntegração numérica
56
Mapeamento do problemaMapeamento do problema
57
Mapeamento do problemaMapeamento do problema
58
Programa paralelo (hípercubo)Programa paralelo (hípercubo)
59
Ajuste fino de um programa paraleloAjuste fino de um programa paralelo
60
Ajuste finoAjuste fino
61
Aplicação: Simulação de tráfego aéreoAplicação: Simulação de tráfego aéreo
62
Aplicação: Simulação de tráfego aéreoAplicação: Simulação de tráfego aéreo
63
Aplicação: Simulação de tráfego aéreoAplicação: Simulação de tráfego aéreo
64
Fim da primeira aulaFim da primeira aula
top related