dap spr.98 ©ucb 1 multithreading e multiprocessamento

21
DAP Spr.‘98 ©UCB 1 Multithreading e multiprocessamento

Upload: internet

Post on 17-Apr-2015

120 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: DAP Spr.98 ©UCB 1 Multithreading e multiprocessamento

DAP Spr.‘98 ©UCB 1

Multithreading e multiprocessamento

Page 2: DAP Spr.98 ©UCB 1 Multithreading e multiprocessamento

DAP Spr.‘98 ©UCB 2

Multithreading simultâneo

• Thread é um trecho de instruções de um programa

• Comparação:– Superescalar sem suporte para multithreading

– Superescalar com multithreading grosso

– Superescalar com multithreading fino

– Superescalar com multithreading simultâneo

Page 3: DAP Spr.98 ©UCB 1 Multithreading e multiprocessamento

DAP Spr.‘98 ©UCB 3

Execução de Threads em paraleloSlots de emissão (despacho)

temp

o

Horizontal – capacidade de emissão de instrução a cada cicloVertical – sequência de ciclos de clock

Caixa branca – slot de emissão não usado naquele ciclo de clockCores diferentes de branco – threads diferentes

Page 4: DAP Spr.98 ©UCB 1 Multithreading e multiprocessamento

DAP Spr.‘98 ©UCB 4

Speedup no Power5 com e sem SMT

SPECint = 1,23

SPECfp = 1,16

SP

EC

fp

SP

EC

int

perda ganho

Page 5: DAP Spr.98 ©UCB 1 Multithreading e multiprocessamento

DAP Spr.‘98 ©UCB 5

Características de 4 processadores SMT

Page 6: DAP Spr.98 ©UCB 1 Multithreading e multiprocessamento

DAP Spr.‘98 ©UCB 6

Desempenho para SPECint2000

Page 7: DAP Spr.98 ©UCB 1 Multithreading e multiprocessamento

DAP Spr.‘98 ©UCB 7

Desempenho para SPECft2000

Page 8: DAP Spr.98 ©UCB 1 Multithreading e multiprocessamento

DAP Spr.‘98 ©UCB 8

Eficiência em termos de área de silício e potência

Page 9: DAP Spr.98 ©UCB 1 Multithreading e multiprocessamento

DAP Spr.‘98 ©UCB 9

Taxonomia das arquiteturas paralelas(Flynn, 1966)

• SISD – fluxo de instrução único, fluxo de dados único

• SIMD – fluxo de instrução único, fluxo de dados múltiplo

• MISD – fluxo de instrução múltiplo, fluxo de dados único

• MIMD – fluxo de instrução múltiplo, fluxo de dados múltiplo

Page 10: DAP Spr.98 ©UCB 1 Multithreading e multiprocessamento

DAP Spr.‘98 ©UCB 10

MIMDs (Multiprocessadores)

• Os MIMDs oferecem flexibilidade. Focaliza alto desempenho, para uma ou várias aplicações, executando muitas tarefas simultaneamente.

• Podem se basear nas vantagens de custo-desempenho dos processadores de prateleira – os mesmos processadores usados nas estações de trabalho e servidores.

• Os chips multicore aproveitam o investimento de projeto de um núcleo (core) de um processador fazendo a replicação.

Page 11: DAP Spr.98 ©UCB 1 Multithreading e multiprocessamento

DAP Spr.‘98 ©UCB 11

Multiprocessador de memóriacompartilhada centralizada

Page 12: DAP Spr.98 ©UCB 1 Multithreading e multiprocessamento

DAP Spr.‘98 ©UCB 12

Multiprocessador de memóriadistribuída

Page 13: DAP Spr.98 ©UCB 1 Multithreading e multiprocessamento

DAP Spr.‘98 ©UCB 13

Desafios do processamento paralelo

