El artículo aborda el problema fundamental de la optimización del rendimiento en CPUs de servidor para cargas de trabajo intensivas en computación y memoria, particularmente en el contexto de la creciente demanda de IA y HPC. NVIDIA Vera, con su núcleo Olympus y un robusto subsistema de memoria, representa un intento de resolver este desafío mediante innovaciones en microarquitectura como la predicción de valor y el prefetching de grafos. La relevancia actual radica en la necesidad de CPUs que puedan alimentar eficientemente aceleradores de IA y manejar conjuntos de datos masivos con baja latencia, un área donde las arquitecturas tradicionales a menudo encuentran cuellos de botella.

Históricamente, la mejora del rendimiento de la CPU ha seguido la Ley de Moore, pero con la desaceleración del escalado de transistores, el enfoque se ha desplazado hacia mejoras arquitectónicas y de microarquitectura. Esto incluye técnicas como la ejecución fuera de orden (out-of-order execution), la predicción de ramas, y la optimización de la jerarquía de memoria. Vera se posiciona en esta evolución, buscando superar las limitaciones de las arquitecturas existentes mediante un diseño monolítico y un enfoque en el ancho de banda de memoria, al tiempo que introduce características avanzadas de predicción que han sido objeto de investigación académica durante décadas.

Arquitectura del Sistema

La CPU NVIDIA Vera se basa en un die monolítico de 88 núcleos Olympus, cada uno siendo un núcleo Arm v9.2 de 10-wide out-of-order. La microarquitectura del núcleo Olympus incluye un front-end capaz de decodificar diez instrucciones por ciclo y manejar hasta dos ramas tomadas por ciclo. Incorpora un predictor de ramas neural, predicción de valor (value prediction), renombramiento de memoria (memory renaming), una gran ventana de instrucciones, seis pipelines SVE de 128 bits, cuatro pipelines de carga y dos de almacenamiento. Cada núcleo dispone de 96 KB de caché L1 de datos y 2 MB de caché L2 privada, con un acceso de aproximadamente 10 ciclos.

El SoC integra una caché de último nivel (LLC) compartida de 164 MB y un fabric de coherencia de 3.4 TB/s. El subsistema de memoria es particularmente robusto, con ocho interfaces LPDDR5X que ofrecen hasta 1.2 TB/s de ancho de banda y una capacidad de hasta 1.5 TB. Una característica distintiva es el Spatial Multithreading, que, a diferencia del SMT tradicional, busca mejorar el determinismo y el aislamiento de QoS mediante el particionamiento de recursos entre hilos de hardware. El sistema presenta una topología NUMA simplificada de un nodo por socket, contrastando con las configuraciones más granulares de CPUs chiplet-based.

Otras innovaciones incluyen un prefetcher de grafos (Graph Prefetcher) que implementa una idea de productor-consumidor para optimizar el acceso a datos en estructuras de grafos, y un predictor de ramas neural, aunque estas ideas tienen precedentes en la investigación y en otras arquitecturas de CPU. La elección de un die monolítico busca reducir la latencia de la tela de coherencia y mejorar la latencia de carga, aunque el artículo cuestiona la magnitud de esta ventaja frente a las CPUs chiplet-based modernas.

CapaTecnologíaJustificación
compute NVIDIA Olympus (Arm v9.2) Núcleo de CPU de alto rendimiento con microarquitectura out-of-order, diseñado para cargas de trabajo de servidor intensivas en computación y memoria. vs x86 (Intel Xeon, AMD EPYC), Arm (Ampere Altra, AWS Graviton) 10-wide decoder, value prediction, graph prefetcher, neural branch predictor, 2 MB private L2 per core, 164 MB shared LLC.
storage LPDDR5X Subsistema de memoria principal de alta densidad y ancho de banda, crucial para alimentar los 88 núcleos y las cargas de trabajo intensivas en datos. vs DDR5, HBM 8 interfaces, hasta 1.5 TB de capacidad, 1.2 TB/s de ancho de banda.
networking Scalable Coherent Fabric Interconexión de alta velocidad entre los núcleos y el subsistema de memoria, garantizando la coherencia de caché y el acceso rápido a datos. vs Mesh NoC (Intel Xeon), Infinity Fabric (AMD EPYC) 3.4 TB/s de ancho de banda.

Trade-offs

Ganancias
  • ▲ Ancho de banda de memoria total
  • ▲ Ancho de banda de memoria por core
  • ▲ Rendimiento por core (SPECrate Integer)
  • △ Determinismo y aislamiento de QoS (Spatial Multithreading)
  • △ Simplicidad de la topología NUMA
Costes
  • △ Flexibilidad de memoria (LPDDR5X vs DIMM)
  • △ Latencia de transición SMT (10,000 ciclos)
  • △ Potencial subutilización de recursos en SMT estático

Fundamentos Teóricos

El concepto de predicción de valor (value prediction) en procesadores ha sido un área activa de investigación en arquitectura de computadoras desde la década de 1990. Trabajos seminales como los de M. H. Lipasti y J. P. Shen (1996) exploraron cómo predecir los valores de los operandos para permitir la ejecución especulativa de instrucciones dependientes, reduciendo así las burbujas en el pipeline causadas por latencias de memoria o computación. La implementación de NVIDIA en Olympus, similar a la de Apple, sugiere una maduración de estas técnicas de investigación en silicio comercial.

De manera similar, los prefetchers de datos, incluyendo los prefetchers de grafos, se basan en principios de la jerarquía de memoria y la localidad de datos, fundamentales en la optimización del rendimiento de la CPU. La idea de prefetching basado en patrones o dependencias de datos ha sido explorada en numerosos papers, buscando anticipar los accesos a memoria para reducir la latencia de caché. El predictor de ramas neural de Olympus se conecta con la investigación en predicción de ramas, donde algoritmos como los perceptrones (implementados por AMD en Piledriver y Zen 1) y los predictores TAGE (como los usados en Zen 2 y posteriores) han demostrado mejoras significativas en la reducción de mispredictions, un factor crítico para el rendimiento de la ejecución fuera de orden. Estos avances reflejan la continua aplicación de la teoría de la computación y la arquitectura a problemas prácticos de rendimiento de hardware.