Como eu avalio duas especificações diferentes de hardware para um aplicativo?

0

Eu tenho um aplicativo single-threaded, ligado à CPU, que atualmente está sendo executado em uma máquina com vários núcleos do Windows (Pentium Pro / II / III de 2.1 GHz de 32 vias). 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 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 eu não sei se cálculos simplórios se aplicam.

Estou apenas procurando 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.

Também tenho certeza de que há melhores opções / hardware disponíveis no mercado. Apenas não aqueles que temos acesso agora, infelizmente: - (

    
por Paul Moore 26.01.2016 / 14:19

1 resposta

1

Você se declarou claramente que seu aplicativo é de encadeamento único e limitado pelo desempenho de CPU de um único núcleo. 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 clockspeed.

Novas gerações de CPU têm melhor IPC. Processadores com clock mais alto têm ... velocidades mais altas. A única regra é, então, obter o processador de última geração com a maior velocidade de clock.

Na realidade, você ficaria melhor com um sistema iX core 1xQuad com uma CPU de 4Ghz do que com um Xeon de 2x Quad-core 3Ghz. 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 1 Ghz.

    
por 26.01.2016 / 14:34