31
Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

Embed Size (px)

Citation preview

Page 1: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

Modelos de Computadores Paralelos

Ivan Saraiva Silva

Sistemas de Processamento Paralelo

Page 2: 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

Page 3: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

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

Page 4: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

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

Page 5: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

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).

Page 6: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

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.

Page 7: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

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

Page 8: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

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)

Page 9: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

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

Page 10: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

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

Page 11: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

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

Page 12: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

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

Page 13: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

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

Page 14: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

Uniform Memory Access

P1 P2 P3 Pn

Sub-sistema de comunicação(crossbar, barramento, rede multi-estágio)

....

I/O MC1 MC2 MC3....

Page 15: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

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

Page 16: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

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?

Page 17: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

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

Page 18: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

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

Page 19: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

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

Page 20: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

Nonuniform Memory Access

COMUNICAÇÃO

P1

P2

P3

Pn

ML1

ML2

ML3

MLn

.

.

.

.

.

.

Page 21: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

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

....

Page 22: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

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

Page 23: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

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

Page 24: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

Cache Only Memory Access

Sub-sistema de comunicação

D

C

P

D

C

P

D

C

P

Page 25: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

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

Page 26: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

Multicomputadores de memória distribuída

Rede com passagem de mensagem

MP

MP

MP

MP

MP

MP

MP

MP

MP

MP

Page 27: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

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.

Page 28: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

Parallel Random-Access Machine - PRAM

P1

P2

P3

Pn

MemóriaCompartilhada

...

EndereçamentoGlobal

Centralizada ou

Distribuída

FortementeSincronizado

Page 29: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

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)

Page 30: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

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

Page 31: Modelos de Computadores Paralelos Ivan Saraiva Silva Sistemas de Processamento Paralelo

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%