2018/01/03

Falha nos CPUs Intel obriga a correcção por software que os pode deixar 30% mais lentos


Uma falha de concepção no hardware dos CPUs Intel dos últimos anos gerou uma vulnerabilidade que agora terá que ser corrigida por software, mas que irá ter um impacto bastante significativo no seu desempenho.

Algumas pessoas poderão já ter pensado como é que, num mundo em que praticamente todo o software está repleto de bugs que necessitam de actualizações e mais actualizações de forma continuada, os complexos CPUs que temos nos nossos computadores parecem ser uma excepção. Só que a verdade - e que mais uma vez fica demonstrada - é que não o são.

Ao longo dos anos muitos têm sido os bugs nos CPUs, de maior ou menor gravidade (como o célebre bug da divisão nos Pentium), com a maioria a ter que ser resolvida por intermédio de software ou actualizações de microcode que actuam como um género de firmware no interior dos próprios CPUs e permitem a correcção de algumas das suas falhas. Só que desta vez temos uma falha que não tem uma solução tão simples e que está a obrigar a alterações significativas no kernel dos sistemas operativos (Linux, Windows, etc) para evitar uma vulnerabilidade que poderia ser desastrosa, e que permitiria a qualquer programa aceder à memória de qualquer outro programa mesmo quando não deveria ter esse acesso - levado ao extremo, permitiria que um programa a correr dentro de uma máquina virtual pudesse ter acesso aos dados de outro programa a correr dentro de outra máquina virtual; ou que um javascript numa página web pudesse espreitar a memória de um gestor de passwords para roubar as mesmas.

Esta falha obriga a que seja o próprio sistema operativo a ter que lidar com a situação e a isolar completamente os espaços de memória entre os diferentes processos, alterações substanciais que fizeram com que os developers quisessem denominar esta falha de "FUCKWIT" (o que demonstraria o que sentem com toda esta situação), mas o pior é que com isso surge também uma penalização no desempenho, que poderá oscilar entre os 5% e os 30% dependendo do tipo de tarefa e hardware.

Ora... escusado será dizer que se 5% já serão "chatos" para inúmeras aplicações, 30% poderá tornar-se verdadeiramente insustentável, especialmente se se der o caso disso acontecer em tarefas comuns nos datacenters, como manter servidores virtuais.

Numa altura em que muitas empresas já vão considerando as vantagens dos chips ARM sobre os Intel, esta enorme barracada torna-se ainda mais gravosa - para além de que, como bem sabemos, existirão milhões de máquinas por este mundo fora que não irão ser actualizadas e que passarão a contar com mais uma vulnerabilidade que as deixará em risco.


Actualização: os detalhes sobre o problema já foram revelados Meltdown e Spectre.

8 comentários:

  1. Respostas
    1. Comprei um 1600 na black friday, tirando ter de desligar o estado C6 para conseguir correr linux, nada a apontar, estavel e rapido.
      Com estas brincadeiras começo a considerar o meu próximo desktop ser AMD

      Eliminar
    2. Os primeiros Ryzen também tinham um bug qualquer com um tipo de workload em Linux :)

      Eliminar
  2. Este comentário foi removido pelo autor.

    ResponderEliminar
  3. Corrigindo o meu comentário anterior, aqui estão alguns testes em Linux.

    https://www.phoronix.com/scan.php?page=article&item=linux-415-x86pti&num=2

    https://www.phoronix.com/scan.php?page=news_item&px=x86-PTI-Initial-Gaming-Tests

    ResponderEliminar
    Respostas
    1. Penso que os piores cenários não serão em "jogos", mas sim em situações em que haverá necessidade constante em alternar entre diferentes espaços de endereçamento (tipo virtualização).

      Eliminar
  4. Se for um marca de automóveis, havendos defietos e vunerabilidades, são obrigados a recolher os veículos defeitosos. Tratando-se de CPU's já ninguém quer saber e o consumidor é que se lixa, como sempre...

    ResponderEliminar