multithreading e multiprocessamento
DESCRIPTION
Multithreading e multiprocessamento. 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. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Multithreading e multiprocessamento](https://reader034.vdocuments.us/reader034/viewer/2022051516/56813af4550346895da37293/html5/thumbnails/1.jpg)
DAP Spr.‘98 ©UCB 1
Multithreading e multiprocessamento
![Page 2: Multithreading e multiprocessamento](https://reader034.vdocuments.us/reader034/viewer/2022051516/56813af4550346895da37293/html5/thumbnails/2.jpg)
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: Multithreading e multiprocessamento](https://reader034.vdocuments.us/reader034/viewer/2022051516/56813af4550346895da37293/html5/thumbnails/3.jpg)
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: Multithreading e multiprocessamento](https://reader034.vdocuments.us/reader034/viewer/2022051516/56813af4550346895da37293/html5/thumbnails/4.jpg)
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: Multithreading e multiprocessamento](https://reader034.vdocuments.us/reader034/viewer/2022051516/56813af4550346895da37293/html5/thumbnails/5.jpg)
DAP Spr.‘98 ©UCB 5
Características de 4 processadores SMT
![Page 6: Multithreading e multiprocessamento](https://reader034.vdocuments.us/reader034/viewer/2022051516/56813af4550346895da37293/html5/thumbnails/6.jpg)
DAP Spr.‘98 ©UCB 6
Desempenho para SPECint2000
![Page 7: Multithreading e multiprocessamento](https://reader034.vdocuments.us/reader034/viewer/2022051516/56813af4550346895da37293/html5/thumbnails/7.jpg)
DAP Spr.‘98 ©UCB 7
Desempenho para SPECft2000
![Page 8: Multithreading e multiprocessamento](https://reader034.vdocuments.us/reader034/viewer/2022051516/56813af4550346895da37293/html5/thumbnails/8.jpg)
DAP Spr.‘98 ©UCB 8
Eficiência em termos de área de silício e potência
![Page 9: Multithreading e multiprocessamento](https://reader034.vdocuments.us/reader034/viewer/2022051516/56813af4550346895da37293/html5/thumbnails/9.jpg)
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: Multithreading e multiprocessamento](https://reader034.vdocuments.us/reader034/viewer/2022051516/56813af4550346895da37293/html5/thumbnails/10.jpg)
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: Multithreading e multiprocessamento](https://reader034.vdocuments.us/reader034/viewer/2022051516/56813af4550346895da37293/html5/thumbnails/11.jpg)
DAP Spr.‘98 ©UCB 11
Multiprocessador de memóriacompartilhada centralizada
![Page 12: Multithreading e multiprocessamento](https://reader034.vdocuments.us/reader034/viewer/2022051516/56813af4550346895da37293/html5/thumbnails/12.jpg)
DAP Spr.‘98 ©UCB 12
Multiprocessador de memóriadistribuída
![Page 13: Multithreading e multiprocessamento](https://reader034.vdocuments.us/reader034/viewer/2022051516/56813af4550346895da37293/html5/thumbnails/13.jpg)
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: Multithreading e multiprocessamento](https://reader034.vdocuments.us/reader034/viewer/2022051516/56813af4550346895da37293/html5/thumbnails/14.jpg)
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: Multithreading e multiprocessamento](https://reader034.vdocuments.us/reader034/viewer/2022051516/56813af4550346895da37293/html5/thumbnails/15.jpg)
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: Multithreading e multiprocessamento](https://reader034.vdocuments.us/reader034/viewer/2022051516/56813af4550346895da37293/html5/thumbnails/16.jpg)
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: Multithreading e multiprocessamento](https://reader034.vdocuments.us/reader034/viewer/2022051516/56813af4550346895da37293/html5/thumbnails/17.jpg)
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: Multithreading e multiprocessamento](https://reader034.vdocuments.us/reader034/viewer/2022051516/56813af4550346895da37293/html5/thumbnails/18.jpg)
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: Multithreading e multiprocessamento](https://reader034.vdocuments.us/reader034/viewer/2022051516/56813af4550346895da37293/html5/thumbnails/19.jpg)
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: Multithreading e multiprocessamento](https://reader034.vdocuments.us/reader034/viewer/2022051516/56813af4550346895da37293/html5/thumbnails/20.jpg)
DAP Spr.‘98 ©UCB 20
Superescalar SMT
Chips de um único CORE
![Page 21: Multithreading e multiprocessamento](https://reader034.vdocuments.us/reader034/viewer/2022051516/56813af4550346895da37293/html5/thumbnails/21.jpg)
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.