El problema fundamental que Nvidia Vera aborda es cómo escalar el rendimiento computacional en sistemas de servidor modernos, donde la 'memory wall' y la coherencia de caché se convierten en cuellos de botella críticos. A medida que los diseños de CPU aumentan el número de núcleos y la complejidad de las cargas de trabajo, la capacidad de alimentar esos núcleos con datos de manera eficiente y con baja latencia se vuelve primordial. Vera resuelve esto mediante una arquitectura de interconexión (SCF) y un subsistema de memoria (LPDDR5X) diseñados para maximizar el ancho de banda y minimizar la latencia bajo carga, priorizando el rendimiento por núcleo sobre la mera densidad de núcleos.
Históricamente, los diseños de CPU han luchado con el equilibrio entre la velocidad de los núcleos y la velocidad de acceso a la memoria. La ley de Moore ha permitido un crecimiento exponencial en la densidad de transistores, pero la latencia de la memoria DRAM ha mejorado a un ritmo mucho más lento. Esto ha llevado a la proliferación de jerarquías de caché complejas y a la necesidad de interconexiones de alta velocidad y baja latencia para mantener la coherencia entre múltiples núcleos y sockets. Vera representa una evolución en esta dirección, utilizando tecnologías avanzadas para mitigar estos desafíos en el contexto de servidores de alto rendimiento.
Arquitectura del Sistema
La arquitectura de Nvidia Vera se centra en su Scalable Coherency Fabric (SCF) de segunda generación, una interconexión de malla que conecta Coherency Switch Nodes (CSNs), Memory Switch Nodes (MSNs) y Bridge Switch Nodes (BSNs). Los CSNs alojan pares de núcleos Olympus y caché, actuando como puntos de coherencia. Los MSNs enlazan el SCF con los controladores de memoria LPDDR5X-9600, proporcionando un ancho de banda de 1.228 TB/s. Los BSNs gestionan los controladores PCIe (88 lanes, 665.5 GB/s) y la interconexión cross-socket NVLink C2C, que ofrece 1.8 TB/s de ancho de banda teórico.
La jerarquía de caché incluye una caché L3 de 164 MB compartida entre todos los núcleos, manteniendo una relación no inclusiva con las cachés L2 privadas de los núcleos. Esta estrategia permite una capacidad efectiva de hasta 340 MB y optimiza el uso de la caché para datos compartidos. La coherencia de caché se mantiene a través del SCF, asegurando que las escrituras de un núcleo sean globalmente visibles. El NVLink C2C facilita configuraciones de doble socket, creando nodos NUMA distintos, y está diseñado para una alta demanda de ancho de banda, aunque con latencias cross-socket más elevadas en comparación con soluciones de la competencia.
| Capa | Tecnología | Justificación |
|---|---|---|
| compute | Nvidia Olympus Cores | Unidades de procesamiento principal, diseñadas para alto rendimiento por núcleo con estructuras out-of-order masivas. vs Arm Neoverse N1, Arm Neoverse V series, AMD Zen 5 |
| networking | Scalable Coherency Fabric (SCF) Gen2 | Interconexión chip-wide de malla que conecta núcleos, cachés y E/S. Mantiene la coherencia de caché entre componentes. vs Arm CMN-600, Intel Mesh Interconnect |
| storage | LPDDR5X-9600 | Memoria principal de alta velocidad y ancho de banda (1024-bit, 1.228 TB/s) para alimentar los núcleos. vs DDR5 Módulos SOCAMM2 para servicio en campo. |
| cache | L3 Cache (164 MB) | Caché de último nivel compartida entre todos los núcleos, con relación no inclusiva con L2, para reducir accesos a DRAM. vs Cachés L3 inclusivas, Múltiples instancias de L3 por clúster Hasta 340 MB de capacidad efectiva con L2s. |
| networking | NVLink C2C | Enlace punto a punto de alta velocidad (1.8 TB/s) para interconexión entre sockets en configuraciones dual-socket. vs AMD Infinity Fabric (IF) |
Trade-offs
Ganancias
- ▲ Ancho de banda de memoria LPDDR5X
- ▲ Control de latencia de DRAM bajo carga
- ▲ Rendimiento por núcleo
- ▲▲ Ancho de banda cross-socket (NVLink C2C)
Costes
- △ Latencia cross-socket (NVLink C2C)
- △ Latencia core-to-core (intra-socket)
- ▲ Latencia core-to-core (cross-socket)
- ▲ Densidad de núcleos por socket (frente a diseños optimizados para densidad)
Fundamentos Teóricos
El diseño de la interconexión y la jerarquía de caché en Vera se alinea con principios fundamentales de la arquitectura de computadoras y sistemas distribuidos. La necesidad de mantener la coherencia de caché en sistemas multi-núcleo y multi-socket es un problema clásico, abordado por algoritmos como el protocolo de coherencia de caché MESI (Modified, Exclusive, Shared, Invalid) o sus variantes. La elección de una topología de malla para el SCF es una solución común en diseños de System-on-Chip (SoC) de gran escala para equilibrar el ancho de banda y la latencia entre múltiples agentes.
El concepto de 'memory wall' fue popularizado por papers como 'The Memory Wall' de Wulf y McKee (1995), que destacaron la creciente brecha entre la velocidad de la CPU y la latencia de la memoria. La estrategia de Vera de usar LPDDR5X de alto ancho de banda y una caché L3 grande y no inclusiva es una respuesta directa a este desafío, buscando mitigar el impacto de los accesos a memoria principal. La gestión de la latencia bajo carga, especialmente el control de los 'noisy neighbor effects', se relaciona con la teoría de colas y la asignación de recursos en sistemas concurrentes, donde la contención puede degradar significativamente el rendimiento.