32
1 1 a jecompp Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo Alta Granulosidade • Programas • Processos Baixa Granulosidade • Instruções

1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

Embed Size (px)

Citation preview

Page 1: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

1

1a jecompp

Computação de Alto Desempenho

• Tecnologias de Alta Velocidade de Operação– Exemplos: 750 MHz, 1 GHz

• Exploração de Paralelismo– Alta Granulosidade

• Programas

• Processos

– Baixa Granulosidade• Instruções

Page 2: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

2

1a jecompp

Paralelismo no Nível de Programas e Processos

• Arquiteturas de Processamento com Diversos Processadores (máquinas paralelas)

• Arquiteturas de Processamento com Diversos Computadores (rede de computadores)

Page 3: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

3

1a jecompp

Paralelismo no Nível de Instruções(ILP - Instruction Level Parallelism)

• Processador que Executam Instruções em Paralelo

– Pipelining

– Superpipelining

– Superscalar

– VLIW - Very long Instruction Word

– Vetorial

– etc.

Page 4: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

4

1a jecompp

Desempenho

• Desempenho final depende de vários fatores

– Características da Aplicação

– Mecanismo de Comunicação

– Qualidade do Código Gerado pelo Compilador

– Arquitetura dos Processadores

– Arquitetura dos Computadores

Page 5: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

5

1a jecompp

Modelos de Computadores Paralelos

• Classificação de Flynn

– Classifica as várias arquiteturas de computadores baseado nos fluxos de Instruções e de Dados que ocorrem no interior dos computadores

– SISD - Single Instruction, Single Data stream

– SIMD - Single Instruction, Multiple Data stream

– MIMD - Multiple Instruction, Multiple Data stream

– MISD - Multiple instruction, Single Data stream

Page 6: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

6

1a jecompp

SISD

Exemplos: Estações de trabalho e Computadores pessoais com um único processador

Page 7: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

7

1a jecompp

SIMD

Exemplos: ILIAC IV, MPP, DHP,

MASPAR MP-2 e CPU Vetoriais

Page 8: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

8

1a jecompp

MIMD

Exemplos: Cosmic Cube, nCube 2, iPSC, FX-2000,Paragon XP/S e Redes de Computadores

Mais difundidaMemória CompartilhadaMemória Distribuída

Page 9: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

9

1a jecompp

MISD

Exemplos: Array Sistólicos

Page 10: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

10

1a jecompp

Resumo

• MIMD– Maioria dos sistemas paralelos existentes

– Mais adequado à computação paralela de “propósito geral”

• SIMD e MISD– Computação específica

• SISD– Computação Seqüencial

Page 11: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

11

1a jecompp

Máquinas MIMD

• Multiprocessadores de Memória Compartilhada (shared-memory multiprocessors)

– UMA (Uniform-Memory-Access)

– NUMA (NonUniform-Memory-Access)

• Multicomputadores (message-passing multicomputers)

– Redes de Computadores

Page 12: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

12

1a jecompp

Multiprocessadores - UMA

Page 13: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

13

1a jecompp

Multiprocessadores - NUMA

Page 14: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

14

1a jecompp

Multiprocessadores - NUMA

Page 15: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

15

1a jecompp

Multicomputarores

Page 16: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

16

1a jecompp

Interconexão

Anel Grafo Completo

Page 17: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

17

1a jecompp

Interconexão

HiperCubo

Page 18: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

18

1a jecompp

Interconexão

Árvore Estrela

Page 19: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

19

1a jecompp

Interconexão

Page 20: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

20

1a jecompp

Programação ParalelaExemplo

• Somar 16 valores, utilizando-se 16 processadores

• Quantas operações soma são realizadas?

• Qual o ganho em relação à solução usando um único processador?

Page 21: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

21

1a jecompp

Programação ParalelaUma Solução

Page 22: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

22

1a jecompp

Programação ParalelaSpeedup

• Somar 16 valores, utilizando-se 16 processadores

• Quantas operações soma são realizadas?– Solução seqüencial = 15 operações de Soma

– Solução paralela = 4 operações de Soma

• Qual o ganho em relação à solução usando um único processador?

75.34

15ganho OBS.: 15 Comunicações

