AMD utiliza sugerencias de espacio de usuario para lograr un rendimiento de CPU EPYC más rápido en Linux


Antes de la sesión de Linux Plumbers Conference (LPC), que se llevará a cabo la próxima semana en Dublín, Irlanda, AMD llevará a cabo un seminario sobre cómo mejorar el programador para arquitecturas de caché de último nivel dividido, o LLC. K. Prateek Nayak, un ingeniero del equipo de servidores Linux de AMD, publicó una serie de parches que se enfocan en contar el espacio del usuario e insinuar la ubicación de las tareas. Este nuevo desarrollo muestra la intención de AMD de mejorar el programador del kernel de Linux para los planes de CPU de LLC dividida para ayudar a sus procesadores de servidor EPYC.

AMD busca un mayor rendimiento de las CPU EPYC en Linux utilizando sugerencias de espacio de usuario para cargas de trabajo

Los nuevos parches están etiquetados como «experimental» y «solicitud de comentarios» y cuentan con perillas de bajo nivel para controlar la disposición del programador de las tareas del espacio del usuario basándose en las sugerencias proporcionadas por el espacio del usuario.

El diseño actual de la API es experimental y solo es capaz de establecer sugerencias de bajo nivel. Esta API no está destinada al consumo público y solo sirve como un medio para probar y demostrar la eficacia de las sugerencias para ayudar al programador a tomar decisiones de ubicación óptimas en función de los requisitos proporcionados por las aplicaciones. Scheduler es libre de ignorar las sugerencias establecidas por el usuario si cree que seguirlas pondrá al sistema en un estado subóptimo.

– Motivación

Las heurísticas utilizadas por el programador en la actualidad, como el indicador WF_SYNC, la lógica wake_wide(), etc., no logran inferir con precisión la naturaleza de la carga de trabajo en términos de si es preferible consolidar un grupo de subprocesos juntos o si debe ser separado. La incapacidad de inferir la naturaleza de la carga de trabajo puede dar lugar a una serie de decisiones de ubicación incorrectas que pueden ser perjudiciales para el rendimiento de la carga de trabajo. La penalización parece ser severa en sistemas con LLC dividida como AMD EPYC.

La nueva secuencia de parches de AMD incluye la capacidad de seleccionar la ubicación de tareas cerca del padre si hay un núcleo inactivo en el grupo local. A partir de ahí, el proceso determina continuar con el grupo que contiene la menor utilización para extender la carga de trabajo, y también se están examinando pistas probables adicionales. Peter Zijlstra, ingeniero del equipo del kernel de Linux de Intel, propuso el año pasado un marco de sugerencias de alto nivel que ayudaría a la secuencia de tareas del programador del kernel con las CPU y las cargas de trabajo cada vez más complejas. Esta sugerencia de espacio de usuario en el estado actual se logra a través de la interfaz prctl().

La prueba inicial de AMD de los parches de sugerencias de espacio de usuario ha demostrado la posibilidad de aumentar el rendimiento del servidor EPYC para diversas cargas de trabajo como Hackbench, Schbench, Tbench y más. Las pruebas iniciales se realizaron en Xeon Ice Lake de Intel en un área donde las sugerencias del espacio del usuario pueden beneficiar las cargas de trabajo.

Dado que el mosaico actual es experimental, se especula que pasarán varios meses antes de que veamos la sugerencia de espacio de usuario completamente implementada y lista para agregarse al kernel de Linux. Los usuarios interesados ​​en descubrir el mosaico actual pueden obtener más información a través de la lista de correo del kernel de Linux.

Fuentes de noticias: Phoronix, lista de correo del kernel de Linux





Source link-29