La utilización de la CPU es incorrecta en las PC y empeora cada año

Pines de CPU

La utilización de la CPU es incorrecta. Ese es el argumento que Brandon Gregg, arquitecto senior de rendimiento de Netflix, ha apuntado contra una de las herramientas de medición de rendimiento más fundamentales que usamos al evaluar un sistema. Según Gregg, la utilización de la CPU según lo informado por Windows no solo es incorrecta, sino que está empeorando activamente con el tiempo.

Si alguna vez ha profundizado en este tema, es consciente de algunas de las formas en que el uso de la CPU no se informa con precisión. Desde que Intel (y ahora AMD) agregó compatibilidad con Hyper-Threading / SMT, ha habido una discrepancia entre cómo se presentan los núcleos en el Administrador de tareas y qué recursos están realmente disponibles. Windows, Linux y otros sistemas operativos informan el número total de núcleos y miden la utilización de la CPU como si cada núcleo lógico fuera en realidad un núcleo físico. Pero ese no es el problema que Gregg está discutiendo. Primero, está el problema del bloqueo del hilo. Si ve su CPU funcionando al 90 por ciento de carga, podría pensar que se ve así:

cpubusyidle



En realidad, señala Gregg, lo que podría estar sucediendo es algo parecido a esto, en el que la CPU está detenida y esperando datos, pero en realidad no está haciendo ningún trabajo.

cpubusystaltidle

Si lo piensa, probablemente lo haya visto en acción. Si alguna vez ha realizado un renderizado o manipulación de Photoshop que De Verdad asignada a su CPU, el rendimiento, incluso el rendimiento de la interfaz de usuario, puede ralentizarse mientras se ejecuta la carga de trabajo. Hay formas de evitar este problema configurando la cantidad total de subprocesos activos o la prioridad de la carga de trabajo en sí, pero si ha trabajado con computadoras durante un período de tiempo, probablemente haya visto casos en los que el uso de CPU al 100 por ciento no lo hizo. Realmente media Utilización de la CPU al 100%. El problema, según Gregg, es que los accesos a la memoria a menudo ralentizan el sistema. Esto se conoce como Brecha CPU-DRAM, y es un tema que hemos discutido antes en ET.

DRAM-Gap

La única razón por la que implementamos estructuras de almacenamiento en caché avanzadas con caché L1, L2 y L3 es precisamente porque la brecha de DRAM bloquea las CPU y reduce el rendimiento general. Pero ahora, hay otro problema que causa problemas para la utilización de la CPU: parches Spectre y Meltdown.

En el video de arriba, Gregg muestra un ejemplo de caso de dos servidores modernos que producían cifras de rendimiento muy diferentes para la misma carga de trabajo, a pesar de que se ejecutaban al mismo reloj y realizaban exactamente las mismas tareas. ¿El culpable? Parches de Spectre y Meltdown que vacían los cachés de TLB, provocando ciclos de bloqueo en la CPU. Gregg entra en muchos más detalles sobre cómo los parches KPTI pueden afectar el rendimiento. en una publicación de blog sobre el tema, y aunque los datos que presenta son específicos de las cargas de trabajo que está ejecutando (como era de esperar), el impacto es considerable.

Pero la conclusión es la siguiente: la utilización de la CPU, según informa Windows, a menudo es incorrecta. Con demasiada frecuencia, lo que parece un uso de CPU es en realidad una CPU estancada esperando hacer algo útil.

Copyright © Todos Los Derechos Reservados | 2007es.com