Meltdown, rendimiento antes y después
-
Por si alguien está en la parra, esto es lo que está pasando.
Como han dicho fuera del foro, sería interesante evaluar el impacto del parche para Windows en nuestros micros. Mi PC de casa es un Xeon E5472 que aunque según Intel no se ve afectado, he decidido comprobar si era verdad.
He usado SuperPI y otro banco de pruebas del que creo que no he hablado nunca: el banco de pruebas de Hardlimit. En teoría SuperPi no debería mostrar ninguna diferencia pero de HLBM no estoy muy seguro. Quizás el test #3 (des/compresión en zip) sí muetre algún síntoma.
Uso Windows 7 de 64 bits, así que el parche publicado ayer mismo es el KB4056897. Para Windows 10 es el KB4056892.
HLBM
Monohilo Multihilo Validación FPU antes 15469 44966 Enlace FPU después 15551 44819 Enlace SSE3 antes 16766 49425 Enlace SSE3 después 16700 49836 Enlace Como véis, las variaciones son puramente estadísticas por lo que no hay nada interesante que mostrar.
Super Pi
Otro resultado completamente irrelevante. No tengo ningún PC moderno a mano, así que por mi parte, esto es lo que puedo ofrecer.
Si se os ocurre algún otro bench que pueda mostrar diferencias palpables, no dudéis en plasmarlo.
-
Lo primero, sorprenderme que el dichoso parche no me haya salido mediante Windows update.
Lo segundo, que al menos durante la prueba (por defecto en modo II(AVX), el resultado apenas varía entre el antes y el después.
No sé de donde han sacado lo del hasta 30% de merma de rendimiento, igual es que tienen el mismo nivel de matemáticas que yo. -
En un i7-5500U se ve que tampoco hay diferencia.
Aunque se hayan probado bajadas de rendimiento en sgbds y los usuarios de AWS se estén quejando de que sí han notado que va todo más lento, para el común de los mortales que no use virtualización, aquí no ha pasado nada. Al menos en el uso de CPU+memoria (sin tener en cuenta dispositivos de almacenamiento ni otro hardware).
-
Pues paso mis resultados. Probado en un equipo i7 4790K 4.0GHz / 16Gb / GTX970 / Win10 64bits. Sin ninguna optimización. Corriendo los benchmarks tal cual (sin eliminar residentes, procesos de fondo, etc.).
Como se puede ver, ninguna variación significativa. En el caso de RealBench y de nuestro test, lo he pasado tres veces y calculado las medias, porque dan variaciones significativas en cada ejecución. Perceptibles en el caso del test HL y bastante grandes en el caso de RealBench.
Supongo que este conjunto de tests da una visión bastante amplia de diferentes usos de procesador (aunque faltaría algo más cercano a pruebas in-game) y, como veis, no parece tener ningún impacto significativo la instalación del parche en esta configuración.
-
Microsoft plantea que el parche sí puede afectar al rendimiento. Parece ser que este primer parche cubre Meltdown y una de las variantes de Spectre y no afecta al rendimiento, pero la resolución de la segunda variante implica detener el procesamiento especulativo en determinadas circunstancias y, necesariamente, tiene que afectar.
Aquí la entrada en el blog de Microsoft.
-
Extracto del enlace que ha publicado @lforos:
· Con Windows 10 en procesadores nuevos (PCs de 2016 con Skylake, Kabylake o procesadores más recientes), los bancos de pruebas muestran ralentizaciones de un dígito pero no esperamos que la mayoría de los usuarios se den cuenta del cambio porque esos porcentajes se reflejan en milisegundos.
· Con Windows 10 en procesadores más viejos (PCs de 2015 o anteriores como Haswell), algunos bancos de pruebas muestran una ralentización más significativa y esperamos que algunos usuarios noten un decremento del rendimiento.
· Con Windows 8 y Windows 7 en procesadores más viejos (PCs de 2015 o anteriores como Haswell) esperamos que la mayoría de los usuarios noten un decremento del rendimiento.
· Con Windows Server en cualquier procesadores, especialmente en aplicaciones con uso intensivo de I/O, se muestra un impacto significativo en el rendimiento cuando se habilitan las mitigaciones para aislar código de poca confianza en una instancia e Windows Server. Por eso debes tener cuidado al evaluar el riesgo del código de poca confianza en cada instancia de Windows Server y hacer un balance entre la seguridad y el rendimiento.
Parece que Windows Server se comporta de una forma similar a Linux. Llama la atención el consejo de evaluar correctamente el equilibrio rendimiento/seguridad; la penalización debe ser importante ahí. Y ya que no especifican el ámbito de las pruebas y teniendo en cuenta que Windows 7/8/10 están destinados al público general (nada de uso intensivo de máquinas virtuales, bases de datos, etc), el tema no pinta demasiado bien.
Resulta curioso también que en micros producidos desde 2016, el impacto sea menor y en esa misma explicación dicen por qué:
Para poner en contexto, en los procesadores más modernos como los Skylake y posteriores, Intel ha refinado las instrucciones para desabilitar la especulación de rama para ser más específicos en las ramas indirectas reduciendo la penalización del rendimiento del parche para Spectre.
Por ahí leí que el verano pasado el mayor responsable de prácticamente todas las arquitecturas desde los Conroe (los últimos más de 10 años) había dejado Intel sin dar demasiadas explicaciones. Vamos, que esto se debe saber desde hace bastante.
Y sobre los Windows anteriores a 10, la explicación según ellos es que esos sistemas tienden a realizar más operaciones sobre el kernel.
En fin, parece que el marrón no se ha terminado.
-
@cobito dijo en Meltdown, rendimiento antes y después:
Extracto del enlace que ha publicado @lforos:
· Con Windows 10 en procesadores nuevos (PCs de 2016 con Skylake, Kabylake o procesadores más recientes), los bancos de pruebas muestran ralentizaciones de un dígito pero no esperamos que la mayoría de los usuarios se den cuenta del cambio porque esos porcentajes se reflejan en milisegundos.
· Con Windows 10 en procesadores más viejos (PCs de 2015 o anteriores como Haswell), algunos bancos de pruebas muestran una ralentización más significativa y esperamos que algunos usuarios noten un decremento del rendimiento.
· Con Windows 8 y Windows 7 en procesadores más viejos (PCs de 2015 o anteriores como Haswell) esperamos que la mayoría de los usuarios noten un decremento del rendimiento.
· Con Windows Server en cualquier procesadores, especialmente en aplicaciones con uso intensivo de I/O, se muestra un impacto significativo en el rendimiento cuando se habilitan las mitigaciones para aislar código de poca confianza en una instancia e Windows Server. Por eso debes tener cuidado al evaluar el riesgo del código de poca confianza en cada instancia de Windows Server y hacer un balance entre la seguridad y el rendimiento.
Parece que Windows Server se comporta de una forma similar a Linux. Llama la atención el consejo de evaluar correctamente el equilibrio rendimiento/seguridad; la penalización debe ser importante ahí. Y ya que no especifican el ámbito de las pruebas y teniendo en cuenta que Windows 7/8/10 están destinados al público general (nada de uso intensivo de máquinas virtuales, bases de datos, etc), el tema no pinta demasiado bien.
Resulta curioso también que en micros producidos desde 2016, el impacto sea menor y en esa misma explicación dicen por qué:
Para poner en contexto, en los procesadores más modernos como los Skylake y posteriores, Intel ha refinado las instrucciones para desabilitar la especulación de rama para ser más específicos en las ramas indirectas reduciendo la penalización del rendimiento del parche para Spectre.
Por ahí leí que el verano pasado el mayor responsable de prácticamente todas las arquitecturas desde los Conroe (los últimos más de 10 años) había dejado Intel sin dar demasiadas explicaciones. Vamos, que esto se debe saber desde hace bastante.
Y sobre los Windows anteriores a 10, la explicación según ellos es que esos sistemas tienden a realizar más operaciones sobre el kernel.
En fin, parece que el marrón no se ha terminado.
A mi esto me huele 100% a que es una forma "indirecta" de obligar a meter Windows 10 en vena a todo el mundo, matando el rendimiento de W7 y W8.
Yo personalmente solo tenia W10 en mi equipo principal, los otros 2 que tengo que son mas ocasionales tengo win7 mas que nada porque sino cada vez que los encendiera estarian mas tiempo actualizandose que en ejecucion.