VMWare ESXi e Hyperthreading

4

Eu tenho (como alguns provavelmente estão cansados de ver no SF) um processador Dell 2950, dual 4 core 3Ghz rodando o ESXi. Percebi no console de gerenciamento do VSphere que o servidor informa que ele não tem hyperthreading ativado ("inativo")

Aparentemente, é desativado por padrão no BIOS.

Eu sei que eu poderia desligar todas as VMs e reiniciar e editar essa configuração, mas eu deveria? Existe um benefício real em ter o hyperthreading ativado neste tipo de configuração, ou o ganho de desempenho é marginal, se houver algum?

    
por Bart Silverstrim 24.07.2009 / 19:59

3 respostas

4

Eu só li sobre esse assunto algumas vezes. Eu encontrei um artigo em www.vmguy.com aqui que resume o consenso sobre esta questão HT (direta do artigo):

There are pros and cons to using HT in ESX.

Pros

  • Better co-scheduling of SMP VM’s

    Hyperthreading provides more CPU contexts and because of this, SMP VM’s can be scheduled to run in scenarios which would not have enough CPU contexts without Hyperthreading.

  • Typical applications see performance improvement in the 0-20% range (the same as non-virtualized workloads).

Cons

  • Processor resources are shared with Hyperthreading enabled

Processor resources are shared such as the L2 and L3 caches. This means that the two threads running on the same processor compete for the same resources if they both have high demand for them. This can, in turn, degrade performance.

All things considered, it is difficult to generalize the performance impact of Hyperthreading. It is highly dependant on the workload of the VM. One additional point is that you can always utilize the CPU min and max values on a per-VM or Resource Pool basis to reserve certain amounts of CPU for your most critical workloads. As with the majority of performance items I enounter, test, test, test. Try out the workloads and see what works the best on the hardware you have available.

Mais uma vez, isso é diretamente do artigo. Não tenho certeza de que o HT vale a pena, pois eu também uso o AMD Opterons, então não posso falar por experiência própria.

    
por 24.07.2009 / 20:13
3

Você tem certeza de que suas CPUs ainda têm HyperThreading nelas? Eu acho que a maioria dos processadores quad core não. Meus servidores ESX também relatam que o HyperThreading é "inativo" e eu tenho processadores AMD que nunca tiveram HT neles.

    
por 24.07.2009 / 20:04
2

As únicas CPUs Intel que suportam Hyperthreading são a arquitetura Netburst (Pre Core \ Core Duo) e as mais recentes CPUs baseadas em Nehalem (ou seja, para servidores somente do Xeon 5500 neste momento). A gama 2950 não suporta o Xeon 5500 mas suporta os anteriores 5000, 5100,5200, 5300 & 5400 gamas (o suporte preciso da CPU varia um pouco entre os vários modelos 2950). Desses, apenas o mais antigo, a série 5000 (Dempsey), suporta Hyperthreading, uma vez que foi baseado na arquitetura Netburst.

Todos os Quad Core Xeon 5xxx são baseados na arquitetura Core ou Nehalem, portanto, no seu caso, suas CPUs não suportam Hyperthreading.

    
por 24.07.2009 / 21:09