Page 23: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

23

1a jecompp

Desempenho

• Speedup - Ganho apresentado pela máquina paralela em relação a uma máquina seqüencial

• Qual o comportamento do speedup com o aumento do número de processadores?– Ideal: N

– Realidade: menor que N

Page 24: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

24

1a jecompp

Lei de Ahmdahl

• Exemplo: Qual a fração paralelizável necessária para se alcançar um speedup de 200 usando-se 256 processadores?

Pf

fspeedup

)1(

1 Onde: f - fração melhorada (paralelizável)

P - número de processadores

2562562561

256)1(

1200

ffff

Page 25: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

25

1a jecompp

Lei de Ahmdahl

256255256

1200

f

f255256

256200

%89.999989.0 f

Page 26: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

26

1a jecompp

Multiprocessors

• Idea: create powerful computers by connecting many smaller ones

– good news: works for timesharing (better than supercomputer) vector processing may be coming back

– bad news: its really hard to write good concurrent programsmany commercial failures

Cache

Processor

Cache

Processor

Cache

Processor

Single bus

Memory I/ONetwork

Cache

Processor

Cache

Processor

Cache

Processor

Memory Memory Memory

Page 27: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

27

1a jecompp

Questions

• How do parallel processors share data?— single address space (SMP vs. NUMA)— message passing

• How do parallel processors coordinate? — synchronization (locks, semaphores)— built into send / recieve primitives— operating system protocols

• How are they implemented?— connected by a single bus — connected by a network

Page 28: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

28

1a jecompp

Some Interesting Problems

• Cache Coherency

• Synchronization— provide special atomic instructions (test-and-set,

swap, etc.)

• Network Topology

Cache tagand data

Processor

Single bus

Memory I/O

Snooptag

Cache tagand data

Processor

Snooptag

Cache tagand data

Processor

Snooptag

Page 29: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

29

1a jecompp

Cache Coherency

• Most popular protocol - Snooping

• Multiple Copies– read - processors must have the most recent copy– write - exclusive access

• write-invalidate (write-back)• write-update (write-through)

Page 30: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

30

1a jecompp

Cache Coherency

Invalid(not valid

cache block)

Read/Write(dirty)

Read Only(clean)

)tihfietadilavnidneS(

(Writ

e back dirty

block to

memory)

Processor read miss

Processor write

Processor write miss

Processorread miss

Processor write(hit or miss)

Cache state transitions using signals from the processora.

Invalid(not valid

cache block)

Read/Write(dirty)

Read Only(clean)Invalidate or

another processorhas a write miss

for this block(seen on bus)

Another processor has a readmiss or a write miss forthis block (seen on bus);

write back old block

Cache state transitions using signals from the busb.

Page 31: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

31

1a jecompp

Synchronization using Coherency

Succeed?(= 0?)

Unlocked?(= 0?)

Load lockvariable

No

Yes

No

Try to lock variable using swap:read lock variable and then set

variable to locked value (1)

Begin updateof shared data

Finish updateof shared data

Unlock:set lock variable to 0

Yes

Page 32: 1 a jecompp 1 Computação de Alto Desempenho Tecnologias de Alta Velocidade de Operação –Exemplos: 750 MHz, 1 GHz Exploração de Paralelismo –Alta Granulosidade

32

1a jecompp

Concluding Remarks

• Evolution vs. Revolution“More often the expense of innovation comes from being too

disruptive to computer users”

• “Acceptance of hardware ideas requires acceptance by software people; therefore hardware people should learn about software. And if software people want good machines, they must learn more about hardware to be able to communicate with and thereby influence hardware engineers.”

Cach

e

Virtu

al m

emor

y

RIS

C

Para

llel p

roce

ssin

g m

ultip

roce

ssor

Pip

elin

ing

Mass

ive

SIM

D

Mic

ropr

ogr

am

min

g

Tim

esha

red

multi

proce

ssor

CC

-UM

A m

ultip

roce

ssor

CC

-NU

MA

multi

proce

ssor

Not

-CC

-NU

MA

multi

proce

ssor

Mess

age

-pass

ing m

ultip

roce

ssor

Evolutionary Revolutionary