Carga de hyperthreading

0

O carregamento de todos os encadeamentos em uma CPU habilitada para hyper-threading (por exemplo, núcleo i7 dual core com 2 encadeamentos por núcleo) seria (neste caso) o dobro da carga da cpu? Para esclarecer, digamos que eu tenho uma CPU dual core com 2 threads por núcleo, o que seria 4 threads. Se eu executasse 2 processos simultâneos, saturaria os dois núcleos (não aparece assim no gerenciador de tarefas)? A execução de 4 processos resultaria no processamento tendo que esperar pela execução ou saturaria perfeitamente a CPU?

    
por agz 08.09.2013 / 05:51

1 resposta

0

O Gerenciador de Tarefas não sabe realmente o que está acontecendo na CPU, mas pode ver que sua CPU dual-core com hyperthreading fornece a capacidade de executar quatro threads de uma só vez. Assim, quatro processos podem ser executados ao mesmo tempo e, com algo menor que o Gerenciador de Tarefas, reportarão menos que carga total.

Quanto ao que realmente está acontecendo e obtendo o máximo de desempenho do seu computador, isso depende do que você está executando. Com hyperthreading, dois threads compartilham um núcleo, com quase todo o hardware sendo usado por ambos os threads. Eles têm que compartilhar o mesmo cache L2, as mesmas unidades de execução no núcleo, etc. O Hyperthreading permite melhor uso desses recursos, porque com os dois segmentos os dividindo eles gastam menos tempo ocioso, mas definitivamente não é a duplicação do desempenho que os gerentes de tarefas exibem pode sugerir. Para algumas cargas, o hyperthreading não fornecerá nenhum benefício, especialmente aqueles que dependem muito da largura de banda de memória.

    
por 08.09.2013 / 07:14