AMD ha publicado nuevos parches centrados en el User-Space Hinting (cómputo del espacio de usuario) para la colocación de tareas, que beneficiara a EPYC. Este nuevo desarrollo muestra la intención de AMD de mejorar el planificador del kernel de Linux para los planes de CPU de split-LLC.
AMD EPYC utiliza User-Space Hinting para mejorar rendimiento en Linux
AMD utiliza el User-Space Hinting para lograr un mayor rendimiento de la CPU EPYC en Linux. Estos nuevos parches son «experimentales» y cuentan con mandos de bajo nivel para controlar la disposición del planificador de tareas en el espacio de usuario basándose en las pistas proporcionadas por éste.
‘’El diseño actual de la API es experimental y sólo es capaz de establecer pistas de bajo nivel. Esta API no está pensada para el consumo público y sólo sirve como medio para probar y demostrar la eficacia de las pistas para ayudar al planificador a tomar decisiones de colocación óptimas basadas en los requisitos proporcionados por las aplicaciones. El programador es libre de ignorar las pistas establecidas por el usuario si cree que seguirlas pondrá al sistema en un estado subóptimo.
– Motivación
Las heurísticas utilizadas por el planificador hoy en día, como la bandera WF_SYNC, la lógica wake_wide(), etc., no son capaces de inferir con precisión la naturaleza de la carga de trabajo en términos de si es preferible consolidar un grupo de hilos juntos o si deberían estar separados. La incapacidad de inferir la naturaleza de la carga de trabajo puede conducir a una serie de decisiones de colocación incorrectas que pueden ser perjudiciales para el rendimiento de la carga de trabajo. La penalización parece ser grave en sistemas con split-LLC como AMD EPYC.’’
Te recomendamos nuestra guía sobre los mejores procesadores del mercado
Las pruebas iniciales de AMD de los parches de User-Space Hinting han demostrado la posibilidad de aumentar el rendimiento de los servidores EPYC para las cargas de trabajo Hackbench, Schbench, Tbench, entro otros.
Los parches estarán varios meses en experimental hasta que se lancen oficialmente. Pueden ver más información sobre esto en el siguiente enlace.