La localidad NUMA cambia la velocidad de alimentación del acelerador porque el preprocesamiento y las transferencias del host son más rápidos cuando los hilos de la CPU, las páginas de memoria y el dispositivo comparten una ruta cercana.
En una estación de trabajo doméstica con varios sockets, cada núcleo de CPU puede direccionar toda la RAM, pero el coste de acceso no es uniforme. Una GPU u otro acelerador suele estar conectado a través del complejo raíz PCIe de un socket. Si el preprocesamiento se ejecuta en otro nodo y los búferes se asignan allí, los datos pueden atravesar la interconexión entre sockets antes de llegar al dispositivo, lo que añade contención y una latencia variable.
NUMA Hace Observable la Distancia de la Memoria del Host
Un sistema NUMA divide las CPU y la memoria en nodos con distintas distancias de acceso. Linux suele asignar una página en el nodo local a la CPU que provoca su primera excepción de página. Por tanto, la colocación de los hilos durante la carga del modelo o la preparación de entradas puede determinar dónde residen físicamente los búferes grandes.
La documentación de políticas de memoria NUMA de Linux describe políticas de tarea, VMA, compartidas, de vinculación, preferidas y de intercalado. También señala que las políticas afectan principalmente a las páginas asignadas después de instalar la política, por lo que el orden de inicialización es importante. Esta distinción sigue siendo importante en condiciones operativas domésticas realistas.
Para la inferencia local, la ruta crítica puede incluir la tokenización, la decodificación de imágenes, la preparación de tensores, los búferes fijados y las transferencias al dispositivo. La colocación remota añade un cuello de botella en el host incluso cuando el propio acelerador informa de que tiene capacidad de cómputo sin utilizar. El estado intermedio debe seguir siendo visible durante el diagnóstico y la revisión posteriores.
La Topología PCIe Vincula un Acelerador a Nodos de CPU Concretos
La ruta más corta entre el host y el dispositivo normalmente pasa por el socket de CPU cuyo complejo raíz controla el acelerador. Vincular los hilos de CPU del trabajador y la política de asignación a esa zona puede mejorar el ancho de banda y reducir la variabilidad, especialmente cuando las entradas grandes o las transferencias frecuentes mantienen ocupado el enlace.
La guía de NUMA de NVIDIA incluye recomendaciones sobre NUMA y advierte que el equilibrio automático puede degradar las aplicaciones de GPU en algunos casos. Recomienda inspeccionar la topología y ajustar la política para el nodo real en lugar de asumir que los números de nodo indican el orden de rendimiento.
La colocación es un problema de grafos, no una regla según la cual el nodo cero sea el más rápido. La combinación correcta depende del cableado de la placa base, la configuración de IOMMU, otros dispositivos y de si varios trabajadores compiten por los mismos canales de memoria o enlaces PCIe.
La Vinculación Puede Perjudicar Cuando la Carga Usa Más de un Nodo
Vincular estrictamente la memoria a un solo nodo puede agotar su ancho de banda o capacidad mientras los demás nodos permanecen inactivos. Una canalización puede utilizar una GPU cercana a un socket, pero también una tarjeta de captura, un dispositivo NVMe o un segundo acelerador cercano a otro. Una colocación puede optimizar las transferencias y, al mismo tiempo, ralentizar el preprocesamiento o el almacenamiento.
El proyecto de afinidad de GPU de NVIDIA asigna procesos a núcleos de CPU asociados con las GPU y señala que una afinidad correcta puede estabilizar el rendimiento. Sus distintos modos ilustran por qué los ámbitos único, contiguo, de socket y NUMA se adaptan a diferentes cargas de trabajo multiproceso.
El límite del fallo consiste en generalizar un benchmark de un solo dispositivo a todo el servidor. No vincules a ciegas en sistemas con memoria integrada, máquinas de un solo nodo o canalizaciones que abarcan varios dispositivos; mide la latencia de extremo a extremo, el ancho de banda y la contención con la concurrencia prevista.
Evalúa la Topología, No Solo el Acelerador
Mapea los nodos de CPU, la capacidad de memoria, los dispositivos PCIe y la localidad del acelerador. Ejecuta la misma carga de inferencia con la colocación predeterminada, la vinculación solo de CPU, la vinculación solo de memoria y la vinculación combinada de CPU y memoria. Registra el ancho de banda del host al dispositivo, la colocación de páginas, los tokens por segundo y la latencia p95.
Si los fragmentos del modelo proceden de almacenamiento de red, como en el almacenamiento de modelos en red, separa el tiempo de lectura de archivos de la colocación de páginas y la transferencia al dispositivo. Usa los mismos datos en caché para cada ejecución y, después, repite la prueba con los trabajadores simultáneos previstos para revelar la contención de los canales de memoria.
Adopta la vinculación solo si la topología combinada mejora de forma repetible los resultados de extremo a extremo sin privar de recursos a otro servicio. Si las mejoras desaparecen tras el calentamiento o se invierten con la concurrencia, deja flexible la colocación o aísla únicamente los hilos y búferes críticos para las transferencias.
Centro de Tecnología e IA
Más para leer

Calibración de la puntuación de búsqueda privada: cómo la similitud sin procesar se convierte en una señal de confianza utilizable
Descubre por qué la similitud coseno no es una medida de confianza, cómo las consultas etiquetadas calibran las puntuaciones y cómo supervisar los umbrales...

Mapeo de memoria de archivos de modelos: cómo las páginas compartidas reducen el uso duplicado de RAM
Comprende cómo se producen y comparten los fallos en las páginas de modelos mapeadas, por qué RSS puede inducir a error y qué cachés...

Registros de auditoría privados de IA: cómo los registros de eventos reconstruyen las decisiones de los agentes
Descubre qué debe capturar un registro de auditoría de agentes, por qué los registros convencionales están incompletos y cómo reproducir un flujo de trabajo...

