Un bug identificado en Windows 10 está afectando negativamente a Ryzen

Escrito por Juan Diego de Usera
Procesadores

Se ha identificado un error en la manera en que Windows 10 maneja el scheduler del procesador Ryzen que podría estar detrás de los problemas de rendimiento irregular que muestran estos nuevos procesadores, recientemente lanzados al mercado por parte de AMD. Según fuentes, el scheduler no sabría identificar correctamente cuál de los hilos del procesador corresponde a un núcleo físico y cuál a uno virtual, mandando el mismo tipo de carga de trabajo a ambos.

El scheduler de un un sistema operativo es la parte del kernel que se encarga de distribuir la carga de trabajo de los procesos entre los diferentes hilos que pone a su disposición el procesador del equipo. En los antiguos procesadores mono hilo eso no es un gran problema, al igual que en los procesadores que tienen X núcleos físicos. El problema llega cuando uno de los núcleos del procesador le dice al S.O que en realidad tiene dos hilos para efectuar operaciones de procesado de instrucciones, que es exactamente lo que sucede con el Hyperthreading de Intel y con el Simultaneous Multhreading de AMD. Y es que un hilo virtual nunca puede llegar a realizar el mismo tipo de operaciones (en peso) que un núcleo físico dado que le falta la mayor parte de los componentes que tiene dicho núcleo físico.

Intel ya pasó por estos mismos problemas cuando desarrollaron el Hyperthreading, al sacar los Pentium IV modelo C en que el scheduler de Windows XP no era capaz de diferenciar qué hilo correspondía al núcleo real y cuál al virtual,  dando lugar a situaciones en las que la cola de tareas se atascaba por haber mandado una instrucción demasiado pesada al hilo que no correspondía. Y algo similar sucedió con el scheduler de Windows 7 cuando AMD sacó al mercado los primeros procesadores Bulldozer, donde el scheduler requirió de un parche por parte de Microsoft para que funcionara correctamente.

El scheduler de Windows 10 es capaz de ver correctamente los hilos virtuales del HT de Intel y les encarga tareas menos pesadas de las que encargaría al hilo procedente de un núcleo físico, de manera que el conjunto del procesador es capaz de sacar partido a este incremento de operaciones. Sin embargo, este mismo scheduler no ha sido modificado de la manera adecuada para que haga lo mismo con los hilos que nacen de los núcleos de Ryzen, de manera que la carga de trabajo se hace a los hilos de manera indiscriminada, sin tener en cuenta si son reales o virtuales.  no solo eso, sino que también lee de manera incorrecta la cantidad de caché de la que dispone el núcleo, creyendo que dispone de 136 MB cuando en realidad Ryzen dispone de tan solo 20 MB en total si sumamos las cachés L2 y L3.

Windows 10 Scheduler Single Core Thread Mapping:

*————— Data Cache 0, Level 1, 32 KB, Assoc 8, LineSize 64
*————— Instruction Cache 0, Level 1, 64 KB, Assoc 4, LineSize 64
*————— Unified Cache 0, Level 2, 512 KB, Assoc 8, LineSize 64
*————— Unified Cache 1, Level 3, 16 MB, Assoc 16, LineSize 64
-*————– Data Cache 1, Level 1, 32 KB, Assoc 8, LineSize 64
-*————– Instruction Cache 1, Level 1, 64 KB, Assoc 4, LineSize 64
-*————– Unified Cache 2, Level 2, 512 KB, Assoc 8, LineSize 64
-*————– Unified Cache 3, Level 3, 16 MB, Assoc 16, LineSize 64

A fecha de hoy sabemos que AMD ya está al tanto de este error y supongo que ya estarán en conversaciones con Microsoft para que sea corregido lo antes posible dado que es un fallo bastante garrafal por su parte. Pero mientras, ¿qué pueden hacer los usuarios poseedores de uno de estos procesadores? La solución que da AMD es desactivar el SMT en la Bios de la placa base para evitar que el scheduler pueda seguir generando conflictos con los hilos virtuales, al menos hasta que Microsoft saque un parche que solucione el problema, al menos si vuestro uso del ordenador es bastante normal, aunque si os dedicáis mucho a renderizar, no es necesario que lo hagáis porque en este escenario no debiera de haber grandes penalizaciones con este problema.

