Computação Paralela
Walfredo Cirne
Univ. Federal de Campina Grande
http://walfredo.dsc.ufcg.edu.br
Lei de Moore
• Computadores dobram de performance a
cada 18 meses
• Nas últimas 2 decadas, computadores
melhoraram de performance em 10.000
vezes
• Como resultado, os computadores hoje têm
mais ou menos o mesmo desempenho (na
mesma ordem de magnitude)
Paralelismo
• Em suma, computadores hoje são muuuito
rápidos
• Mas fazemos coisas cada vez mais
complexas
• Mas temos cada vez mais dados para
processar
• O que fazer se você precisa processar por
anos?
• Usar vários processadores simultaneamente
Lei de Amdalh
• speed-up =
tempo seqüencial / tempo paralelo
• tempo seqüencial =
intrinsecamente-seqüencial + paralelizável
• melhor tempo paralelo =
intrinsecamente-seqüencial
• melhor speed-up =
1 + paralelizável/intrinsecamente-seqüencial
Principais Aspectos de
Computação Paralela
• Plataforma de Execução
• Modelos de Programação
• Aplicações
Plataformas de Execução de
Aplicações Paralelas
•
•
•
•
SMPs
MPPs
NOWs
Grids
acoplamento
distribuição
SMP
CPU
Memória
CPU
...
CPU
MPP
Escalonado
r
CPU
CPU
CPU
...
Mem.
Mem.
Mem.
requisições
NOW
requisições
CPU
requisições
requisições
CPU
CPU
...
Mem.
Mem.
Mem.
Grid
CPU
CPU
CPU
...
Mem.
Mem.
Mem.
Internet
Características das
Plataformas de Execução
SMPs
MPPs
NOWs
Grids
excelente
muito boa
boa
média/ruim
Heterogeneidade
nula
baixa
média
alta
Compartilhado
não
não
sim
sim
única
comum
comum
múltipla
10
1.000
1.000
100.000
Conectividade
Imagem
Escala
Grids podem diferir bastante
• TeraGrid
– 4 centros de supercomputação norte-americanos
– Cada centro com milhares de processadores dedicados
ao TeraGrid
– Canais de altíssima velocidade (40 GBits/s)
– Poder agregado de 13,6 TeraFlops
• SETI@home
– Ciclos ociosos de 1.6 milhões de processadores
espalhados em 224 países
– Computa em média a uma velocidade de 10 Teraflops
Grid como Fonte de
Computação
Grid Computacional
(fonte de recursos
computacional)
[a metáfora da rede elétrica]
Um Grid do Futuro
VR Simul
MegaCiclos
Databank Inc.
Embratel
Mastercard
Grid Auditing
Modelos de Programação
• Troca de mensagens
– MPI, PVM
– sockets
• Memória compartilhada
– OpenMP
– pthreads, threads Java
Aplicações
• SPMD x MPMD
– SPSD = sequêncial
• Classes de aplicação
– Bag-of-Tasks
– Master-slave (ou manager-work :-)
– Data parallel
• Granularidade
– Grão = computação feita entre comunicações
– Grão fino requer SMP (ou, pelo menos, MPP)
– Grão grosso tolera Grid
Download

Introdução - Walfredo Cirne