• Queremos alcançar um ganho de velocidade de 80 com 100 processadores. Que fração da computação original pode ser sequencial?

)fração-(1razão

fração1

speedup

melhoradamelhoria

melhorada

)fração-(1100

fração1

80

paralelaparalela

1)fração-(1100

fração80 paralela

paralela

9975,079,2

1-80 fraçãoparalela

Page 14: DAP Spr.98 ©UCB 1 Multithreading e multiprocessamento

DAP Spr.‘98 ©UCB 14

Latência de acesso remoto à memória• Supor uma aplicação executada em um multiprocessador com 32 processadores, que

possui tempo de 200 ns para memória remota.

• Considerar que todas as referências, exceto às referentes à comunicação, atingem a memória local.

• Os processadores são protelados numa solicitação remota, e a taxa de clock é de 2GHz.

• Se o CPI de base (considerando que todas as referências atingem o cache) é 0.5, quanto mais rápido é o multiprocessador se não houver comunicação versus se 0.2% das instruções envolvem uma referência de comunicação remota?

Solução:

CPI = CPI base + Taxa de solicitação remota x Custo de solicitação remota

= 0.5 + 0,2% x Custo de solicitação remota

Portanto CPI = 0.5 + 0,8 =1.3

e o speedup = 1.3/0.5 = 2.6.

ciclos4000,5ns

ns200

ciclo de tempo

remoto acesso de custoremota osolicitaçã de custo

Page 15: DAP Spr.98 ©UCB 1 Multithreading e multiprocessamento

DAP Spr.‘98 ©UCB 15

Multiprocessador Simétrico (Symmetric Multiprocessor - SMP)

Cache

Processor

Cache

Processor

Cache

Processor

Single bus

Memory I/O

Todos os processadores são iguais Na falha de um, um outro processadorpode substitui-lo

Usa sincronismo por memória compartilhada centralizada

Page 16: DAP Spr.98 ©UCB 1 Multithreading e multiprocessamento

DAP Spr.‘98 ©UCB 16

CPU de um único thread

RAM - quatro programas em execução

7 Pipelines, sendo apenas o programa de cor vermelhaem execução

Nota-se os espaços em branco dos estágios pipeline ociosos

Front end – busca até 4 instruções paralelas

Page 17: DAP Spr.98 ©UCB 1 Multithreading e multiprocessamento

DAP Spr.‘98 ©UCB 17

Single Threaded SMP (Symmetric Multiprocessor)

Os diferentes programas são executados em CPUs distintos.

Programa vermelho numa CPU

amarelo em outra

Page 18: DAP Spr.98 ©UCB 1 Multithreading e multiprocessamento

DAP Spr.‘98 ©UCB 18

Superthreading ou multithreading

• CPU com capacidade para executar mais de um thread simultaneamente,

porém, cada estágio do pipeline deve conter instruções de apenas um thread

• Não se pode emitir instruções de threads distintos num mesmo instante

Page 19: DAP Spr.98 ©UCB 1 Multithreading e multiprocessamento

DAP Spr.‘98 ©UCB 19

Simultaneous multithreading (SMT)ou Hyper-threading (HT)

• Não existe restrição de

emissão de instruções

para threads diferentes

em cada ciclo de clock.

• Compara-se ao single-threaded SMP

Single-threaded SMP

Page 20: DAP Spr.98 ©UCB 1 Multithreading e multiprocessamento

DAP Spr.‘98 ©UCB 20

Superescalar SMT

Chips de um único CORE

Page 21: DAP Spr.98 ©UCB 1 Multithreading e multiprocessamento

DAP Spr.‘98 ©UCB 21

Processadores Multi-Core

• Um único chip com múltiplos cores (CPUs), cada um executando threads distintos como em single-threaded SMP

• Compatível em softare a uma arquitetura SMT porém tecnologicamente mais interessante,

pois pode ser usada uma tecnologia que consome menos energia, e o desempenho aumenta com o número de CORES.