Quanto a velocidade do clock da CPU é importante em relação ao número de núcleos? [duplicado]

2

Eu estava comparando vários processadores de desktop / servidor no site da Intel e descobriu que a família Xenon Coprocessor constitui 61 núcleos. (em primeiro lugar, esse nome me levou a pensar como se fosse um processador secundário em um ambiente multiprocessador ... mas acho que não é o caso?)

No entanto, os processadores da série core-i para desktops e workstations têm velocidade máxima de clock de 3.9 GHz. Enquanto a velocidade máxima do relógio de qualquer processador do servidor tem velocidade de clock de 3.0 GHz e o mais recente (acima mencionado) Coprocessador tem apenas 1.33 GHz.

Não precisamos de velocidades de clock mais altas (ou mais altas) em máquinas servidoras, já que é o maior limite em poder de processamento? Por um instante, se tivermos 61 núcleos e cerca de 100 + GB de RAM, isso tornaria a velocidade do relógio irrelevante do ponto de vista da tarefa centrada no desempenho / com fome de recursos?

Uma resposta com analogia / exemplo de execução de processo seria muito apreciada. :)

    
por Annie 20.06.2013 / 23:20

2 respostas

3

Um carro tem um tanque de gasolina maior que o outro, isso significa que ele vai mais longe em um tanque de gasolina? Bem, não.

Não faz sentido comparar velocidades de clock em diferentes arquiteturas de processadores. Mesmo que o relógio de um processador seja o dobro do outro, se esse processador demorar o dobro de ciclos de clock para obter a mesma quantidade de trabalho, não será mais rápido. Use benchmarks para avaliar a velocidade do processador, não as especificações.

    
por 20.06.2013 / 23:31
5

Não, diretamente. O que importa é o que você está fazendo com eles. Se você estiver usando programas que paralelizam muito bem, então vários núcleos são muito melhores que a velocidade do clock (é por isso que as placas gráficas têm mais de 1000 núcleos e mal funcionam a 1GHz ou mais devagar). Se você tem uma carga que é única thread (como um monte de jogos), então a velocidade do clock é muito mais importante, porque os núcleos extras são inúteis

Pense nisso assim:

Um processador multi-core mais lento é como um barramento, enquanto um processador single-core mais veloz é como um carro de corrida. O objetivo é levar o maior número possível de pessoas para onde for necessário.

Digamos que você precise obter 20 pessoas do ponto A ao ponto B: o ônibus vencerá, mesmo que seja mais lento, simplesmente porque pode transportar todas as 20 pessoas ao mesmo tempo, enquanto o carro de corrida só pode mover uma pessoa de cada vez, e tem que fazer 20 viagens. É rápido, mas não é rápido .

Mas e se você precisar mover uma pessoa do ponto A para o ponto B? Um carro de corrida é muito mais rápido que um ônibus, mesmo que o ônibus esteja carregando apenas uma pessoa.

O truque é descobrir se seus aplicativos têm uma pessoa que precisa ir muito rápido ou um monte de pessoas que precisam ser movidas.

Os servidores frequentemente têm muitos processos em execução e estão realizando muitos trabalhos separados: muitas vezes, eles se encontram no cenário "bus moving 20 people", portanto é comum que eles tenham CPUs mais lentas com muitos núcleos.

Os desktops dos consumidores estão começando a fazer mais e mais paralelamente, mas falando relativamente em comparação aos servidores, um desktop ainda tem uma pessoa sentada, fazendo uma coisa de cada vez, então ainda vale a pena tentar empurrar CPUs mais rápido em vez de ter números insanos de núcleos.

Dito isto, é muito mais fácil fazer uma CPU com mais núcleos do que torná-la mais rápida. Nós as temos feito mais rápido por muitas décadas e, embora elas se tornem mais rápidas ainda, requer muito mais pesquisas para melhorias cada vez menores. Comparativamente, recentemente começamos a impulsionar a tecnologia multi-core, o que significa que, por muito pouca pesquisa, podemos adicionar mais e mais núcleos. É por isso que muitas coisas estão sendo reescritas para utilizar multithreading e múltiplos núcleos.

    
por 20.06.2013 / 23:43