Linux 7.4 integrará un xor_gen() con AVX-512 para acelerar el RAID por software
Los parches ya están encolados en la rama x86/fpu del árbol TIP y apuntan a la ventana de fusión de octubre. El objetivo es la paridad de RAID5 y RAID6.
El kernel Linux va a incorporar una versión de xor_gen() optimizada con AVX-512, la función que el código de RAID por software usa para generar y validar bloques de paridad. Los parches están ya encolados en la rama x86/fpu del árbol TIP y su destino es la ventana de fusión de Linux 7.4, prevista para la segunda mitad de octubre. Detrás del trabajo está Eric Biggers, de Google, que lleva años metiendo AVX-512 en el código criptográfico del kernel.
Por qué importa esta función
xor_gen() es la rutina que calcula la paridad. En un RAID5 o RAID6 por software, cada escritura que no cubre la tira completa obliga a leer los datos y la paridad antiguos, recalcular y volver a escribir; en una reconstrucción, el cálculo se hace sobre el array entero. Todo eso pasa por operaciones XOR encadenadas, y ahí es donde entra el juego de instrucciones vectoriales.
Con AVX-512 el cálculo se hace en registros más anchos y con menos iteraciones, así que la paridad sale antes. El beneficio es para CPUs que soportan ese conjunto: AMD desde Zen 4 en adelante y los Xeon de servidor actuales. En equipos sin AVX-512, el kernel seguirá usando la implementación que ya tiene.
El texto que acompaña a los parches menciona ganancias notables medidas en un Ryzen 9 9950X, aunque no publica cifras concretas en la nota: son los números que Biggers y compañía han ido enseñando en las revisiones del envío. La propuesta ha pasado ya varias vueltas de revisión, y esta es la que ha entrado en la cola.
Qué implica operarlo
Para quien mantiene arrays con mdadm, el cambio no toca el formato en disco ni la interfaz de administración. La paridad sigue siendo la misma y el kernel la sigue escribiendo igual; lo que cambia es cuánto tarda en calcularla. No hay migración ni ruptura de compatibilidad, y no hace falta tocar la configuración de los arrays.
El efecto se deja notar donde el RAID por software es el cuello de botella: reconstrucciones largas, escrituras aleatorias en RAID5, nodos con muchos discos y poca CPU dedicada, o máquinas virtuales con almacenamiento en RAID dentro del propio invitado.
El parche está en la rama x86/fpu del árbol TIP, lo que en la práctica significa que solo falta que se abra la ventana de fusión para que aterrice en mainline. Salvo sorpresa de última hora, el código estará en el 7.4, y quedará comprobar si las ganancias del banco de pruebas se sostienen en cargas reales con la caché y el ancho de banda de memoria apretados.
