Impacto do cache L3 no desempenho – vale a pena um sistema com processador duplo?

Impacto do cache L3 no desempenho – vale a pena um sistema com processador duplo?

Comprarei um novo sistema topo de linha e gostaria de ter uma noção melhor se um sistema Xeon de processador duplo (estou olhando para o novo Xeon E5-2687W topo de linha) poderia, realisticamente, fornecer um notável melhoria de desempenho devido à duplicação do cache L3 (20 MB por CPU).

(Isso se soma à vantagem adicional ocasional devido à duplicação de núcleos e RAM.)

Meu cenário de uso é, aproximadamente, que tenho muitos aplicativos em segundo plano em execução a qualquer momento - 3 ou 4 aplicativos de compactação/backup de dados, um servidor web de baixo impacto, uma ou duas máquinas virtuais a qualquer momento (geralmente bastante ociosas) e talvez 20 programas utilitários que utilizam uma parte notável (mas pequena) dos núcleos da CPU. No total, quando não estou usando ativamente o computador, cerca de 25% da energia total da CPU é utilizada em meu sistema i7-970 atual de 6 núcleos (12 threads).

Quando estou realizando trabalho de rotina, a utilização da CPU geralmente excede 50% e ocasionalmente atinge 75% a 80%.

O Xeon E5-2687W não é apenas um i7 de segunda geração (portanto, deve melhorar o desempenho por esse motivo), mas também possui 8 núcleos (16 threads), em vez de 6 núcleos. Por esse motivo, espero atingir a faixa de 75% da CPU com ainda menos frequência. No entanto, a capacidade de duplicar os núcleos e a RAM é uma consideração.

No entanto, no final, acredito que esta decisão se resume a saber se a duplicação do cache L3 proporcionará uma melhoria notável. Existem muitos benchmarks e muita discussão sobre o poder da CPU. No entanto, encontro muito pouca discussão sobre a utilização do cache L3 e como os aumentos no cache L3 (como duplicá-lo com processadores duplos) afetam o desempenho.

Por exemplo: se houver apenasdoisprocessos em execução, mas cada um se beneficia de um grande cache L3 (como pode ser o caso de processos em segundo plano que verificam frequentemente o sistema de arquivos), talvez o desempenho geral do sistema possa melhorar visivelmente com CPUs duplas - mesmo que apenas um único núcleo esteja ativo em cada CPU - devido a cada processo ter o dobro do cache L3 efetivo.

Espero que alguém tenha uma noção dos benefícios de aumentar (ou duplicar) o tamanho do cache L3.

Nota: a CPU que estou considerando (o Xeon E5-2687W) possui cache L3 de 20 MB, portanto, um sistema com CPU dupla teria cache L3 de 40 MB.

Responder1

Como sempre acontece com perguntas sobre cache, a resposta seria "depende inteiramente da sua carga de trabalho". O cache só terá alguma utilidade se seus processos em execução estiverem gastando uma quantidade significativa de tempo acessando a memóriaeexibem uma localidade de referência notável para endereçamento de memória (e não estão satisfeitos com os caches L1/L2 menores presentes por núcleo para este assunto).

Ter um grande número de processos em execução em threads diferentes aumenta as chances de esgotamento do cache compartilhado e, portanto, diminui os ganhos de desempenho que possivelmente teriam sido alcançados de outra forma. Esse também é o motivo para aumentar o tamanho do cache com uma contagem maior de núcleos - quanto mais threads concorrentes de memória você tiver em execução, maior provavelmente será o seu cache compartilhado para ser útil.

Há um artigo antigo deFerragens do Tomcomparando dois chips P4 antigos com e sem cache L3 para uma série de cargas de trabalho de renderização/gráficas. Os números são uma porcaria, assim como todo o benchmark, mas contém uma boa explicação da arquitetura de cache em geral e do cache L3 em particular.

Resumindo: você provavelmente não notaria a diferença, mas se precisar dos números exatos, terá que comprar as duas CPUs e executar sua carga de trabalho em ambas para comparar os tempos de execução.

Responder2

As pessoas que dizem “um aumento de apenas 20 MB no cache L3” simplesmente não sabem do que estão falando. Um aumento sensato no tamanho do cache para uma determinada arquitetura provavelmente causará um aumento sensato no desempenho, mesmo com uma carga média. Isso é mais verdadeiro quando você pensa na arquitetura turbo boost implementada nos processadores Sandy Bridge e Ivy Bridge.

Tive a oportunidade de experimentar isso pessoalmente em vários estágios diferentes da arquitetura x86/x86_64: Sempron vs Athlon, Celeron vs Pentium 4, Pentium4 vs Athlon, Pentium4-m vs Pentium-m, Pentium 4 vs Xeon, i7 vs Xeon E5. Sempre que o cache for maior (normalmente duplicado ou quase duplicado).

Se o custo de duplicar o cache é acessível, depende de você. Mas os Xeon são melhores em termos de estabilidade, pois suportam memória ECC e tecnologias semelhantes, que são obviamente obrigatórias em certas aplicações (como simulações 3D para fundição de alumínio, que é o meu caso).

Responder3

Pela sua descrição do que você faz e como seu sistema atual lida com isso, só posso me perguntar por que você deseja substituí-lo. Na melhor das hipóteses, o cache L3 daria um impulso insignificante, mas com um grande custo, mas no caso de uso descrito você não pode esperar ver qualquer diferença resultante de um aumento de apenas 20 MB no cache L3.

informação relacionada