476 meneos
13312 clics
Tengo una CPU con 24 núcleos y no puedo mover el ratón [ENG]
Esta historia comienza cuando me di cuenta de que mi máquina se estaba comportando mal. Mi máquina con Windows 10 tiene 24 núcleos (48 hyper-threads) y el 50 % del tiempo están inactivos; tiene 64 GB de RAM con sólo la mitad usados; y un disco SSD inactivo la mayor parte del tiempo. Y ahora muevo el ratón y va a trompicones. Incluso a veces se queda bloqueado varios segundos. Así que hice lo que hago siempre: grabar los logs y analizarlos. El resultado fue el descubrimiento de un serio error de rendimiento al destruir procesos en Windows 10.
|
comentarios cerrados
Una noticia exponiendo un bug de software tremendo, magnificamente documentado, con trazas de depuracion, con comprobacion en otro hardware...
Y los comentarios solo 'pretenden' ser chistosos...
Meneame, quien te ha visto y quien te ve. Hasta en Barrapunto hay mas nivel.
Buenos días wapi , venga a trabajar collons!
Una noticia exponiendo un bug de software tremendo, magnificamente documentado, con trazas de depuracion, con comprobacion en otro hardware...
Y los comentarios solo 'pretenden' ser chistosos...
Meneame, quien te ha visto y quien te ve. Hasta en Barrapunto hay mas nivel.
Por lo que comenta el artículo debe ser un problema similar: al hacer exit, todo el sistema de nucleos y hebras tamaño king-size que tiene el pollo ese, se viene abajo, con lo cual una tarea tipo compilación paralela ( que es la que describe el pollo del artículo ) se convierte en un infierno de lentitud exasperante.
Realmente impresionante el tío crea un test y publica el código, además de argumentar el proceso de serialización y comparar el resultado con win 7 y como los procesadores se quedan viéndolas venir, realmente complejo para mí nivel y aún así se esfuerza en explicarlo bien.
El artículo en sí, es un curso para explicar como analizar el funcionamiento de las tareas. Y el tio tiene hasta los huev** de decir que ciertas tareas que analiza no está "familiarizado" con ellas, pues menos mal.... que si no... que conste que no odio a Windows 10 , sólo le deseo una muerte lenta y agónica, pero con amor, mucho amor.
¿Existen SSD lentos? Yo quiero uno !
Cuando lei que usaba un portátil con 24 cores flipe, luego parece que es el tio que compila los ejecutables del Chrome
y lo hace en su portátil
También me resulta curioso que se usen tantos cores para compilar (aunque estén al 50%), pensaba que todos los cores solo se usaba en comprimir video.
Otra cosa que me he llamado la atención:
Process shutdown, however, is CPU bound at the beginning and the end, but there is a long period in the middle (about a second) where it is serialized – using just one of the eight hyperthreads on the system,
¿Acaso windows 10 tiene 8 hyperthreads? ¿Que son, super-procesos que se ocupan del nucleo, de liberar recursos del nucleo? ¿O se ha equivocado y queria decir 48?
En definitiva, un articulo muy interesante, aunque lamentablemente algunas cosas son solo para personas que se ocupan de optimizar software.
Y es que este experimento de buscar hacia atrás las pruebas de mi afirmación anterior lo he hecho en otras ocasiones con buenos resultados:
www.meneame.net/c/21997553
La CriticalSection es un mecanismo de exclusión mutua de modo usuario, básicamente la suma de una especie de "spinlock" y un semáforo, con spin oportunista de X ciclos y si no se consigue obtener se va a kernel a esperar por el semáforo ( esto es por un trade of: intento adquirirlo el modo usuario de forma activa, pero, si no he podido en pocos microsegundos, para hacer una espera más larga, me quedo esperando en kernel de forma pasiva, dejo de ejecutarme y el kernel me despertará cuando quien tiene la sección crítica cogida la suelte ).
La CriticalRegion es un mecanismo para, desde su adquisición hasta su suelta/liberación, inhibir la ejecución de APCs ( Asynchronous Procedure Calls, un mecanismo de NT para encolar pequeñas tareas a un hilo y que se ejecutan en determinados momentos ) en el hilo que entra en dicha region crítica.
Son cosas que tienen muy poco que ver: una es una exclusión mutua de usuario y otra es un inhibidor de tareas asíncronas sobre el hilo y que se usa para hacer otro tipo de mecanismos de sincronización.
Porque cuando estaba vivo, la mera comparación habría ofendido a cualquier barrapuntero de pro
Para comentarios de verdad mejor mira la noticia en news.ycombinator.com/item?id=14733829
Si quiere una pista, mire alguno de los procesos. Lo mismo el de python.exe le da alguna pista. Puede averiguar qué es Python y sus usos, por ejemplo, en Big Data.
Pero por favor, deje de hacer el puto cuñado.
Es como si todos los que no hacen gracia en su casa necesitaran resarcirse espameando sus bromas de mierda en internet, piraos a otro sitio carajo, a un foro de humor o a cualquier otro lado, esto supera lo esperpéntico
"there is a weird issue in Windows 10 (which apparently wasn't even a problem with Windows 7, and so we could easily argue is a regression) where process destruction takes a global lock on something that is seemingly shared with basic things like UI message passing".
This is MNM !!!
* * * MAKE MENÉAME GREAT AGAIN * * *
stuttering
Ryzen
SMT
SO ve 16 cores lógico
Hyperthreadding
AMD
*Bonus Track: workaround
Parfavar, en español como se dice to eso? jajajajaaj
- Ñi hao, me toca a mi movel el latón
- Mentila, embustelo, el latón lo muevo yo
...