Multithreading e multiprocessamento DAP Spr.‘98 ©UCB 1 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 2 Execução de Threads em paralelo Slots de emissão (despacho) tempo Horizontal – capacidade de emissão de instrução a cada ciclo Vertical – sequência de ciclos de clock Caixa branca – slot de emissão não usado naquele ciclo de clock Cores diferentes de branco – threads diferentes DAP Spr.‘98 ©UCB 3 Speedup no Power5 com e sem SMT SPECfp SPECint = 1,23 SPECfp = 1,16 SPECint DAP Spr.‘98 ©UCB 4 perda ganho Características de 4 processadores SMT DAP Spr.‘98 ©UCB 5 Desempenho para SPECint2000 DAP Spr.‘98 ©UCB 6 Desempenho para SPECft2000 DAP Spr.‘98 ©UCB 7 Eficiência em termos de área de silício e potência DAP Spr.‘98 ©UCB 8 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 9 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 10 Multiprocessador de memória compartilhada centralizada DAP Spr.‘98 ©UCB 11 Multiprocessador de memória distribuída DAP Spr.‘98 ©UCB 12 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? 1 speedup fraçãomelhorada (1- fraçãomelhorada ) razãomelhoria 1 80 fração paralela (1 - fração paralela) 100 80 fraçãoparalela 100 (1- fraçãoparalela) 1 80 - 1 fraçãoparalela 0,9975 79,2 DAP Spr.‘98 ©UCB 13 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 custo de acesso remoto 200ns custo de solicitação remota 400ciclos tempode ciclo 0,5ns Portanto CPI = 0.5 + 0,8 =1.3 e o speedup = 1.3/0.5 = 2.6. DAP Spr.‘98 ©UCB 14 Multiprocessador Simétrico (Symmetric Multiprocessor - SMP) Processor Processor Processor Cache Cache Cache Single bus Todos os processadores são iguais Na falha de um, um outro processador pode substitui-lo Memory I/O Usa sincronismo por memória compartilhada centralizada DAP Spr.‘98 ©UCB 15 CPU de um único thread RAM - quatro programas em execução Front end – busca até 4 instruções paralelas 7 Pipelines, sendo apenas o programa de cor vermelha em execução Nota-se os espaços em branco dos estágios pipeline ociosos DAP Spr.‘98 ©UCB 16 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 17 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 18 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 DAP Spr.‘98 ©UCB 19 Single-threaded SMP Chips de um único CORE Superescalar SMT DAP Spr.‘98 ©UCB 20 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. DAP Spr.‘98 ©UCB 21