No VMware ESXi 5.x, faz diferença se eu selecionar 2 núcleos de CPU vs. 2 soquetes de CPU?

15

Título praticamente diz tudo. Só estou querendo saber se isso faz diferença na maneira como as VMs processarão as coisas e se um método é preferível em relação a outro.

    
por Windows Ninja 03.01.2013 / 13:25

3 respostas

16

Não, sua VM deve executar o mesmo e usará os mesmos recursos no host. É apenas uma opção de design que foi adicionada principalmente para adicionar alguma flexibilidade onde seu sistema operacional ou software pode ter requisitos de licenciamento por CPU.

Cada soquete / núcleo representará um núcleo físico no host. Lembre-se que mais núcleos não são automaticamente uma coisa boa devido aos requisitos de agendamento.

    
por 03.01.2013 / 13:31
11

O principal objetivo da opção cores / socket é fornecer flexibilidade com software que pode ter requisitos de tempo de execução ou de licenciamento com base no número de soquetes "físicos" ou núcleos de CPU.

Embora não haja diferença no desempenho entre vários núcleos em um soquete versus uma combinação de vários soquetes, existe IS uma pequena diferença na operação se você habilitar ou exigir o recurso hot-add do processador do virtual máquina.

Com o recurso de adição automática de CPU da VMware, você pode adicione um soquete a uma VM em execução, mas não núcleos adicionais . Por mais estranho que pareça, isso é algo que eu enfrento na produção no trabalho e influenciou como eu configuro novas VMs.

    
por 03.01.2013 / 14:01
1

De um modo geral, fará pouca ou nenhuma diferença de desempenho.

Um sistema operacional suficientemente complexo pode alterar sua heurística de agendamento (mantendo tópicos relacionados em núcleos no mesmo pacote, por exemplo, que com alguns designs de chip podem aumentar a eficiência de como o cache compartilhado entre núcleos é usado ) dependendo da disposição dos soquetes e núcleos (preenchidos). Em uma configuração virtualizada, qualquer diferença provavelmente será insignificante ou renderizada completamente devido à maneira como o hipervisor programa o acesso da CPU para VMs convidadas, a menos que o hipervisor seja bastante inteligente sobre o agendamento principal entre / dentro das VMs também.

Como Dan ressalta, você deve avaliar suas tarefas (de maneira realista: ou seja, com outras atividades no host, não apenas em um ambiente de teste em que a VM em questão é a única em execução) para garantir que vários vCores / vCPUs / ambos é realmente benéfico para o seu desempenho. A forma como o acesso aos núcleos é agendado pode introduzir atrasos que eliminam qualquer benefício e, na verdade, tornam as coisas mais lentas no geral - vi relatórios em que, para tarefas com CPU significativa, um pequeno farm de VMs de núcleo único no mesmo host funcionava significativamente melhor o mesmo hardware que um número menor de (em que "número menor2 inclui um) VM com múltiplos núcleos (embora, é claro, seja provável que imponha uma carga de memória muito maior no host).

    
por 03.01.2013 / 14:47