Continúa leyendo
  • EscrotoChicloso

    Hasta ahora estoy esperando que los parches para los FX funcionen. Esperemos lleguen juntas las update y todo se solucione. Ya pasó mucha agua debajo del puente, ya cada vez menos gente ven con buenos ojos a ryzen y amd, una vida para lanzar procesadores decentes y cuando lo hacen tiene problemas por todos lados. Que les costaba hace 6 meses atrás brindar a las empresas importantes, estudios de juegos, etc entregar su plataforma para trabajar sobre ella y que el día del lanzamiento y días posteriores no sucedieran todo lo que le está pasando a ryzen? Porque pobre el que piense que amd fabrico ese millon de ryzen una semana antes al día del lanzamiento.
    Hace meses que los vienen fabricando y distribuyendo para que el día del lanzamiento haya disponibilidad.
    Lamentablemente el usuario es el conejillo de indias, y quedan muchas cosas por solucionarle a ryzen, cosas que si no se solucionan puedan llegar a ser problemas permanentes sin vuelta atras.

    • Ariel Mansur

      Le pase lo que le pase.. ryzen rinde muy bien igual.. así que tampoco es para volverse loco.

      • EscrotoChicloso

        no es para volverse loco no, pero sigue siendo un producto en fase beta. Tiene inestabilidades. Mucho hype hubo, aún recuerdo aquella presentación de amd de diciembre/16. Es como un F1 del año 90. Mucho poder, pero inmanejable, inestable, peligroso. Bueno ryzen no es peligroso, pero si no se solucionan la variedad de problemas que se han generado entorno a él, va a tener que empezar a bajar los precios porque no es un producto 100% cerrado.

        • ferrermacias

          Aún con todos esos peros los Ryzen rinden a la par e incluso superan en algunos tests a lo mejor que tiene Intel… A mi me daría un poquito de vergüenza decir que no son buenos micros o que tienen que bajar sus precios, no se digo

    • Chulises

      eso es problema de windows 10 no de ryzen, dado que en linux funcionan plenamente en el kernel versión 4.10, Micro$$$oft tardó meses en parchar el bug que les encontró google….

      • EscrotoChicloso

        repito. Los usuarios no tenemos la culpa mientras las empresas se pasan la pelota de la una a la otra. Por ahora sigue siendo un procesador en fase beta. Y si va a ser solido y estable o no aún está por demostrarse. Linux tiene poca cuota.

        • Chulises

          solido y establa ya lo son, que se les pueda sacar mas jugo ya es otra cosa

          • EscrotoChicloso

            Ni sólidos ni estables. Las memorias no andan ni para atrás, windows no quiere nada con ryzen incluso dan pantallazos azules y bloqueos. De que me hablás? en lo único que rinden bien en multitarea salada, en lo demás son inferiores a un i7 de cuarta gen en adelante con 4 tristes núcleos.

          • Chulises

            jajjajaja de donde sacas lo de los pantallazos y bloqueos, fuentes por favor en ninguna review que lei decían esos problemas ya deja de ser troll y debate como se debe

          • EscrotoChicloso

            los vi master, ahora encontrar esas reviews e imagenes es una transa. Pero ayer hasta subi un video que hasta la propia amd en una muestra se les bloqueaba el ryzen. Procesador fase beta. debieron haber esperado para lanzar ryzen para que sea decente y no esta chapuza.

          • mojitoparlante

            Pero vamos a ver, que el problema aquí es de Microsoft y los fabricantes​ de placas base y BIOS, no le eches la culpa a AMD por sacar algo nuevo porque Microsoft y cía son partners suyos y sabían de su lanzamiento desde hace tiempo ya. Ni son procesadores defectuosos ni inestables ni nada, porque si lo fueran los PCs equipados con ellos no funcionarían y no es el caso, de hecho en Linux van perfectos.

  • alex

    por suerte que windows 10 se actualiza mes a mes

    • noimporta

      Mmmm … sí … por suerte … aunque preferiría que no tuviese que hacerlo. El mes que viene me doy de baja de Internet.
      Supongo que les pilló de sorpresa, porque no lo habían probado en Windows 10, lo habían probado con otras versiones.

      • Waky Warez

        jajajajaajja las actualizaciones son para eso correciones de errores y mejoras del sistema, si no quieres actualizaciones regresare a windows 1.0 y se feliz con el sistema original

  • Lord Xamon

    ¿Esta no es una de esas cosas por las que hay que repetir análisis después del parcheo?

  • Jose nome marees

    Que ganas de ver un test real cuando se solucionen los problemas de windows, bios y memoria.

  • nem
  • fulanodetal

    Lo de Intel I7 tiene merito, a pesar de ser mas antiguou que Ryzen es superior a este incluso con esos bugs en Windows.

    • nem

      septima generacion Core intel vs primer gen de Ryzen , intel ha trabajado en su arqutiectura desde que llegaron los neahlen, luego los sandy, ivy , haswell, broadwerll ,skylake , y ahora en kabylake. 🙂

      • javron

        Al final sigue teniendo el mismo diseño de arquitectura el procesador verdad? desde entonces solo han trabjado con menor tamaño de transistores.

    • Kibo Cop

      Te equivocas Intel solo son mejores “7700k vs 1700” en rango producto/precio para jugar en HD y 2k; para jugar en 4K van igual y para multi GPU Ryzen va mejor y para renderizado, diseño gráfico y tareas multi núcleo Ryzen gana en precio/potencia a todo lo superior al 7700K, la única esquirla de Intel está ya en el 7700k que ahora cuesta 289 y para jugar hasta 2k con una GPU es más económico y va un pokitito mejor que el 1700 pero ya está; si es un equipo muy caro para trabajar o montarte dos GPUs tipo 1080 en SLI para jugar en 4K yo escogería Ryzen; ahora un Intel solo renta para PCs dedicados a Jugadores con presupuesto medio

  • Kibo Cop

    Lo que me toca la moral es que siempre que AMD saca algo nuevo, RX480 o Ryzen etc va mal y hay que esperar a una actualización, si tienen que gastar más dinero en test que lo hagan y que el producto ya salga bien; los videojuegos igual, llagamos una pasta en el juego y salen sin ir al 100%, ahora los consumidores pagamos y encima hacemos de tester para que ellos ahorren una millonada; con los videojuegos es mucho peor por qué AMD al menos lo que se ahorra después te lo quita del precio vendiendo más económico que la competencia, pero los videojuegos te los cobran igual de caros y van como el culo hasta que sacan mil parches, esta práctica ya empieza a quemar

    • AnTi_Tr0ll$

      Lo que ocurre aquí es que queremos un producto mas barato que la competencia, que rinda más en todo, que se inviertan miles en testeo de fallos pero que a mayores salga rapido… y para que mentirnos, todo no se puede.

      Para que un producto te lo puedan vender a un buen precio y que la empresa gane, hay que recortar un poco de algunas cosas… porque una empresa no es una ONG, es lo que hay. Unos te montan procesadores de calidad, buen precio y rendimiento, pero tienen problemas porque no tienen tanto billete para alinear a todas las demas compañias y optimizar su producto de cara al software. Esto a fin de cuentas no es grave, se soluciona como bien dices haciendo los clientes de betatesters, y gracias a eso tu producto es mas barato a la hora de comprarlo, y ademas tiene buena calidad de fabricación a cambio de unos meses reportando pequeños problemas para compensar el ahorro en pafar a otras compañias para que busquen fallos…

      Intel abarata costes montando una pasta de mierda en el DIE , pudiendo soldarlos como hace AMD… te vende un buen producto, pero es refrito (4 nucleos aún), pero por software muy bien optimizado, y el precio es algo caro para lo que es.

      Si quieres calidad (procesador ensamblado con calidad), optimización y potencia desde que lo compras, prepara 1000€ + 300€ de placa, y tendrás un RyZen de Intel (el 6900K) desde el principio e igual de potente sin tener q esperar optimizaciones ni ostias mas, pero claro… ya hay que pagar eso mas el gran extra de Intel.

      Lo dicho, que no se puede tener todo, y me hace gracia muchas criticas sin sentido, nadie juega en algo para perder, luego es problema de cada uno elegir a sus necesidades, no de echar la culpa a la compañia xD

  • noimporta

    Pues nada que usen Windows 7, en vez de Windows 10 … ah! no, que no se puede porque caparon esa posibilidad.

    • jacqlittle

      Eso es lo que se rumoreaba antes de su lanzamiento, pero sí que corre Windows 7 y por lo que se ve en algunos análisis, da mejor desempeño que Windows 10; lógicamente se pierden algunas funcionalidades como p.ej. DirectX 12

      • noimporta

        En cualquier caso es un éxito el procesador muy competente. No me preocupa perder un par de FPS en los juegos(hasta que los optimicen, además), con tal de que sea AMD. Además últimamente no juego tanto. No obstante, soy ‘pobre’ y no hace demasiado que me actualicé y voy a esperar un par de años a renovar.
        Me encantará ver una APU con Zen a finales de año.

  • nova6k0

    Windows 10 cada vez se me parece más a Windows Vista, en ciertos aspectos y se nota que falta mucho trabajo por delante.

    Entre otras cosas haber sacado el producto antes de que los controladores de los cientos de dispositivos existentes estuviesen adaptados para ello y eso es tan to culpa del fabricante, como de la propia Microsoft, por no haber avisado antes a estos primeros.

    Salu2