El desarrollador Taehee Yoo ha publicado este domingo en la lista de correo del kernel Linux una serie de parches bajo la etiqueta RFC que introducen KNOD, un mecanismo de descarga de red dentro del propio kernel (in-kernel) que ejecuta el procesamiento de paquetes directamente sobre la GPU, sin recurrir a bibliotecas de espacio de usuario como AMD ROCm. La propuesta, adelantada por Yoo el año pasado en la Linux Plumbers Conference celebrada en Japón, plantea mover a la GPU la carga computacional por paquete asociada a programas XDP y a asociaciones de seguridad IPsec, de modo que la CPU deje de ser el cuello de botella en escenarios de procesamiento a velocidad de línea (line-rate). El adaptador de red transfiere los paquetes recibidos directamente a la memoria de la GPU mediante DMA, y el código del kernel se encarga de gestionar las colas de la GPU, compilar en tiempo de ejecución (JIT) el programa por paquete a código máquina de la GPU y despachar el trabajo. El desarrollo se ha realizado sobre hardware AMD, tanto con la arquitectura GCN (Radeon RX Vega) como con RDNA2, aprovechando que AMD dispone de una pila de controladores completamente abierta y en upstream. En el lado de NVIDIA, ni su controlador oficial de kernel en código abierto (que aún no está en upstream) ni los proyectos Nouveau/NOVA están lo bastante maduros para soportar este enfoque. El soporte de GPUs Intel se plantea como una posibilidad futura. Los parches están disponibles para su revisión en la lista de correo dri-devel del kernel Linux.
