modelos de computadores paralelos ivan saraiva silva sistemas de processamento paralelo

Post on 17-Apr-2015

145 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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