NVIDIA lanza parches Linux para mejorar SMT en sus núcleos Vera
Una serie de cambios al scheduler del kernel prioriza el sibling preferido en los núcleos Olympus, aumentando el rendimiento de GEMM en sistemas Vera.
NVIDIA ha enviado al mailing list del kernel Linux una serie de parches que cambian la forma en que el scheduler trata los siblings de los núcleos Olympus de la plataforma Vera. Los cambios hacen que el sibling 0 (PE0) sea el preferido cuando el núcleo está idle, evitando que el scheduler despierte innecesariamente el sibling 1 (PE1). Con la nueva lógica, una carga de trabajo que usa 88 hilos en un nodo Vera pasó de 9.4 TFLOP/s a 10.1 TFLOP/s y mostró una ejecución más estable.
Cómo funcionan los parches
Los núcleos Olympus implementan SMT con dos elementos de procesamiento (PEs) que comparten recursos. Cuando sólo uno está activo, el núcleo funciona en modo de un solo hilo y utiliza todo el ancho de banda disponible. Si ambos están activos, comparten los recursos y el rendimiento de cada PE se reduce. El kernel original puede volver a activar rápidamente un sibling idle, pero la transición de vuelta a modo de un solo hilo no es inmediata; el núcleo necesita que el sibling permanezca idle durante un intervalo de 10 Ki ciclos.
El parche introduce la bandera SD_ASYM_PACKING para los dominios SMT y modifica las rutas de selección idle del scheduler fair. Primero el scheduler elige un núcleo idle según sus reglas habituales y luego escoge el sibling de mayor prioridad dentro de ese núcleo. Con SD_ASYM_PACKING, el scheduler reconoce que PE0 tiene prioridad y mantiene PE1 quieto siempre que sea posible. La lógica solo se activa cuando la arquitectura declara este dominio asimétrico, lo que evita efectos colaterales en CPUs sin esa característica.
Resultados de rendimiento
El equipo de NVIDIA probó los cambios en una máquina Vera de dos sockets con 88 núcleos físicos en el nodo 0, ejecutando un GEMM de precisión simple de 88 hilos. Con la política de selección de siblings sin el parche, el benchmark alcanzó alrededor de 9.4 TFLOP/s. Después de aplicar la serie, la cifra subió a aproximadamente 10.1 TFLOP/s y la variabilidad entre ejecuciones disminuyó, porque la carga se asentó consistentemente en PE0 mientras PE1 permanecía inactivo.
El mismo ingeniero, Andrea Righi, señaló que una modificación anterior, ya incluida en Linux 7.3, había elevado el rendimiento de 6.2 TFLOP/s a 9.2 TFLOP/s al preferir núcleos completamente idle para el balanceador NOHZ. Los nuevos parches suman ese salto y afinan la política para los núcleos Olympus, cerrando una brecha que afectaba a cargas con poca superposición entre siblings.
Este avance es relevante porque muestra cómo ajustes finos en el scheduler pueden extraer más rendimiento de hardware especializado sin cambiar el silicio. Si los parches se aceptan, los usuarios de sistemas Vera verán mejoras automáticas en aplicaciones que dependen de SMT, y el caso refuerza la importancia de la colaboración entre fabricantes de silicon y la comunidad del kernel.
##Relacionado
KDE Linux activa snapshots automáticos de Btrfs para todos los archivos de usuario
El proyecto KDE Linux ha configurado Snapper y KIO‑Snapshot para crear instantáneas automáticas de Btrfs en cada carpeta home, facilitando una especie de “deshacer” de archivos.

Linux incorpora soporte inicial de USB4 y Thunderbolt en Macs con chips M1, M2 y M3
Un conjunto de 19 parches enviados a la Linux Kernel Mailing List introduce soporte inicial para USB4 y Thunderbolt en los SoC M1, M2 y M3, aunque aún quedan limitaciones.
Linux 7.3 incorpora cambios tardíos de EDAC tras olvido en la ventana de fusión
El parche de EDAC, olvidado durante la ventana de fusión de Linux 7.3, llegó al repositorio el lunes y Linus Torvalds lo integró, añadiendo mejoras para Intel y AMD y dejando varios controladores sin mantenedor.