Por que os fabricantes de CPU pararam de aumentar as velocidades de clock de seus processadores? [fechadas]

62

Eu li que os fabricantes pararam de se concentrar em velocidades de clock mais altas e agora estão trabalhando em outras coisas para melhorar o desempenho.

com

  • uma antiga máquina de desktop com processador Intel® Xeon® E3110 com velocidade de clock de 3.0GHz
  • e um novo servidor com processador AMD Opteron (TM) 6272 com velocidade de clock de 2.1GHz

quando realizada uma comparação de criptografia simples usando (single threaded)

 openssl aes256c

o desktop é muito melhor que o servidor.

Portanto, mesmo com a otimização mais recente, por que o processador com a melhor velocidade de clock tem melhor desempenho?

    
por learner 08.07.2013 / 10:00

9 respostas

72

A razão pela qual os fabricantes pararam de se concentrar em aumentar a velocidade do clock é porque não podemos mais resfriar os processadores com rapidez suficiente para que isso seja viável. Quanto maior a velocidade do clock, mais calor é gerado, e agora atingimos um estágio em que não é mais eficiente aumentar a velocidade do processador devido à quantidade de energia que entra no resfriamento.

Outra resposta é detalhada sobre como uma velocidade de clock maior não significa melhor desempenho em todas as áreas.

    
por 08.07.2013 / 10:30
37

Há muito mais na velocidade de processamento do que a taxa de clock.

  • CPUs diferentes podem fazer quantidades diferentes no mesmo número de ciclos de clock, devido a diferentes variantes no arranjo de pipeline e ter várias unidades de componentes (adicionadores e assim por diante) em cada núcleo. Enquanto no seu teste não é o caso, muitas vezes você acha que um chip "mais lento" pode fazer mais do que um chip rápido (medido apenas pela taxa de clock) devido à capacidade de fazer mais por tick.

  • O teste que você realizou pode ser muito sensível a diferenças na arquitetura da CPU: pode ser otimizado para uma arquitetura específica, você pode achar que ele tem desempenho diferente não apenas entre chips Intel e AMD, mas entre Intel (ou AMD) chips de diferentes famílias. É provável que o uso de um único thread também não aproveite os múltiplos núcleos das CPUs.

  • Há um movimento para diminuir as taxas de clock por motivos de gerenciamento de energia e aquecimento: aumentar o clock não tem um efeito linear no uso de energia e na saída de calor.

  • Por causa do relacionamento não-linear acima, é muito mais eficiente para os requisitos de hoje ter várias unidades de processamento do que aumentar a velocidade de uma unidade cada vez mais. Isso também permite truques inteligentes para economizar energia, como desligar núcleos individuais quando não estão em uso e revê-los de volta conforme a demanda aumenta novamente. Claro que vários núcleos não ajudam um algoritmo single-threaded, é claro, se você tivesse duas ou mais instâncias ao mesmo tempo.

por 08.07.2013 / 13:09
19

Por que você acha que os fabricantes estão realmente diminuindo a velocidade do clock comparando apenas dois processadores?

  1. O 6272 tem uma velocidade turbo de 3Ghz. A velocidade base mais baixa é apenas para reduzir a potência média e manter um TDP aceitável para um workloard quando todos os núcleos estão estressados.
  2. O próximo chip de alto desempenho da AMD para desktop é o FX-9590 a> atingirá 5 Ghz.

Além disso, a velocidade do relógio não é igual ao desempenho por ciclo de clock. Você pode ter um 3.8 Ghz P4 contra um núcleo de 3.2 Ghz de um i7-3930K, mas isso não significa que o núcleo do P4 seja mais rápido.

Tudo o que foi dito aqui sobre o consumo de energia também é perfeitamente válido e verdadeiro para um design de 16 núcleos, onde você naturalmente se preocupa mais com os problemas do TDP.

Além disso, seu método de benchmark apenas testando o openssl é um pouco simples para fornecer números do mundo real. Talvez você deva experimentar qualquer pacote de benchmark de criptografia.

    
por 08.07.2013 / 12:41
13

Seu caso de teste (criptografia AES-256) é muito sensível às otimizações específicas do processador.

Existem várias CPUs que possuem instruções especiais para acelerar as operações de criptografia / descriptografia. Essas instruções especiais não apenas podem estar presentes em sua área de trabalho - pode ser que a CPU da AMD tenha instruções especiais diferentes. Além disso, o openssl pode suportar estas instruções especiais apenas para a CPU Intel. Você verificou se era esse o caso?

Para descobrir qual sistema é mais rápido, tente usar um pacote de referência "adequado" - ou melhor, use sua carga de trabalho típica.

    
por 08.07.2013 / 10:25
10

Simples: O chip da AMD é muito mais rápido porque é um chip de 16 núcleos. Com 115 Watt, significa que cada núcleo produz ~ 7 Watt. Isso não seria possível se cada núcleo fosse executado a 3 Ghz. Para atingir esse valor de 7 watts, a AMD baixou a freqüência do clock. Diminuir a frequência do relógio em 10% reduz o consumo de energia em 20%, o que permite que você coloque 25% de núcleos extras em um chip.

    
por 08.07.2013 / 12:02
10

