Hace un año, los ingenieros de Google publicaron un código experimental de Linux para Device Memory TCP para mover datos de manera más eficiente desde GPU/aceleradores a dispositivos de red sin tener que pasar por el búfer de memoria de la CPU host. Después de pasar por varias rondas de revisión, Device Memory TCP parece estar acercándose a la meta.
«Devmem TCP» es una característica del kernel de Linux que está configurada para permitir que los datos se transfieran hacia y desde la memoria del dispositivo de manera eficiente sin tener que rebotar datos en el búfer de memoria del host. Dados los altos requisitos de memoria/ancho de banda de red, especialmente para entrenar IA con muchos sistemas interconectados y la dependencia de GPU/NPU/otros tipos de aceleradores en general, el objetivo era evitar copiar memoria a través de la memoria del sistema host al enviar o recibir datos de esos dispositivos separados a través de la red.
La tecnología TCP de memoria del dispositivo proporciona API de socket para permitir que la memoria del dispositivo se envíe directamente a través de la red y que los paquetes de red entrantes se reciban directamente en la memoria del dispositivo. Esto ayuda a evitar la presión del ancho de banda de la memoria del host, así como a reducir la presión del ancho de banda de PCI Express al no tener que pasar por el grupo raíz de PCIe.
Parece que la memoria del dispositivo TCP concluye con Manchas de preparación Se puso en cola la semana pasada en el árbol «net-next.git» del subsistema de redes. Por tanto, al menos los parches de preparación TCP de la Memoria del Dispositivo llegarán a Linux 6.11. Todavía hay una semana o dos para ver si el trabajo TCP de la memoria del dispositivo en sí también se pondrá en cola antes de la ventana de fusión v6.11; de lo contrario, obviamente llegará a la v6.12, lo cual es emocionante ya que probablemente será una versión Núcleo LTS 2024.