modelos de computadores paralelos ivan saraiva silva sistemas de processamento paralelo
Post on 17-Apr-2015
119 Views
Preview:
TRANSCRIPT
Modelos de Computadores Paralelos
Ivan Saraiva Silva
Sistemas de Processamento Paralelo
Seqüencial, Vetorial, Paralelo
Seqüencial
Scalar PrefetchParal.
Funcional Pipeline
VetorExplicito
Reg. p/ Reg
Superposição
Unidades
SIMD MIMD
Mem. p/ Mem
AssociativeProcessor
ArrayProcessor
Multicomputadores
Multi-Processadores
Classificação de Flynn
PO MEIS DSCOI/O
SISD
CO
PE1 MLDS
PE2 MLDS
......
SIMD
ISIS DS
SM
CO1 PO1
......
DSIS
I/O
CO1 PO1
DS
IS
I/O MIMD
Relógio e CPI
• Sejam O período do relógio da máquina = 1/ a freqüência de operação– Ic o tamanho do programa em nº de instruções– CPI o nº de ciclos por instrução
• CPI é um parâmetro importante para medir o desempenho de uma arquitetura
• Normalmente calcula um CPI médio
Fator de Desempenho
• Define-se o tempo de CPU (T) necessário para executar um programa como
T = Ic.CPI.• Porem apenas decodificação e execução é
realizada na CPU
• T = Ic.(p + m.k).
Fator de Desempenho
• conjunto de instruções afeta o Ic o número de ciclos na CPU (p)
• A tecnologia dos compiladores afeta Ic, p e m
• A implementação da CPU afeta o fator p.• A hierarquia de memória afeta a latência da
memória k.
Atributos
do Sistemas
Fatores de Desempenho
Ic
CPI Médio
p m k
Comj. de Instruções
X X
Compiladores
X X X
Proc. PC, PO
X X
Cache e
Hierarquia
X X
Taxa de MIPS
• MIPS – Milhões de Instruções por segundo• Se C é o número de ciclos para execução de
um programa• T = Ic.CPI. = C. = C/ = (Ic.CPI)/• Tem-se ainda que:• Ic.CPI = C CPI = C/Ic, então:
MIPS = Ic/(T.106) = /(CPI.106) = .Ic/(CPI.106)
Throughput - Vazão
• Throughput indica a vazão de um sistema (Ws)
• Indica quantos “programas” o sistemas é capaz de executar por unidade de tempo (prog/seg)
• A vazão da CPU é dado por:
Wp = /(Ic.CPI) = (MIPS.106)/Ic• Ws < Wp
Multiprocessadores e Multicomputadores
• Estes modelos se distinguem pelo uso da memória
• Memória comum compartilhada
• Memória não compartilhada, distribuída
– Multiprocessadores de memória compartilhada– Multicomputadores de memória distribuída
Multiprocessadores
• Compartilhamento de memória
• Os modelos dependem da localização e do acesso a memória– UMA: Uniform memory access– NUMA: Nonuniform Memory Access– COMO: Cache Only Memory Access
Uniform Memory Access
• Memória física é uniformemente compartilhada por todos os processadores
• O acesso por qualquer processador a qualquer posição de memória é feito em tempo uniforme
• Pode haver cache privado• Diz-se “fortemente acoplado” devido ao
alto grau de compartilhamento
Uniform Memory Access
• Sistemas podem ser “simétricos” ou “assimétricos”– Simétricos: Processadores tem igual capacidade
de rodas o Kernel do OS e fazer I/O– Assimétricos: Processadores mestres executam
o OS e fazem I/O, processadores “associados” podem fizer I/O supervisionado
Uniform Memory Access
P1 P2 P3 Pn
Sub-sistema de comunicação(crossbar, barramento, rede multi-estágio)
....
I/O MC1 MC2 MC3....
Desempenho Aproximado
L1: Do 10 I = 1, NL2: A(I)= B(I) + C(I)L3: 10 CONTINUEL4: SUM = 0L5: Do 20 J = 1, NL6: SUM = SUM + A(J)L7: 2O CONTINUE
• Suponha que L2, L4 e L6 levam um ciclo
• Tempo de L1, L3, L5 e L7 são ignorados
• Dados carregados na memória, código na cache
• Ignorar outros overhead
Desempenho Aproximado
L1: Do 10 I = 1, N
L2: A(I)= B(I) + C(I)
L3: 10 CONTINUE
L4: SUM = 0
L5: Do 20 J = 1, N
L6: SUM = SUM + A(J)
L7: 2O CONTINUE
• Execução em 2N ciclos em seqüenciais
• N ciclos para o laço I• N ciclos para o laço J
Em um sistemaMultiprocessado com M
Processadores?
Desempenho Aproximado
• dividir o laço em M seções com L=M/N elementos
• Assumindo que a comunicação inter-processos leva k ciclos
DALL k = 1, M DO 10 I= L(K-1)+1, KL A(I) = B(I) + C(I)10 CONTINUE SUM(K) = 0 DO 20 J = 1, L SUM = SUM(K) + A(L(K-1) + J)20 CONTINUE ENDALL
Desempenho Aproximado
• 2L ciclos para laços I e J
• M somas parciais são produzidas
• (k + 1)log2M ciclos são necessários para as somas
• Resultado produzido em:
• 2(N/M) + (k + 1)log2M
• Se N = 220
• Seqüencial 2N = 221 ciclos
• MULTIPROCESSADO
• Se k = 200 e M = 256
• 213 + 1608 = 9800 ciclos
• Aceleração 214
Nonuniform Memory Access
• O tempo de acesso a posições de memória não é uniforme para todas as posições e todos os processadores
• Normalmente a memória compartilhada, ou parte dela, é destruída entre os processadores como memória local
Nonuniform Memory Access
COMUNICAÇÃO
P1
P2
P3
Pn
ML1
ML2
ML3
MLn
.
.
.
.
.
.
Nonuniform Memory AccessMGC MGC MGC
Sub-Sistema de Comunicação Global
P
P
P
.
.
.
ML
ML
ML
.
.
.
Cluster 1
P
P
P
.
.
.
ML
ML
ML
.
.
.
Cluster N
....
COMUN
COMUN
....
Nonuniform Memory Access
• Três padrões de acesso a memória são observados– Acesso a memória local Mais rápido– Acesso a memória global Intermediário– Acesso a memória remota Mais lento
Cache Only Memory Access
• Trata-se de um caso especial do modelo NUMA, onde as memórias distribuídas são substituídas por cache local
• Todas as caches formam o espaço de endereçamento global
• O acesso a caches remotas pode ser assistido por diretórios distribuidos
Cache Only Memory Access
Sub-sistema de comunicação
D
C
P
D
C
P
D
C
P
Multicomputadores de memória distribuída
• O sistema é composto por nós interconectados por uma rede de passagem de mensagem.
• Cada nó é computador autônomo
• Memórias locais são privadas e acessíveis apenas pelo processador local– NORMA – no-remote-memory-access
Multicomputadores de memória distribuída
Rede com passagem de mensagem
MP
MP
MP
MP
MP
MP
MP
MP
MP
MP
Parallel Random-Access Machine - PRAM
• Modelo teórico de computador
• Usado para desenvolvimento de algoritmos e análise de escalabilidade e complexidade
• Modelo que desconsidera o tempo de sincronização de de acesso a memória.
Parallel Random-Access Machine - PRAM
P1
P2
P3
Pn
MemóriaCompartilhada
...
EndereçamentoGlobal
Centralizada ou
Distribuída
FortementeSincronizado
Parallel Random-Access Machine - PRAM
• Opera em ciclos sincronizados de:– Leitura
– Computação
– Escrita
• Especifica como operações concorrentes são executadas
• Quatro modelos de acesso a memória– Leitura Exclusiva (ER)
– Escrita Exclusiva (EW)
– Leitura Concorrente (CR)
– Escrita Concorrente (CW)
Parallel Random-Access Machine - PRAM
• CRCW-PRAM: Leituras e escritas concorrentes• Conflitos de escrita são resolvidos com uma
política:– (Common) Todas as escritas escrevem o mesmo valor
– (Arbitrary) Apenas um dos valores é escrito
– (Minimum) O valor do processador de menor índeci permanece
– (Priority) Os valores a serem escritos são combinados de alguma forma, soma ou máximo, por exemplo
Exercício
• Considere a execução de um programa com 200.000 instruções em uma máquina operando a 40 MHz.
• O programa é feito com quatro tipos de instrução (ao lado)– Calcule o CPI médio– Calcule a taxa de MIPS
Instrução CPI % do tio
Aritmética e lógica
1 60%
Load/Store c/ hit
2 18%
Saltos 4 12%
Ref. A mem. c/ miss
8 10%
top related