¿Cuánto rendimiento pierde el i9-9900K debido a las mitigaciones por software para Spectre?
Uno de los aspectos más tratados en el último año fue el descubrimiento de las vulnerabilidades de Spectre y Meltdown. Si bien se han paliado por microcódigo para las placas y parches de seguridad para los sistemas operativos, queda la barrera más complicada de corregir: el hardware. Así, con la salida al mercado de la 8ª generación de procesadores de Intel ¿cuánto rendimiento pierde un i9-9900K?
El i9-9900K y la serie Coffee Lake Refresh incluyen dos correcciones
Actualmente existen 6 variantes si sumamos las dos vulnerabilidades más conocidas de todos los tiempos, Spectre y Meltdown, de las cuales Intel ha corregido dos de ellas por hardware en su serie Coffee Lake Refresh.
Tener una protección por hardware es mucho más eficaz que depender de un firmware o simplemente un sistema operativo. Implica que no importa las condiciones que tengamos en cuanto a software se refiera, ya que siempre estaremos protegidos.
Las variantes que han sido corregidas son la variante 3 de Meltdown que corresponde a Rogue Data Caché Load y la variante 5 o L1 Terminal Fault. Esto ha sido posible debido a que Intel ha requerido un cambio de máscaras y troqueles para la fabricación de estas CPU (como ya apuntamos en su review), por lo que se han podido realizar cambios.
Cambios que se incluirán en las futuras (o presentes) arquitecturas como Cascade Lake, Whisky Lake o Ice Lake. Como ya habrá supuesto, no hay mitigación por hardware para el i9-9900K en Spectre, así que desde Phoronix han querido comparar cual es la diferencia de rendimiento que se perdería en un entorno de software y ejecución de servidor para las versiones de Spectre V2 y V4.
Todo ello con la versión de Kernel de Linux 4.19 y mediante su software automatizado Phoronix Test Suite.
Test con Phoronix Test Suite
Comenzando con Compile Bench, vemos unas diferencias de entre un 3 y un 6% de pérdida de rendimiento respectivamente, lo cual no está demasiado mal, sobre todo en lectura.
En Node.js tener desactivadas las mitigaciones mejora el rendimiento del servidor en carga en un 3%, mientras que en Octane casi no hay diferencia:
Donde si se nota la caída de rendimiento es al usar el llamado Kerner Stress-NG donde la medición de la actividad del socket necesita ser paliada ya que la pérdida es de un impresionante 14%.
Memcached es una técnica que usan muchísimos servidores de alojamiento y muchos CDN, por lo que es una carga de trabajo real que es interesante medir cuanto rendimiento pierde al activar las mitigaciones.
Por último y no menos importante, tenemos datos comparativos más coloquiales, como tiempo de inicio, creación de archivos, creación de hilos o creación de procesos, donde la tendencia es similar a todo lo visto hasta ahora.
Cabe recordar que este Intel Core i9-9900K no es un procesador para servidores, es un procesador de escritorio y destinado a creación de contenidos pero sobre todo al gaming.
Si bien es curioso y llamativo ver la pérdida en este entorno, lo ideal sería verla en servidores Xeon, donde es posible que Intel consiga paliar de mejor manera dicha pérdida a través de firmware por ejemplo.
En las pruebas en escritorio que hicimos en su día la pérdida de las CPUs tanto de Intel como de AMD fue irrisoria, teniendo en cuenta que contábamos con los parches propios de Windows más actualización de microcódigo en BIOS, y aun así la diferencia no llegaba al 1%, por lo que la mayoría de usuarios podemos estar tranquilos al respecto.