Professional Documents
Culture Documents
grids
TACPD 2004/2005
i.
ii.
Definies
Supercomputadores
Definido quando os sistemas CDC e Cray foram
desenvolvidos nos anos 80; estes sistemas eram, de longe,
mais poderosos do que todos os sistemas existentes na
altura
supercomputadores
Page 1
Computao Paralela
troca
troca
exchange
troca
A regio em causa tem 1000 X 1000 km, com uma altura de 10 km.
Parte-se numa grelha of 0.1 x 0.1 x 0.1 km: 1010 pontos
Simular 2 dias, com passos de 30 minutos: 100 passos no total
Page 2
Computao distribuda
Computao Distribuda significa usar mltiplos CPUs de uma
forma organizada para trabalhar num objectivo comum
Computao em Grelha
(Grid Computing)
Page 3
Computao avanada
Computao avanada refere-se colectivamente a todas
as formas de computao que usam mltiplos e poderosos
recursos
2100
2100
2100
2100
2100
2100
P
E
R
F
O
R
M
A
N
C
E
2100
2100
2100
Administrative Barriers
Individual
Group
Department
Campus
State
National
Globe
Inter Planet
Universe
Desktop
(Single Processor)
SMPs or
SuperComp
uters
Local
Cluster
Enterprise
Cluster/Grid
Global
Cluster/Grid
Inter Planet
Cluster/Grid ??
Arquitecturas paralelas
Taxonomia
SMP
2-64 CPUs
Arquitectura Shared-everything
Todos os CPUs partilham os recursos (memria, dispositivos de E/S, etc)
disponveis
H uma instncia nica do SO
Page 4
Processor
Cache
Main
Memory
. .
Processor
Cache
I/O
Subsystem
Arquitecturas paralelas
CC-NUMA
Um multiprocessador escalvel que tem uma arquitectura de memria
com tempos de acesso no uniforme e com hardware para manter a
coerncia das caches.
Cada CPU tem uma viso global de toda a memria
SO nico
Clusters
Uma coleco de PCs/servidores/SMPs que so interligados por uma
rede de alta velocidade
Trabalham como um conjunto integrado de recursos
Podem usar a tcnica single system image em que o software de
sistema faz a gesto integrada dos recursos de forma transparente
Page 5
Rede de
interligao
Page 6
Nvel de paralelismo
PVM/MPI
Task
Taski-l
i-l
PVM
MPI
func1
func1( () )
{{
....
....
....
....
}}
Threads
Compiladores
CPU
++
Task
Taskii
func2
func2( () )
{{
....
....
....
....
}}
aa( (11)=..
)=..
bb( (11)=..
)=..
xx
Task
Taski+1
i+1
func3
func3( () )
{{
....
....
....
....
}}
aa( (22)=..
)=..
bb( (22)=..
)=..
Load
Load
Gro grosso
Processo/Programa
Gro mdio
(nvel de controlo)
Funo (thread)
Gro fino
(paralelismo de dado)
Loop (Compilador)
CPU lana vrias
instrues em paralelo
Page 7
Bibliografia
Troca de mensagens
O paradigna mais eficiente e mais comum nos sistemas de memria
distribuda
Difcil de programas
Partilha de memria
Oferece um modelo de programao simples e geral
Difcil de implementar eficazmente em sis
DSM em sistemas de memria distribuda
Soluo de compromisso facilidade de programao/eficincia
DSM por software
Usualmente construda por cima da interface de comunicao
Tira partido das caractersiticas da aplicao: pginas, objectos,
tipos de dados de linguagens especficas
TreadMarks, Linda
DSM por hardware
Melhor desempenho, no h perdas de tempo nas camadas de SW,
permite granularidade fina, HW (complexo) baseado em esquemas de
coerncia de caches
DASH, Merlin
Ver http://asc.di.fct.unl.pt/~pm/TACPD-04-05/
Slides da aula
Introduo ao processamento paralelo, Pedro Medeiros,
FCT/UNL, 1998 (PS)
Cap. 1 do livro de Culler et al., Parallel Computer
Architecture, Ed. Morgan Kauffman, 1996 (PDF)
Page 8