Como outros já disseram, não podemos mais resfriar efetivamente as CPUs se quisermos aumentar a voltagem necessária para os mesmos aumentos de freqüência relativos no passado. Houve um tempo (era P4 e anterior) quando você pode comprar um novo processador e ver um ganho "imediato" como velocidade, porque o clock foi significativamente aumentado em comparação com a geração anterior. Agora chegamos a uma parede térmica, de certa forma.

Cada nova geração moderna de processadores está aumentando um pouco na taxa de clock, mas isso também é relativo à capacidade de resfriá-los apropriadamente. Os fabricantes de chips, como a Intel, estão continuamente se concentrando em diminuir o tamanho do processador para torná-los mais eficientes no consumo de energia e produzir menos calor nos mesmos relógios. Como uma nota lateral, esse tamanho de matriz encolhido faz com que os processadores modernos fiquem mais propensos a morrer por excesso de voltagem do que por superaquecimento. Isso significa que ele também está limitando o clock do teto de qualquer CPU de geração atual sem outras otimizações feitas pelo fabricante do chip.

Outra área que está sendo strongmente focada pelos fabricantes de chips é aumentar o número de núcleos no chip. Isso contribui para aumentos significativos no poder computacional, mas apenas quando se usa software que aproveita vários núcleos. Observe a diferença entre potência computacional e velocidade aqui. Simplificando, velocidade refere-se à rapidez com que um computador pode executar uma única instrução, enquanto a potência computacional refere-se a quantos cálculos um computador pode fazer em um determinado período de tempo. Sistemas operacionais modernos e muitos softwares modernos vantagem de múltiplos núcleos. O problema é que a programação paralela / concorrente é mais difícil do que o paradigma de programação linear padrão. Isso aumentou o tempo necessário para que muitos programas no mercado aproveitassem totalmente o poder desses processadores mais recentes, pois muitos desenvolvedores não estavam acostumados a escrever programas desse modo. Ainda existem alguns programas no mercado hoje (modernos ou antigos) que não aproveitam vários núcleos ou multiencadeamento. O programa de criptografia que você citou é um desses exemplos.

Essas duas áreas de foco dos fabricantes de chips estão intrinsecamente conectadas. Reduzindo tanto o tamanho da matriz quanto o consumo de energia de um chip, eles podem então aumentar o número de núcleos no referido chip. Eventualmente, porém, isso também atingirá uma barreira, causando outra mudança de paradigma, mais drástica.

A razão para esta mudança de paradigma é devida a nós nos aproximarmos dos limites do silício como material base para a produção de chips. Isso é algo que a Intel e outros vêm trabalhando há algum tempo. A Intel afirmou que tem uma alternativa ao silício em andamento, e provavelmente começaremos a vê-lo depois de 2017. Além desse novo material, a Intel também está analisando os transistores 3D que poderiam "triplicar efetivamente o poder de processamento". Aqui está um artigo que menciona essas duas ideias: link

    
por 08.07.2013 / 17:02
2
  • As perdas de calor H igual ao 4º grau de frequência f .

    H ~ f ^ 4

    Assim, o menor aumento de frequência leva a altas perdas de calor.

  • Miniaturização adicional

    Uma frequência mais alta leva a uma minimização de cristais mais distante. Neste momento não temos tecnologias para trabalhar efetivamente com materiais de escala de nano-metros e nano-metros são o limite.

por 08.07.2013 / 17:50
2

Como afirmado em algumas outras respostas, os fabricantes de CPU querem manter a velocidade do clock baixa para controlar o consumo de energia e a dissipação de calor. Para fazer mais trabalho com a mesma velocidade de clock, várias estratégias são usadas.

Grandes caches de memória no chip podem manter mais dados "próximos" da CPU, disponíveis para serem processados com o mínimo de atraso, ao contrário da memória principal, que é muito mais lenta para fornecer dados à CPU.

Instruções diferentes da CPU levam números diferentes de ciclos de clock para serem concluídas. Em muitos casos, você pode usar um circuito simples para implementar uma operação em vários ciclos de clock, ou um circuito mais complexo para fazer isso em menos.

O exemplo mais dramático disso na evolução da Intel está no Pentium 4, que foi um grande outlier na velocidade do clock, mas não teve um desempenho proporcionalmente bom. As instruções de mudança de bit, que nos chips anteriores podiam mudar 32 bits em um único ciclo, usavam um circuito muito mais simples no Pentium 4, que exigia um único ciclo para cada mudança de bit. A expectativa era que a arquitetura do Pentium 4 fosse escalonável para velocidades de clock muito maiores por causa de sua simplicidade, mas isso não funcionou, e o circuito de deslocamento rápido e complexo retornou no Core e nas arquiteturas posteriores.

    
por 08.07.2013 / 19:36
2

Do IEEE:

So why not push the clock faster? Because it's no longer worth the cost in terms of power consumed and heat dissipated. Intel calls the speed/power ­tradeoff a ”fundamental theorem of multicore processors”—and that's the reason it makes sense to use two or more processing areas, or cores, on a single chip.

link

    
por 09.07.2013 / 02:28