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
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
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
DAP Spr.‘98 ©UCB 5
Características de 4 processadores SMT
DAP Spr.‘98 ©UCB 6
Desempenho para SPECint2000
DAP Spr.‘98 ©UCB 7
Desempenho para SPECft2000
DAP Spr.‘98 ©UCB 8
Eficiência em termos de área de silício e potência
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
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.
DAP Spr.‘98 ©UCB 11
Multiprocessador de memóriacompartilhada centralizada
DAP Spr.‘98 ©UCB 12
Multiprocessador de memóriadistribuída
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
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
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
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
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
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
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
DAP Spr.‘98 ©UCB 20
Superescalar SMT
Chips de um único CORE
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.