A reparação de um erro crítico nos processadores da Intel fará com que eles diminuam o desempenho

O erro básico no design do processador da Intel faz com que o código seja processado para alcançar o espaço de endereços reservado para o núcleo do sistema. Ambos os espaços do usuário e do kernel são mapeados e o acesso é regido por privilégios.

O erro está presente em todos os processadores Intel feitos na última década. Permite que os programas usuais de usuários reconheçam até certo ponto o layout ou o conteúdo das áreas de memória do kernel. A correção consiste em separar completamente a memória do kernel dos processos do usuário usando Kernel Page Table Isolation (KPI).

Quando um programa em execução precisa fazer um trabalho, como escrever em um arquivo ou abrir uma conexão de rede, ele deve passar temporariamente o controle do processador do kernel para a tarefa. Para fazer a transição do modo de usuário para o modo kernel e retornar ao modo de usuário de forma tão rápida e eficiente quanto possível, o kernel está presente nos espaços de endereço de memória virtual de todos os processos, embora seja invisível para esses programas.

Quando um kernel é necessário, o programa faz uma chamada do sistema, o processador muda para o modo kernel. Após a execução, o processador é solicitado a voltar ao modo de usuário e reiniciar o processo. No modo Usuário, o código e os dados do kernel permanecem fora da vista, mas são apresentados nas tabelas das páginas do processo.

A introdução do KPTI move o kernel para um espaço de endereço completamente separado, por isso não só será invisível para o processo de execução, nem será o mesmo. Tal departamento é, no entanto, relativamente caro e demorado, uma vez que cada chamada e interrupção do sistema deve ser deslocada continuamente entre dois espaços de endereço separados.

Essa mudança de contexto não pode ocorrer de imediato, pois o processador deve descartar dados em cache e recuperar as informações da memória, diminuindo o tempo de funcionamento do computador.

Os programadores agora estão tentando redesenhar o sistema de memória virtual do kernel do Linux, e a Microsoft deverá introduzir publicamente as mudanças necessárias no Windows no próximo Patch Tuesday.

No entanto, essas atualizações para Linux e Windows afetarão o desempenho dos produtos da Intel. Os efeitos estão sendo testados até agora, mas, dependendo da tarefa que está sendo executada e do modelo do processador, a perda de potência pode variar de 5 a 30%. De acordo com os testes realizados , o alcance para usuários comuns não deve ser significativo. Diferenças mais significativas foram encontradas pela Computerbase ao trabalhar com arquivos e SSD (velocidades de transmissão diminuídas em várias dezenas de MB / s).

No entanto, outros sistemas operacionais, como o Mac OS de 64 bits, precisarão ser atualizados. O erro está no hardware Intel x86-64 e parece que a atualização do microcódigo não pode lidar com isso. Ele precisa ser corrigido no software do nível do sistema operacional, ou você precisa comprar um novo processador sem erros de design.

No entanto, os principais fornecedores de serviços de computação em nuvem serão afetados, Microsoft Azure, Amazon EC2 ou Google Compute Engine.

Redator

Edilson Félix é redator e co-fundador do TecnoGames Brasil. Vive constantemente conectado no mundo da tecnologia, surfando na onda das novidades.