Existe alguma razão para não dar a uma VM um número ímpar de núcleos de CPU?

3

Estou preocupado que a configuração do número de núcleos da CPU em um número ímpar possa reduzir o desempenho ou a estabilidade. Há alguma situação em que isso possa ser verdade?

    
por D34DM347 16.08.2016 / 19:43

1 resposta

5

No que diz respeito à estabilidade: não consigo pensar em nenhum motivo, um número ímpar é menos estável do que um mesmo. Eu fiz um experimento na faculdade onde eu executei um programa multi-threaded computacionalmente intenso (em C) em uma VM e mudei o número de núcleos de 1 a 8 e medi o tempo de execução do processo. Os resultados foram principalmente lineares, desde que o processo esteja configurado para aproveitar ao máximo o número de núcleos. Eu não posso pensar em qualquer razão pela qual o sistema operacional convidado teria um problema, nem deve qualquer convidado processa desde que eles recebem seu tempo de processamento do sistema operacional convidado.

O desempenho pode ser um pouco melhor se você mantiver números pares, já que algumas arquiteturas de processador são projetadas para compartilhar um cache entre dois núcleos. Portanto, o núcleo ímpar sendo usado pela VM teria que compartilhar seu cache com o host. Mas mesmo isso é uma teoria instável, já que o próprio software de VM nunca é garantido para obter sempre os mesmos núcleos e cache entre os intervalos de tempo. Neste ponto, estamos dividindo os cabelos. Por exemplo, se você tiver um host de 4 núcleos e não puder decidir se deve fornecer 2 ou 3 núcleos à VM, o número ímpar de 3, um pouco menos ideal, ainda será executado mais rápido do que uma VM de 2. Nesse exemplo, bem como atribuir 4 núcleos para a VM. O sistema operacional hospedeiro só abrirá mão das fatias de tempo que ele pode suportar, de modo que, se você não executar grandes processos no host simultaneamente, a VM deverá funcionar bem.

    
por 16.08.2016 / 22:42