A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Modelos de Computadores Paralelos

Apresentações semelhantes


Apresentação em tema: "Modelos de Computadores Paralelos"— Transcrição da apresentação:

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

2 Seqüencial, Vetorial, Paralelo
Funcional Scalar Prefetch Pipeline Seqüencial Vetor Explicito Super posição Unidades Mem. p/ Mem Reg. p/ Reg SIMD MIMD Associative Processor Array Processor Multi computadores Multi- Processadores

3 Classificação de Flynn
PO ME IS DS CO I/O SISD CO PE1 ML DS PE2 . SIMD IS S M CO1 PO1 . DS IS I/O MIMD

4 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

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

6 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.

7 Atributos do Sistemas Fatores de Desempenho Ic CPI Médio p m k Comj. de Instruções X Compiladores Proc. PC, PO Cache e Hierarquia

8 MIPS = Ic/(T.106) =  /(CPI.106) = .Ic/(CPI.106)
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)

9 Wp = /(Ic.CPI) = (MIPS.106)/Ic
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

10 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

11 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

12 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

13 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

14 Uniform Memory Access .... .... Sub-sistema de comunicação
P1 P2 P3 Pn .... Sub-sistema de comunicação (crossbar, barramento, rede multi-estágio) I/O MC1 MC2 .... MC3

15 Desempenho Aproximado
L1: Do 10 I = 1, N L2: A(I)= B(I) + C(I) L3: CONTINUE L4: SUM = 0 L5: Do 20 J = 1, N L6: 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

16 Desempenho Aproximado
L1: Do 10 I = 1, N L2: A(I)= B(I) + C(I) L3: 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 sistema Multiprocessado com M Processadores?

17 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) CONTINUE ENDALL

18 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 = 9800 ciclos Aceleração 214

19 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

20 Nonuniform Memory Access
Ç Ã P1 P2 P3 Pn ML1 ML2 ML3 MLn .

21 Nonuniform Memory Access
MGC Sub-Sistema de Comunicação Global P . ML Cluster 1 Cluster N .... C O M U N

22 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

23 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

24 Cache Only Memory Access
Sub-sistema de comunicação D C P

25 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

26 Multicomputadores de memória distribuída
Rede com passagem de mensagem P P P P P M M M M M

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

28 Parallel Random-Access Machine - PRAM
Fortemente Sincronizado P1 Endereçamento Global Memória Compartilhada P2 P3 Centralizada ou Distribuída . Pn

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

30 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

31 Exercício Considere a execução de um programa com 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%


Carregar ppt "Modelos de Computadores Paralelos"

Apresentações semelhantes


Anúncios Google