CPU Throttling no Opteron 6272 no Windows

2

Estou no processo de tentar comparar um aplicativo multithread no meu novo servidor HP Proliant, que tem 2x Opteron 6272 e 64 gb de RAM.

Quando executo o aplicativo em uma máquina desktop (uma variedade de processadores i7s e Xeon X5675), o aplicativo fará com que todos os núcleos atinjam uma utilização próxima de 100%.

Quando executo o aplicativo no meu servidor, não importa quantos threads eu execute, a utilização total da CPU do aplicativo gira em torno de 20 a 25%. Isto é, se eu estiver rodando com 32 threads, todos os 32 núcleos ficarão em torno de 20%, se eu rodar 16 threads eles ficarão por volta de 40%, e assim por diante.

  1. No começo eu suspeitava que isso tinha a ver com o sistema operacional, então eu instalado o Windows 7 no servidor para que os desktops e os servidor tinha o mesmo sistema operacional.
  2. Então suspeitei que era o hardware, mudei o gerenciamento de energia no BIOS para High Performance. Mesmo que isso tenha aumentado o tempo de referência, o mesmo problema de 20% de utilização persiste.
  3. Eu posso obter todos os 32 núcleos em 100% usando o benchmark y-cruncher. Meu benchmark personalizado está escrito em .NET, isso poderia ter algo a ver com isso?

Estou perplexo com este problema. Alguém tem uma ideia do que poderia causar isso?

    
por vpiTriumph 20.04.2012 / 22:59

1 resposta

4

Se seu aplicativo estiver processando uma grande quantidade de dados, tente seguir o caminho dos dados. Se os dados de entrada forem alimentados a partir da rede, verifique possíveis latências, limitações de largura de banda ou erros de transmissão. Você já verificou a E / S do disco, o que de outra forma seria um provável candidato para um gargalo.

Por último, mas não menos importante, uma vez que é um aplicativo .NET altamente multithreaded, você deve garantir que coleta de lixo do servidor é usado, caso contrário, você poderá ver características de carga estranhas, conforme descrito neste postar do estouro de pilha .

    
por 23.04.2012 / 21:20