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 máquina de mesa antiga com processador Intel® Xeon® E3110 com velocidade de clock de 3.0GHz
- e um novo servidor com o processador AMD Opteron (TM) 6272 com velocidade de clock de 2.1GHz
quando realizada uma comparação simples de criptografia usando (thread único)
openssl aes256c
a área de trabalho teve um desempenho muito melhor que o servidor.
Portanto, mesmo com a otimização mais recente, por que o processador com a melhor velocidade de clock funciona melhor?
Respostas:
A razão pela qual os fabricantes pararam de se concentrar no aumento da 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 necessária para a refrigeração.
Outra resposta entra em detalhes sobre como uma velocidade de clock mais alta não significa melhor desempenho em todas as áreas.
fonte
A velocidade de processamento é muito maior que a taxa de clock.
CPUs diferentes podem realizar quantidades diferentes no mesmo número de ciclos de clock, devido a diferentes variantes no arranjo de tubulações e tendo várias unidades componentes (somadores e assim por diante) em cada núcleo. Embora no seu teste não seja esse o caso, muitas vezes você descobre 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ê executou pode ser muito sensível às diferenças na arquitetura da CPU: ele pode ser otimizado para uma arquitetura específica; você pode descobrir que o desempenho é diferente não apenas entre os chips Intel e AMD, mas entre os chips Intel (ou AMD) de famílias diferentes. Provavelmente, também está usando um único encadeamento, para não tirar proveito dos múltiplos núcleos das CPUs.
Há uma mudança para diminuir as taxas de clock por motivos de gerenciamento de energia e calor: aumentar a taxa de clock não afeta linearmente o uso de energia e a produção de calor.
Devido à relação não linear acima, é muito mais eficiente que os requisitos atuais tenham 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 estiverem em uso e reativá-los à medida que a demanda aumentar novamente. É claro que vários núcleos não ajudam um algoritmo de thread único, é claro, se ajudasse se você executasse duas ou mais instâncias dele ao mesmo tempo.
fonte
Por que você acha que os fabricantes estão realmente diminuindo a velocidade do relógio comparando apenas dois processadores?
Além disso, a velocidade do relógio não é a mesma que o desempenho por ciclo do relógio. Você pode ter um P4 de 3,8 Ghz vs. um 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 projeto de 16 núcleos, no qual você naturalmente se preocupa mais com os problemas de 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 tentar qualquer suíte de benchmark de criptografia.
fonte
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 destinadas a acelerar as operações de criptografia / descriptografia. Não apenas essas instruções especiais podem estar presentes apenas na sua área de trabalho; também pode ser que a CPU da AMD tenha instruções especiais diferentes. Além disso, o openssl pode suportar essas instruções especiais apenas para a CPU Intel. Você checou se era esse o caso?
Para descobrir qual sistema é mais rápido, tente usar um conjunto de benchmarks "adequado" - ou melhor, use sua carga de trabalho típica.
fonte
Simples: o chip da AMD é muito, muito mais rápido porque é um chip de 16 núcleos. Com 115 watts, significa que cada núcleo produz ~ 7 watts. Isso não seria possível se cada núcleo rodasse em 3 Ghz. Para atingir esse número de 7 watts, a AMD reduziu a frequência do relógio. A redução da frequência do relógio em 10% reduz o consumo de energia em 20%, o que, por sua vez, permite colocar 25% de núcleos extras em um chip.
fonte
Como já foi dito, não podemos mais resfriar efetivamente as CPUs se pressionássemos a tensão necessária para os mesmos aumentos de freqüência relativa no passado. Houve um tempo (era P4 e anterior) em que você podia comprar uma nova CPU e ver um ganho "imediato" de velocidade, porque a taxa de clock aumentou significativamente em comparação à geração anterior. Agora, atingimos uma parede térmica, das sortes.
Cada nova geração moderna de processadores está aumentando ligeiramente a taxa de clock, mas isso também é relativo à capacidade de resfriá-los adequadamente. Fabricantes de chips, como a Intel, estão continuamente se concentrando em reduzir o tamanho da matriz da CPU para torná-los mais eficientes em termos de energia e produzir menos calor nos mesmos relógios. Como observação lateral, esse tamanho de matriz encolhível torna esses processadores modernos mais propensos a morrer devido a sobretensão em vez de superaquecimento. Isso significa que também está limitando a taxa de clock do teto de qualquer CPU de geração atual sem outras otimizações feitas pelo fabricante do chip.
Outra área que está sendo fortemente focada pelos fabricantes de chips está aumentando o número de núcleos no chip. Isso leva a um aumento significativo no poder computacional, mas apenas ao usar software que aproveita vários núcleos. Observe a diferença entre potência computacional e velocidade aqui. Simplificando, a velocidade se refere à rapidez com que um computador pode executar uma única instrução, enquanto a potência computacional se refere a quantas computações um computador pode fazer em um determinado período de tempo. Sistemas de operação modernos e muitos softwares modernos aproveitam vários núcleos. O problema é que a programação simultânea / paralela é mais difícil que o paradigma de programação linear padrão. Isso aumentou o tempo que muitos programas no mercado levaram para aproveitar ao máximo a potência desses processadores mais novos, porque muitos desenvolvedores não estavam acostumados a escrever programas dessa maneira. Atualmente, ainda existem alguns programas no mercado (modernos ou antigos) que não tiram proveito de múltiplos núcleos ou multiencadeamento. O programa de criptografia que você citou é um exemplo.
Essas duas áreas de foco dos fabricantes de chips estão intrinsecamente conectadas. Ao reduzir o tamanho da matriz e o consumo de energia de um chip, eles podem aumentar o número de núcleos no referido chip. Eventualmente, porém, isso também atingirá uma parede, causando outra mudança de paradigma mais drástica.
A razão dessa mudança de paradigma se deve ao fato de 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 na solução 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 transistores 3D que podem "triplicar efetivamente o poder de processamento". Aqui está um artigo que menciona essas duas idéias: http://apcmag.com/intel-looks-beyond-silicon-for-processors-past-2017.htm
fonte
As perdas de calor são
H
iguais ao 4º grau de frequênciaf
.H ~ f ^ 4
Portanto, o menor aumento de frequência leva a altas perdas de calor.
Mais miniaturização
Maior frequência leva a uma menor minimização do cristal. No momento, não temos tecnologias para trabalhar efetivamente com materiais à escala de nanômetros e nanômetros são o limite.
fonte
Conforme declarado em algumas outras respostas, os fabricantes de CPU desejam manter a velocidade do relógio baixa para controlar o consumo de energia e a dissipação de calor. Para fazer mais trabalho na mesma velocidade de clock, várias estratégias são usadas.
Os grandes caches de memória no chip podem manter mais dados "próximos" da CPU, disponíveis para serem processados com um atraso mínimo, em oposição à memória principal, que é muito mais lenta para fornecer dados à CPU.
Instruções diferentes da CPU levam diferentes números 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 fazê-lo em menos.
O exemplo mais dramático disso na evolução da Intel é o Pentium 4, que foi um grande desvio na velocidade do relógio, mas não teve um desempenho proporcional. As instruções de troca de bits, que nos chips anteriores podiam trocar 32 bits em um único ciclo, usavam um circuito muito mais simples no Pentium 4, que exigia um único ciclo para cada troca de bits. A expectativa era de que a arquitetura Pentium 4 fosse escalável para velocidades de clock muito mais altas devido à sua simplicidade, mas isso não deu certo e o circuito de troca rápido e complexo retornou nas arquiteturas Core e posteriores.
fonte
Do IEEE:
http://spectrum.ieee.org/computing/hardware/why-cpu-frequency-stalled
fonte