modelos de computadores paralelos ivan saraiva silva sistemas de processamento paralelo
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%