Baixe o app para aproveitar ainda mais
Prévia do material em texto
Processadores para computação de alto desempenho Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos Introdução Nesta aula apresentaremos características de processadores e como elas influenciam no desempenho de um sistema Mostraremos também alguns processadores reais, de várias épocas Começaremos falando da arquitetura do conjunto de instruções, ou ISA. O debate CISC x RISC O que é CISC e RISC? São formas de estruturar as instruções do processador quanto aos padrões de codificação e execução Antigamente…. Processadores RISC usam poucas instruções com formatos rígidos Processadores CISC usam muitas instruções com formatos distintos O debate CISC x RISC RISC é mais eficiente, porém mais complexo e usa mais memória. Mesmo sendo menos eficiente, a maioria das máquinas usavam processadores CISC (até começo dos anos 90) Problemas da primeira geração RISC A não adoção inicial de RISC se deu por: Falta de sistemas operacionais e compiladores adaptados aos processadores RISC Os executáveis eram muito grandes por terem muitas instruções A pouca variedade de instruções de máquina exigia a construção de instruções de software (R)evolução do RISC Aumento no número de transistores por chip Pipelining é mais fácil se instruções têm mesmo tamanho Surgimento de compiladores mais otimizados Características de processadores RISC Uso intensivo de pipelining Todo o projeto RISC é voltado para facilitar o uso de pipelines Instruções de mesmo tamanho Essa característica é a que mais reforça o conceito de pipeline, uma vez que é possível uniformizar todo o processo de transferência de dados e instruções Características de processadores RISC Arquitetura LOAD/STORE Todo acesso à memória ocorre apenas através de instruções LOAD ou STORE, não sendo possível outras operações nela Endereçamento simples Como apenas LOAD e STORE acessam a memória não são necessárias variações nesse formato. As outras instruções acessam apenas registradores Características de processadores RISC Ponto flutuante em pipelines Como todas as instruções têm mesmo formato, incluindo as de ponto flutuante, é possível executá-las em pipelines Tratamento de desvios São necessários para evitar esvaziamentos frequentes do pipeline. Usa técnicas de predição, delay slot e execução condicional A técnica de delay slot Segunda geração RISC Chegada dos processadores “SUPER” Superescalares Permitem a execução simultânea de várias instruções através de vias de execução paralelas Superpipelines Fazem a construção de estágios cada vez mais especializados, chegando a 31 estágios (geração Prescott do Pentium 4) Outros caminhos CISC e RISC não são as únicas soluções possíveis. A família pentium, por exemplo, misturava os dois conceitos Outra saída é o uso de processadores VLIW (very- long instruction word) Arquitetura VLIW Modelo de processador Arquitetura VLIW Formato de instrução e execução Modelos arquiteturais básicos Modelos arquiteturais básicos Modelo de arquitetura CISC Modelo de arquitetura RISC Arquitetura POWER (32 bits) Antigo cenário sobre microprocessadores Cenário atual sobre microprocessadores E as GPUs? Cenário atual sobre microprocessadores Preocupação com consumo de energia Design orientado pela aplicação, ou seja, menos clock e instruções por ciclo quando é preciso economizar energia Em alguns casos usando ASICs Para alto desempenho a preocupação é como refrigerar os processadores... Lei de Moore Continua aplicável Não se resume a número de transistores ou velocidade da CPU Na verdade é uma referência econômica sobre gerações de circuitos integrados Pipelines O uso de pipelines é uma das formas de se acelerar o processamento Pipelines surgem em duas formas: Pipeline aritméticos Pipeline de instruções Pipelines aritméticos Envolvem a decomposição de operações aritméticas em etapas funcionais São mais simples de implementar e não envolvem problemas de predição ou de esvaziamentos Pipelines aritméticos 400 ns Pipelines aritméticos 150 ns Pipeline de instruções Envolve as várias etapas de execução de uma instrução, como busca, decodificação, etc É mais complicado pois essas etapas possuem comportamentos distintos para tipos distintos de instruções Pipeline de instruções Pipeline de instruções Antigamente... Pipelines podiam ser classificados como sendo lineares ou não-lineares Com o aumento na complexidade dos pipelines o conceito de linearidade (típico nos antigos pipelines RISC) foi abandonado Mas ainda é útil no entendimento dos hazards de um pipeline Pipelines lineares Caracterizados como uma linha de produção serial típica Mais simples de serem compreendidos O fluxo dos dados/instruções pode ser feito de forma síncrona (latches e relógio único), ou assíncrona (sinais de requisição e reconhecimento) Pipeline linear síncrono Pipeline linear assíncrono Pipeline não-linear É um pipeline em que o fluxo pelos estágios pode sofrer grandes desvios ou até formar ciclos Fundamental para CISC, pois instruções de formatos diferentes demandam caminhos de execução diferentes Seu controle é tipicamente assíncrono Exemplo pipeline não-linear assíncrono Pipelines superescalares São pipelines com uma grande quantidade de estágios e caminhos possíveis São característicos dos processadores modernos Permitem, em determinados estágios, a execução de vários caminhos (instruções) simultaneamente Pipelines superescalares Permitem o escalonamento de instruções fora de ordem (out-of-order execution), a partir do momento em que a instrução: Tem dados disponíveis Tem unidade operacional disponível Não criará conflitos Pipelines superescalares Pipelines superescalares Pipeline superescalar (threads) Pipeline processadores MIPS Arquitetura de alguns processadores MIPS 64bits Sandy Bridge Observar o anel ligando as caches locais (nível 1) Observar também os elementos especializados Sandy Bridge Haswell Quarta geração da família i3,5,7 Do ponto de vista da Intel representou avanços mais significativos do que a geração anterior Haswell Haswell Haswell Coffee Lake (8a e 9a geração) Coffee Lake Coffee Lake AMD Opteron Processadores Opteron trabalham com 64 bits, sendo suas principais características: Endereços virtuais de 48 bits Endereços físicos de 40 bits Caches L1 e L2 separadas para cada núcleo Cache L1 é composta por 64Kbytes para dados e 64Kbytes para instruções 3 conexões para E-S (16 bits em cada direção) suportam conexões entre processadores AMD Bulldozer (2011 a 2017) AMD Bulldozer AMD Ryzen AMD Ryzen Arquitetura Power8 Arquitetura Power8 Sparc M7 Sparc M7 Sparc M7 Sistema de multiprocessadores (Power cells) Processador Power (PPE) cuida do SO e controle das SPE Processadores sinergísticos (SPE) fazem o processamento real, através de sua unidade de processamento (SPU) e de interface (MFC) Comunicação ocorre por 4 anéis de 16 bytes de largura cada Sistema de multiprocessadores (Power cells) Diagrama interno de um SPE Anéis da rede interna Placa vetorial Cray Y-MP Arquitetura Cray XT4 Processadores de baixo consumo Uma alternativa hoje é o uso de uma grande quantidade de processadores de baixo consumo de energia para fazer um paralelismo em larga escala Nessa categoria aparecem processadores como o ATOM, Vortex e as GPU´s ATOM (Intel) ATOM (Intel) Graphical Processing Units O uso de GPUs como elementos de aceleração de processamento tem crescido A idéia é usar GPUs como processadores das partes não sequenciais de um programa A GPU Fermi, da Nvidia, apresenta até 512 núcleos por chassi A GPU Kepler, da Nvidia, chega a 2688 núcleos, atingindo 1.31 Tflops Graphical Processing Units Arquitetura Tesla, com o lançamento da GPU V100 (Volta) possui5120 núcleos e 640 tensores Atinge 7,8 Tflops em dupla precisão e 125 Tflops para operações com tensores Usada no Summit da IBM Nvidia - Kepler Nvidia - Kepler Nvidia - Kepler Nvidia - Kepler Tesla Kepler Graphical Processing Units Além da NVIDIA temos também GPUs da Intel, através da família Xeon Phi Atinge desempenho de 1TFlops, através de 60 núcleos executando até 240 threads Arquitetura do Xeon Phi Modos de execução Xeon Phi (Knights Landing) Processadores ARM São processadores de consumo de energia muito baixo, chegando a menos de 2 watts no processador e menos de 12 watts num sistema completo Uso inicial em dispositivos móveis Tem se tornado uma alternativa para uso como processador auxiliar ARM processors – Cortex A9 Rex Neo processors (fake?) Rex Neo processors Rex Neo processors TPUs Uso de circuitos ASIC (application-specific integrated circuit) para resolver redes neurais Deep Learning depende intensamente de redes neurais Resultados bastante promissores TPUs Desempenho relativo a CPU TPUs Projeto da rede neural TPUs Modelo estrutural de uma TPU TPUs Diagrama de blocos da TPU TPUs Multiplicação de matrizes com TPU Quantum computing Ainda longe de ser realidade, apesar de protótipos Informação é representada por níveis energéticos de spin Demanda uso de supercondutores (temperaturas próximas de 0 kelvin) Quantum computing Técnicas usam: quantum logic-gates (Google, IBM e Intel) ou quantum annealing (DWave) Quantum computing Quantum computing - Google Quantum computing (Intel) Chip neuromórfico (Intel) Processadores para HPC Tendência para uso de processadores “comuns”, em organização manycores e multicomputadores Cuidados recentes (nem tanto) com economia de energia Problemas de conectividade a serem resolvidos para sistemas exascale Processadores para HPC Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Slide 35 Slide 36 Slide 37 Slide 38 Slide 39 Slide 40 Slide 41 Slide 42 Slide 43 Slide 44 Slide 45 Slide 46 Slide 47 Slide 48 Slide 49 Slide 50 Slide 51 Slide 52 Slide 53 Slide 54 Slide 55 Slide 56 Slide 57 Slide 58 Slide 59 Slide 60 Slide 61 Slide 62 Slide 63 Slide 64 Slide 65 Slide 66 Slide 67 Slide 68 Slide 69 Slide 70 Slide 71 Slide 72 Slide 73 Slide 74 Slide 75 Slide 76 Slide 77 Slide 78 Slide 79 Slide 80 Slide 81 Slide 82 Slide 83 Slide 84 Slide 85 Slide 86 Slide 87 Slide 88 Slide 89 Slide 90 Slide 91 Slide 92 Slide 93 Slide 94 Slide 95 Slide 96 Slide 97 Slide 98 Slide 99 Slide 100 Slide 101
Compartilhar