O antigo problema com o Hyper-Threading no Virtual Server 2005, sem ser excessivamente técnico, é que o cache da CPU estava sendo envenenado, ou seja, estava armazenando quase nada em cache porque os contextos do que estava acontecendo em cada thread não eram relacionados - fazendo com que eles competissem pelo cache no chip.
Os chips mais novos têm caches maiores e mais inteligentes, portanto isso é menos problemático.
É ideal ativar ou desativar? Isso realmente depende da carga de trabalho. Se os dois threads estiverem executando a mesma VM e a mesma tarefa, quase certamente seria uma grande vantagem. Se eles estivessem fazendo coisas não relacionadas com muitas E / S de RAM aleatórias (várias VMs diferentes, por exemplo), faria com que apenas metade do cache do chip estivesse disponível para cada uma - o que, em teoria, poderia ser mais lento - na realidade, raramente é mais.
Se você possui chips de geração mais antiga, pode querer verificar o tamanho do cache de chips: Na virtualização, quanto maior o cache, melhor. A RAM realmente é MUITO mais lenta que as CPUs - mas não é PRÓXIMA tão ruim quanto as unidades de disco.
NOTA: O que você está lendo que diz "desligar" foi encontrado com relação aos chips que eram de núcleo único com o Hyper-Threading - Por exemplo, essa foi a resposta oficial no dia (2005/2006?) - http: //www.VirtualServerFAQ .com / tiki-index.php? page = VirtualServerHostDualCore
Steve Radich
http://www.VirtualServerFAQ.com
Steve Radich-BitShop.com
fonte
Os programas que conhecem o hyperthreading são capazes de distinguir entre um núcleo físico e um núcleo lógico (virtual) e alocar recursos de acordo.
O hyperthreading diminui o custo da alternância de contexto, permitindo que os estados de dois processos sejam armazenados a qualquer momento, em vez de apenas um estado por vez. A troca de contexto é normalmente considerada muito cara, porque você precisa carregar todo o estado de um processo na CPU. Isso significa que, se você tiver um processo intensivo de CPU em execução, a CPU com hyperthread pode frequentemente alternar entre esse processo e outros, sem causar muito impacto no desempenho.
A vantagem de executar servidores virtuais é que você pode criar um grande conjunto de recursos que pode ser alocado para diferentes servidores em tempo real, conforme necessário. Isso inclui realocar núcleos da CPU e equilibrar a carga entre todos os núcleos disponíveis. Se o hipervisor não souber a diferença entre um núcleo físico e um núcleo lógico, então você está certo - alguns núcleos físicos podem ficar ociosos enquanto outros ficam vinculados a 100% de utilização da CPU, enquanto os dois núcleos lógicos competem pela CPU Tempo. No entanto, se o hipervisor puder distinguir a diferença entre os núcleos físicos e lógicos, tentará equilibrar a carga da CPU entre as CPUs físicas antes de alocar vários processos para dois núcleos lógicos que pertencem ao mesmo núcleo físico.
fonte
Não estudei o problema em detalhes, mas a Microsoft não recomenda o uso de hyperthreading no Exchange 2010 devido a problemas de "planejamento e monitoramento de capacidade". Você pode testar suas próprias cargas de trabalho antes de escolher uma configuração ou outra.
fonte
Hyperthreading: Uau, processadores gratuitos!
Desligue isso. Embora as implementações modernas do SMT (simultâneo multithreading), também conhecidas como hyperthreading, possam melhorar absolutamente o rendimento da CPU para a maioria dos aplicativos, os benefícios do Exchange 2013 não superam os impactos negativos. Acontece que pode haver um impacto significativo na utilização da memória nos servidores Exchange quando o hyperthreading é ativado devido à maneira como o coletor de lixo do servidor .NET aloca pilhas. O coletor de lixo do servidor examina o número total de processadores lógicos quando um aplicativo é iniciado e aloca um heap por processador lógico. Isso significa que o uso de memória na inicialização de um de nossos serviços usando o coletor de lixo do servidor será quase o dobro com o hyperthreading ativado vs. quando estiver desativado. Esse aumento significativo na memória, juntamente com uma análise do aumento real da taxa de transferência da CPU para cargas de trabalho do Exchange 2013 em testes internos de laboratório, nos levou a uma recomendação de práticas recomendadas de que o hyperthreading deve ser desabilitado para todos os servidores Exchange 2013. Os benefícios não superam o impacto negativo.
Copiado de: http://blogs.technet.com/b/exchange/archive/2013/05/06/ask-the-perf-guy-sizing-exchange-2013-deployments.aspx
fonte