Como aprendemos recentemente, há quatro novas vulnerabilidades de hardware que afetam os processadores Intel. Essas novas falhas permitem que os invasores vazem dados confidenciais explorando vulnerabilidades de canal lateral de amostragem de dados de microarquitetura (MDS), das quais a mais séria é sem dúvida 'ZombieLoad'.
Ao contrário das falhas de execução especulativas anteriores que afetaram parcialmente os processadores baseados em AMD e Arm, as falhas de MDS são exclusivas dos chips Intel. A curto prazo, a única maneira de mitigar ou minimizar essas vulnerabilidades é desabilitar o multithreading simultâneo (SMT) ou, como a Intel o chama, "Hyper-Threading".
Do jeito que está, a Microsoft está lançando atualizações no nível do sistema operacional para lidar com as quatro vulnerabilidades do MDS e você as obterá com a atualização do Windows 10 1903 deste mês. No entanto, isso não atenua totalmente o problema, para isso precisamos de atualizações do BIOS da placa-mãe e, segundo informações, a Intel lançou o novo microcódigo para os parceiros da placa-mãe. No entanto, até o momento, nenhuma nova revisão do BIOS foi lançada ao público. Acreditamos que podemos testar o pior cenário desabilitando o Hyper-Threading e, para plataformas mais antigas que não serão atualizadas, isso pode acabar sendo a única solução.
Com isso, hoje estamos explorando o impacto que a desativação do Hyper-Threading tem nos processadores Intel que suportam o recurso. Fizemos isso no passado e é um teste interessante, no entanto, há um novo incentivo crítico para examinar esses dados, considerando que a mais recente vulnerabilidade de segurança de hardware da Intel afeta o SMT.
Pegamos um Core i7-8700K e 7700K e os testamos em uma bateria de jogos e aplicativos com e sem o Hyper-Threading ativado. Não nos preocupamos com o i9-9900K porque é uma peça de 8 núcleos, portanto, os threads ausentes não serão um problema para o desempenho do jogo, embora ainda haja um impacto negativo no desempenho do aplicativo e isso deve estar alinhado com o que vemos do 8700K e 7700K.
Com mais tempo (estamos prestes a sair para a Computex 2019, portanto, fique atento à nossa cobertura), gostaríamos de testar algumas CPUs Intel habilitadas para Hyper-Threading dual-core, pois o impacto sem dúvida será brutal. Embora tenhamos alguns dados mais antigos, podemos recorrer.
Realizamos todos os testes usando o Windows 10 build 1903, equipamos os rigs com 32GB de memória DDR4-3200 e uma GeForce RTX 2080 Ti para reduzir os gargalos da GPU. Os benchmarks de jogos foram executados em 1080p e 1440p, embora comecemos com benchmarks de aplicativos primeiro.
Benchmarks de aplicativos
Em primeiro lugar, temos os resultados do Cinebench R20 e, olhando para o Core i7-8700K, vemos uma redução de 24% no desempenho com o Hyper-Threading desativado. Naturalmente, esse tipo de queda de desempenho não passará despercebido. Além disso, em termos de desempenho, estamos essencialmente transformando o 8700K em um 7700K, portanto, um rebaixamento bastante antigo.
Enquanto isso, o 7700K se torna 26% mais lento com o Hyper-Threading desabilitado e agora temos um simples quad-core antigo, ou um Core i5 da geração Kaby Lake. Para aplicativos que utilizam fortemente todos os núcleos, desabilitar SMT/Hyper-Threading tem um grande impacto no desempenho.
O WinRAR vê uma enorme redução de 36% na taxa de transferência para o 8700K. Claramente, o Hyper-Threading funciona muito bem para esse tipo de carga de trabalho. Da mesma forma, vemos uma grande queda no 7700K, uma redução de 39% neste caso.
O Corona é um renderizador de alto desempenho e aqui o 8700K teve uma queda de desempenho de 31% com o Hyper-Threading desativado, enquanto o 7700K teve uma queda semelhante de 33%. Em ambos os casos, a queda de desempenho é significativa, sinalizando que podemos ver quedas consideráveis de desempenho nas tarefas de renderização e codificação, dependendo de como funcionam as atualizações para mitigar as falhas.
O Blender vê uma queda menor de 25% para o 8700K com o Hyper-Threading desativado, que está mais próximo do que vimos no Cinebench R20, embora ainda seja significativo. O 7700K com menos núcleos sofre um pouco mais e aqui vemos uma redução de desempenho de 29%.
Consumo de energia
Antes de passarmos aos jogos, queremos observar o consumo total de energia do sistema. Concedido, não estamos olhando para o consumo individual do processador, por isso é difícil comentar sobre a eficiência, mas como você pode ver, desabilitar o Hyper-Threading no 8700K não nos economiza muita energia neste teste com uma redução de ~ 5% no sistema total uso. O 7700K foi melhor aproveitado com o HT habilitado e aqui vimos uma redução de 11%, o que provavelmente está mais de acordo com a queda de desempenho que vimos.
Referências de jogos
Primeiro, os resultados de 1080p para Assassin's Creed Odyssey. Aqui, o 8700K viu apenas uma redução de 13% para a taxa de quadros média e nenhuma alteração para o mínimo de 1%. O 7700K, por outro lado, com menos núcleos, teve uma redução massiva tanto na taxa de quadros média quanto nos resultados de 1%. Aqui vimos uma queda de 23% para a taxa de quadros média e 21% para a baixa de 1%. Aqueles com processadores quad-core serão significativamente mais impactados por uma redução no desempenho do Hyper-Threading.
Agora, se você estiver principalmente vinculado à GPU, o 8700K funciona bem com o Hyper-Threading desativado, como vemos em 1440p, mesmo com um RTX 2080 Ti. Aqueles com quad-cores e dual-cores, Deus proíba, qualquer redução na eficiência do Hyper-Threading vai doer.
Battlefield V é um título que exige muita CPU, embora para este conteúdo só tenhamos tempo de testar a parte do jogo para um jogador e, mesmo assim, precisávamos de duas contas Origin graças ao delicioso bloqueio de alteração de hardware. Continuando no assunto, não vemos muito declínio de desempenho aqui. A maior queda foi de até 12% ao observar as margens baixas de 1% para o 7700K.
Aumentar a resolução para 1440p não ajudou com o 1% de baixo desempenho e vemos em ambos os casos que desabilitar o Hyper-Threading reduz o desempenho, embora a diferença não seja tão grande quanto com a serra em cargas de trabalho de produtividade.
Os resultados de The Division 2 são brutais. Observe a queda de desempenho no 7700K com o Hyper-Threading desativado. A taxa de quadros média é reduzida em 37% e o resultado baixo de 1% em 38%, próximo ao que vimos no WinRAR.
O impacto no desempenho do 8700K de 6 núcleos não é tão extremo, mas mesmo assim uma queda de 13% em 1% de baixo desempenho não será apreciada pela maioria dos jogadores. Mudar para 1440p e agora o 8700K mesmo com o Hyper-Threading desativado não é o componente limitante de desempenho, seria o RTX 2080 Ti. No entanto, ainda estamos vendo uma redução de 32% para o 7700K ao observar 1% de baixo desempenho.
Uma pequena observação. Far Cry New Dawn joga melhor no 9700K do que no 8700K. O 9700K permite ~ 120 fps em média a 1080p. Mencionamos isso porque, quando desabilitamos o Hyper-Threading, o 8700K corresponde ao 9700K neste teste, então basicamente 6 núcleos/6 threads é mais eficiente neste título do que 6 núcleos com 12 threads e você vê isso bastante com jogos ao testar SMT.
Dito isso, o 7700K com menos núcleos não sofre o mesmo problema com o Hyper-Threading ativado, embora ainda seja um pouco mais rápido com ele desativado. Portanto, pelo menos para este jogo rodar sem Hyper-Threading não é um problema e, de fato, provavelmente será benéfico, embora não se você tiver um dual-core.
Mudando para 1440p, vemos que a contagem de núcleos não é um problema aqui. Na verdade, é o Hyper-Threading que está diminuindo a velocidade do 7700K e do 8700K.
Seguindo em frente, temos Hitman 2 e aqui vemos que desabilitar o Hyper-Threading não tem impacto real para o 8700K, mas para o 7700K quad-core é devastador. A taxa de quadros média caiu 18%, mas muito pior, quase uma redução de 30% em 1% de baixo desempenho. Concedido, ainda estamos vendo mais de 60 fps o tempo todo, mas para aqueles que buscam grandes taxas de quadros, esse tipo de desempenho é difícil.
Mesmo em 1440p, o 7700K é duramente atingido com o Hyper-Threading desativado, pois ainda vemos uma redução de 25% em 1% de baixo desempenho.
A seguir, temos o Rage 2, onde o 8700K quase não apresentou queda no desempenho com o Hyper-Threading desativado. No 7700K, a taxa de quadros média permanece praticamente inalterada, mas a baixa de 1% cai em uma margem significativa de 20%.
Uma vez que aumentamos a resolução para 1440p em Rage 2, isso é suficiente para remover a CPU como o componente limitador de desempenho, pelo menos quando olhamos para o 7700K sem Hyper-Threading. Portanto, desabilitar o Hyper-Threading não afeta o desempenho.
Vimos no passado o quão exigente Shadow of the Tomb Raider pode ser e estamos recebendo um lembrete disso aqui. O 8700K teve uma queda de desempenho de 10-12% com o Hyper-Threading desativado, enquanto o 7700K teve uma queda de 24%, embora as margens baixas de 1% fossem semelhantes às que testemunhamos com o 8700K. Em ambos os casos, desabilitar o SMT tem um grande impacto neste título.
Mesmo em 1440p o efeito é significativo, pelo menos para 7700K. O 8700K ainda teve um pequeno declínio de desempenho, mas não foi nada como a queda de 20% que o 7700K sofreu.
Por último, temos alguns resultados da Guerra Mundial Z usando a API Vulkan de baixo nível. Aqui o jogo roda muito bem com 4 núcleos, então nenhum dos processadores sofre quando o Hyper-Threading é desabilitado. Vemos algo semelhante em 1440p, pois ambas as CPUs são capazes de extrair o desempenho máximo da RTX 2080 Ti.
Conclusão
Agora temos uma boa ideia de como as CPUs de 4 e 6 núcleos da Intel funcionam com o Hyper-Threading habilitado ou desabilitado. Para resumir rapidamente os resultados, o desempenho do aplicativo pesado principal foi tipicamente reduzido entre 25% e 35%.
O impacto no desempenho do jogo pode variar significativamente, dependendo do jogo e de outros fatores, como resolução, configurações de qualidade visual e, é claro, da GPU que o acompanha. Para os jogos que testamos, com uma CPU Intel de 6 núcleos, você verá um impacto mínimo no desempenho na maior parte, embora 1% do desempenho sofra às vezes e em jogos com alta taxa de atualização, você notará a queda no desempenho.
Para aqueles com uma parte de 8 núcleos/16 threads como o 9900K, o impacto nos jogos será praticamente inexistente, embora o desempenho do aplicativo ainda tenha uma queda de 25 a 35% sem SMT. Por outro lado, as CPUs de baixo custo que dependem mais do Hyper-Threading verão a perda de desempenho mais substancial. Mesmo o 7700K quad-core sofreu grandes quedas de desempenho em testes de jogos e isso significa que a perda de Hyper-Threading será ainda mais devastadora para aqueles com peças habilitadas para SMT dual-core.
Por enquanto, não podemos dizer exatamente quanto impacto as quatro mitigações de MDS terão no desempenho (para PCs com Windows), mas podemos prever que haverá algum impacto e sabemos que será mais sentido onde Hyper-Threading tem o maior impacto. A Phoronix testou as mitigações no Linux e o impacto no desempenho varia de insignificante a massivo. A Phoronix também descobriu que os sistemas Intel agora são aproximadamente 16% mais lentos do que antes das mitigações Spectre, Meltdown, Foreshadow e Zombieload. Enquanto isso, a AMD teve apenas uma queda de desempenho de 3%. Eles também argumentam que o impacto da mitigação é suficiente para aproximar o Core i7-8700K do Ryzen 7 2700X e o Core i9-7980XE do Threadripper 2990WX.
A menos que a Intel possa tirar um coelho da cartola e fazer mitigações tão eficazes que o Hyper-Threading seja deixado intocado, isso pode ter consequências desastrosas para aqueles que usam CPUs Intel dual e quad-core que suportam Hyper-Threading. Isso inclui processadores Core i3 e Core i5 de Clarkdale a Kaby Lake, Core i7s até Kaby Lake, bem como processadores Kaby Lake e Coffee Lake Pentium.
Para aqueles que usam hardware mais antigo e não executam nenhuma tarefa de missão crítica, até que os ataques baseados nessas explorações sejam claramente definidos, talvez a melhor opção de desempenho seja não atualizar. Esta não é nossa recomendação oficial, mas um comentário colorido sobre o que poderia ser uma rota alternativa assim que as atualizações correspondentes forem lançadas.
Este artigo foi um estudo interessante sobre onde o Hyper-Threading faz a maior diferença e, embora isso mostre o pior cenário em que o SMT deve ser completamente descartado, vimos alguns movimentos nessa direção. O Google desativou o Hyper-Threading no Chrome OS, a comunidade OpenBSD recomenda o mesmo, enquanto a Apple corrigiu os sistemas com mitigação parcial e divulgou que a mitigação total requer a desativação do Hyper-Threading. Outros fornecedores, como a Microsoft, ainda não assumiram uma posição definitiva.
Atalhos de compras:
Crédito da imagem: Intel CPU masthead de Christian Wiediger, Dark chip de David Latorre