Los procesadores AMD Zen 4 tendrán soporte mejorado de IBS para Linux

No son pocos los usuarios que están descontentos en cierta medida con el rendimiento de su procesador AMD Ryzen en Linux. En los últimos años esto ha mejorado bastante sin duda, pero Windows todavía sigue teniendo ventaja, en algunos casos bastante ventaja, la cual en breve se verá reducida puesto que AMD añadirá soporte mejorado en Zen 4 de IBS para el subsistema perf en Linux.

A finales del mes pasado AMD envió una serie de parches que una vez revisados se ha descubierto que la compañía dirigida por Lisa Su planea implementar nuevas extensiones IBS para los nuevos procesadores que están por llegar bajo la arquitectura Zen 4 y enfocados a Linux.

Instruction Based Sampling o IBS: ¿por qué AMD mete mejoras así en Zen 4?

AMD-Zen-4-IBS

Será una serie de nuevas extensiones que se reducen a dos conceptos principales:

  • Fuentes de datos.
  • Filtrado de errores de la caché L3.

Pero, ¿por qué AMD lanza esto ahora y sobre todo para Linux? El problema radica en la implementación para su competidor directo de la mano de Microsoft. El kernel de Windows introduce muchas mejoras con respecto al de Linux y la reestructuración de la caché L3 necesita una nueva identificación de perfiles para detectar cuellos de botella.

Hay que tener en cuenta que IBS con Zen 4 y con estas mejoras lo que pretende es crear más perfiles para que los desarrolladores y el software anexo tengan una información más completa y precisa sobre los programas.

El objetivo es dilucidar y discernir que instrucciones están haciendo el trabajo correctamente y cuáles no, aislar los problemas referentes a ellas para tener un pipeline del procesador y la jerarquía de la caché trabajando de forma óptima. IBS está trabajando constantemente con los llamados contadores de monitoreo de rendimiento o PMC y este registra los eventos que suceden con las instrucciones del procesador, por lo que una detección a tiempo hace que el rendimiento no decaiga y por lo tanto lo hace más consistente.

Un avanza para AMD, una nueva caché para los Ryzen 7000

AMD-zen4-raphael-overclock-ddr5

Windows usa mejor las instrucciones IBS que Linux, por lo que los PMC de cada procesador por mucho que informen no le estarían dando toda la información al kernel de Linux para que hiciese correctamente su trabajo, de ahí esta actualización que la propia AMD define de esta manera:

La extensión DataSrc proporciona detalles adicionales de fuentes de datos para operaciones de carga/almacenamiento. Agrega por lo tanto soporte para estos nuevos bits en el volcado sin procesar del informe/script de rendimiento de los PMC.

El filtrado de fallos de la L3 con IBS funciona al etiquetar una instrucción como "desbordamiento del contador" de IBS y genera con ello un NMI si la instrucción etiquetada provoca una instrucción perdida en dicha L3. Las muestras sin un error en la caché L3 se descartan y el contador se restablece con un valor aleatorio (entre 1 y 15 para fetch pmu y entre 1 y 127 para op pmu). Esto ayuda a reducir los gastos generales de muestreo cuando el desarrollador solo está interesado en dichas muestras. Uno de los casos de uso de tales muestras filtradas es alimentar datos al page-migration en sistemas de memoria en varios niveles.

Puede agregar soporte para el filtrado de errores de la L3 en el controlador IBS a través del nuevo atributo pmu "l3missonly".

Esto no es solamente un paso adelante de AMD en Linux para ponerse a la altura de Windows en este aspecto, sino que son dos pasos adelante frente a Intel, puesto que los de Pat Gelsinger incluyen en sus procesadores muchos más "contadores de rendimiento de hardware". Así que sin duda debemos esperar importantes cambios de cachés en Zen 4, sobre todo a nivel de jerarquía.

VIA: Phoronix

Artículos relacionados