Eu tenho um aplicativo single-threaded, ligado à CPU que está sendo executado em uma máquina Windows multi-core (32-way 2.1GHz Pentium Pro / II / III). Está preso em 100% de um dos "núcleos", o que equivale a cerca de 3% da CPU. Infelizmente, o aplicativo não pode ser facilmente modificado ou feito multi-threaded. Estamos atingindo problemas de desempenho de aplicativos e fica claro que a CPU é o gargalo.
Temos uma especificação para outro hardware, uma máquina Xeon 3GHz de núcleo 2xQuad. Mas o que eu não sei é se essa seria uma especificação melhor para o aplicativo. Meu instinto imediato é que a velocidade do clock é mais rápida e há menos núcleos (8 em vez de 32), de modo geral, o aplicativo funcionaria melhor. Mas estou consciente de que não é tão simples, na máquina de 32 vias muitos desses "núcleos" são hyper-threading e não sei se cálculos simplórios se aplicam.
Eu estou apenas procurando por uma abordagem "regra geral" para avaliar as duas máquinas. Sei que, para obter uma resposta verdadeira, precisaria fazer testes adequados, mas não quero gastar tempo e esforço fazendo isso, se é improvável que ajude.
Eu também tenho certeza que há melhor hardware / opções disponíveis no mercado. Apenas não aqueles que temos acesso agora, infelizmente :-(
fonte
Respostas:
Você claramente afirmou que seu aplicativo é single-threaded e limitado pelo desempenho de CPU single-core. Por definição, processadores multi-core e hyperthreading não ajudam. Adicionar um milhão de núcleos não fará um programa ser executado mais rapidamente quando ele puder usar apenas um núcleo.
A única maneira de melhorar o desempenho de aplicativos de núcleo único é obter uma CPU com núcleos mais rápidos. Existem duas maneiras de aumentar o desempenho do núcleo: melhor IPC e maior velocidade de relógio.
Novas gerações de CPU têm melhor IPC. Processadores com clock mais alto têm ... maior clockspeed. A única regra é, então, obter o processador de última geração com a mais alta velocidade de clock.
Na realidade, você ficaria melhor com um sistema iX core 1xQuad com uma CPU de 4 Ghz do que com um Xeon Quad-core de 2x. Os Xeons serão várias gerações mais antigos, o que significa um IPC mais baixo e uma velocidade de relógio menor de 1Ghz.
fonte