Implicações de desempenho da relação CPU / núcleos

4

Com a recente adoção generalizada de CPUs com vários núcleos, uma pergunta vem à mente: como a relação CPU / núcleos está relacionada ao desempenho?

Qual destes é melhor, como e porquê?

  • 1 CPU de 8 núcleos
  • 2 CPUs de 4 núcleos
  • 4 CPUs de 2 núcleos

Eu já conheço as implicações de licenciamento (existem softwares licenciados em CPUs físicas, independentemente dos núcleos reais, e outros que realmente se preocupam com isso) e, claro, um sistema com mais soquetes físicos de CPU é mais personalizável e pode ser expandido facilmente; mas o que me interessa é a diferença de desempenho entre essas configurações ... se houver alguma.

    
por Massimo 20.10.2011 / 08:20

2 respostas

1

Depende.

Sua pergunta, em última análise, resume-se à memória. Como Ben mencionou, se eles se comunicaram via cache ou via memória principal. No entanto, se 1x8 ou 4x2 é melhor dependerá inteiramente do seu aplicativo - se ele satura o cache ou não.

Se o tipo de carga de trabalho for bastante homogêneo e compartilhar muita memória, um 1x8 com um cache grande será bom. Se a carga de trabalho tiver muitos processos dinâmicos independentes, um 4x2 pode ser melhor, pois há uma sobrecarga mínima de comunicação.

Por que não analisá-lo em termos de benefícios de custo incremental?

Anedota : Certa vez, construí uma máquina host de VM com processadores 2x6 e vi o desempenho cair drasticamente quando cruzo a memória principal. isto é, mais núcleos que se comunicam através da memória principal são mais lentos do que menos núcleos que se comunicam via cache. Cada VM estava fazendo apenas uma coisa.

    
por 21.10.2011 / 01:55
1

Olhando seus comentários sobre a questão, eu diria que rodando a toda velocidade, eu acho que 4 CPUs de 2 núcleos ganhariam devido ao compartilhamento de cache. 1 CPU de 8 núcleos teria que compartilhar o mesmo cache de 8 maneiras em oposição a apenas 2 maneiras com 4 CPUs.

Embora os núcleos levem um pouco mais de tempo para se comunicar quando estão processando, acho que isso teria menos efeito do que ter mais cache para compartilhar.

    
por 20.10.2011 / 08:39