Hyper-V e Hyper-threading: ligado ou desligado?

23

Com os novos processadores Xeon suportando Hyper-threading, qual é a sabedoria atual com relação a usá-lo (ou não) em uma máquina host Hyper-V?

Eu estava originalmente com a impressão de que ativá-lo em um ambiente de host virtual poderia ser prejudicial, já que as CPUs 'extras' não eram verdadeiros núcleos. No entanto, eu também li comentários (não confirmados) ao longo das linhas de MS fazendo algum trabalho duro para obter o Hyper-V rodando bem em um ambiente Hyper-threading.

Alguém tem alguma informação ou experiência sólida a esse respeito? Felicidades!

    
por CapBBeard 29.07.2009 / 06:41

5 respostas

5

O antigo problema com o Hyper-Threading no Virtual Server 2005, sem ficar excessivamente técnico, é que o cache da CPU estava sendo envenenado, ou seja, não estava fazendo cache quase nada porque os contextos do que estava acontecendo em cada thread não estavam relacionados competir pelo cache on-chip.

Os chips mais recentes têm caches maiores e mais inteligentes, o que é um problema menor.

É ideal ter ligado ou desligado? Isso realmente depende da carga de trabalho. Se ambos os segmentos estiverem rodando a mesma VM e a mesma tarefa, então certamente seria uma GRANDE vantagem ter. Se eles estivessem fazendo coisas não relacionadas com um monte de E / S de RAM aleatória (várias VMs diferentes, por exemplo), apenas metade do cache do chip estaria disponível para cada um - o que, em teoria, poderia ser mais lento - na realidade raramente é mais.

Se você tiver chips de geração mais antigos, talvez seja necessário verificar os tamanhos do cache de chips: Na virtualização, o cache maior pode ser o melhor. A RAM é realmente muito mais lenta que as CPUs - não tão perto quanto as unidades de disco.

NOTA: O que você está lendo e que diz "desligar" foi encontrado em relação aos chips que eram single core com Hyper-Threading - Por exemplo, essa era a resposta oficial de volta no dia (2005/2006?) - link

Steve Radich link

    
por 10.04.2010 / 08:40
21

De acordo com o Windows IT Pro, você quer deixá-lo em:

A. The new four-core Intel Core i7 processor enables hyper-threading, which splits each processor core into two virtual cores to (potentially) improve performance.

The concern with Hyper-V and hyper-threading is that you assign a number of processor cores to each virtual machine (VM). Imagine that you assign one processor each to two guest VMs from the Hyper-V management console, thinking that each is going to use a separate core. What if the hypervisor assigns each of the VMs to the same physical core, with each getting a virtual core? You'd potentially get lousy performance and three physical cores not doing much, where you'd have liked each VM to get its own physical core.

Fortunately, this isn't the case. Microsoft has done a lot of work around Hyper-Threading and Hyper-V. Essentially, while Hyper-Threading will aid performance sometimes, it will never hurt performance, so Hyper-Threading should be enabled.

    
por 29.07.2009 / 07:02
6

Os programas que estão cientes do 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 comutação 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 de uso intensivo da CPU, a CPU hiperintegrada poderá alternar com frequência entre esse processo e outros sem incorrer em muito impacto no desempenho.

A vantagem de executar servidores virtuais é que você pode criar um grande conjunto de recursos que podem ser alocados a diferentes servidores rapidamente, conforme necessário. Isso inclui realocar os núcleos da CPU e equilibrar a carga em todos os núcleos disponíveis. Se o hipervisor não sabe 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 inativos enquanto outros são indexados a 100% da utilização da CPU enquanto ambos os núcleos lógicos competem por CPU Tempo. No entanto, se o hipervisor for capaz de identificar a diferença entre núcleos físicos e lógicos, ele tentará equilibrar a carga da CPU entre as CPUs físicas antes de alocar vários processos a dois núcleos lógicos pertencentes ao mesmo núcleo físico.

    
por 23.09.2009 / 20:16
2

Eu não estudei o problema detalhadamente, mas a Microsoft não recomenda o uso de hyperthreading com o Exchange 2010 devido a problemas de "planejamento e monitoramento de capacidade". Você pode querer testar suas próprias cargas de trabalho antes de escolher uma configuração ou outra.

    
por 19.02.2010 / 02:37
-2

Hyperthreading: Uau, processadores gratuitos!

Desligue. Embora as implementações modernas de multithreading simultâneo (SMT), também conhecidas como hyperthreading, possam melhorar significativamente a taxa de transferência 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 em servidores Exchange quando o hyperthreading é ativado devido à maneira como o coletor de lixo do servidor .NET aloca heaps. 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 da memória na inicialização de um dos 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 do Exchange 2013. Os benefícios não superam o impacto negativo.

Copiado de: link

    
por 15.06.2014 / 05:59