Como posso ativar manualmente o turbo no meu processador ao executar o Windows (Server 2008 R2) como uma VM?

2

Um aplicativo que eu executo é altamente dependente da velocidade bruta do processador, em oposição ao uso de vários núcleos. Os processadores no meu host da VM têm uma base de 2,9 e podem turbo de até 3,3, mas parece que o Windows tem uma declaração condicional que diz "se eu estou rodando em um ambiente virtual, proíbo o controle de turbo manual.

E para trazê-lo de volta, já que meu aplicativo não foca em múltiplos núcleos, o gatilho automático do turbo nunca acontece, pois apenas um ou dois núcleos "veem" o uso pesado; do ponto de vista do processador, ele ainda tem muito espaço e nem precisa pensar em turbo.

    
por mpax 21.08.2015 / 18:08

1 resposta

1

1. Turbo Boost

Em CPUs Intel, o Turbo possui apenas duas configurações: "Auto" e "Off". No modo Automático, o próprio processador decide se deve turbo se suas regras internas decidirem que há espaço suficiente para isso. Turbo é basicamente sempre em "Auto" se habilitado no BIOS, até que algo seja desligado.

Além dos processadores com overclock, você nunca pode "ativar o turbo manualmente". O processador em si tem controle completo e exclusivo sobre os modos turbo e o SO não pode sobrescrevê-lo. Tudo o que um sistema operacional pode fazer é informar ao processador quando não está em ação.

Em operação normal, o seu processador informa ao sistema operacional de que velocidades ele é capaz, e essa lista de velocidades só alcança a velocidade máxima sem turbo. O sistema operacional pode solicitar qualquer velocidade a partir dessa lista ou nenhuma. Seu sistema operacional desativa o turbo a qualquer momento, solicitando uma velocidade do processador que está abaixo da sua velocidade máxima sem turbo. O Turbo é alterado de volta para "Auto" sempre que o sistema operacional solicitar a velocidade máxima na lista fornecida.

2. Controle de VM

O Windows não pode controlar a velocidade da CPU host de dentro de uma VM. Isso é por design. O sistema operacional host deve ter seu próprio sistema de controle de velocidade da CPU, que detecta automaticamente a carga e solicita menores velocidades de CPU quando não é necessário. Permitir que o sistema operacional convidado controle a CPU do host envolveria passar pelo controle de hardware da CPU (MSR) e isso não é apenas um risco de segurança principal , ele derrota o ponto de virtualização em primeiro lugar.

3. Vários núcleos

Seu entendimento parece ser o oposto de como o turbo deve funcionar. O turbo boost aumenta principalmente a velocidade somente quando um ou dois núcleos veem uso pesado e é menos efetivo quando vários núcleos são carregados. O processador só irá turbo quando tiver bastante espaço.

    
por 21.08.2015 / 18:35