Hyperthreading versus Dual-core CPUs

Ontem o Enéas me apresentou um problema que estava ocorrendo numa PowerEdge 6800 com quatro processadores Xeon. Um processo Java, que funcionava direito numa PowerEdge 6600 com dois processadores Xeon, travava na 6800.

No final das contas o problema foi resolvido desabilitando a função de hyperthreading (HT) dos processadores, o que pode ser feito via BIOS ou via um argumento (noht) para o kernel do Linux. O efeito colateral da mudança é que com o HT habilitado cada Xeon se apresenta como dois processadores virtuais enquanto que com o HT desabilitado cada Xeon é um processador. Deste modo, ao desabilitar o HT, os usuários passaram a ver somente quatro ao invés de oito processadores.

Bem, o fato é que eu não sabia direito o que é hyperthreading. Então recorri à wikipedia. Vale a pena ler os tópicos sobre Hyper-threading e sobre Dual-core (DC).

Notem que são duas tecnologias diferentes cujo efeito é fazer com que um processador físico se apresente para o sistema operacional como dois processadores lógicos.

Os Xeons da 6800 implementam HT. Parece que a Intel está pra lançar novas versões do Xeon implementando DC, mas por enquanto só a AMD já vende este tipo de coisa.

Pelo que entendi, um processador DC contém realmente dois processadores num mesmo chip. Eles compartilham o barramento de I/O e o cache secundário, de modo que pode haver mais contenção pelo barramento do que numa solução com dois processadores físicos, mas há menor consumo de energia, de espaço e de dinheiro.

Já com HT é apenas um processador com dois conjuntos de registradores, de modo que ele pode manter simultaneamente o estado de duas threads do sistema operacional e melhor utilizar suas unidades de controle. Mas o ganho efetivo de desempenho é da ordem de 15% em relação a uma CPU sem HT. Bem menos que com DC.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: