CPU simulators are vital for computer architecture research, primarily for estimating performance under different programs. This poses challenges for fast and accurate simulation of modern CPUs, especially in multi-core systems. Modern CPU peformance simulators such as GEM5 adopt the cycle-accurate and event-driven approach, which is timeconsuming to simulate the extensive microarchitectural behavior of a real benchmark running on out-of-order CPUs. Recently, machine leaning based approach has been proposed to improve simulation speed, but they are currently limited to estimating the cycles of basic blocks rather than the complete benchmark program. This paper introduces a novel ML-based CPU simulator named CAPSim, which uses an attention-based neural network performance predictor and instruction trace sampling method annotated with context. The attention mechanism effectively captures long-range influence within the instruction trace, emphasizing critical context information. This allows the model to improve performance prediction accuracy by focusing on important code instruction. CAPSim can predict the execution time of unseen benchmarks at a significantly fast speed compared with an accurate O3 simulator built with gem5. Our evaluation on a commercial Intel Xeon CPU demonstrates that CAPSim achieves a 2.2 - 8.3x speedup compared to using gem5 built simulator, which is superior to the cutting-edge deep learning approach
CAPSim: Un Simulador Rápido de Rendimiento de CPU Utilizando un Predictor Basado en Atención
- ID del Artículo: 2510.10484
- Título: CAPSim: A Fast CPU Performance Simulator Using Attention-based Predictor
- Autores: Buqing Xu, Jianfeng Zhu, Yichi Zhang, Qinyi Cai, Guanhua Li, Shaojun Wei, Leibo Liu
- Clasificación: cs.PF (Rendimiento)
- Fecha de Publicación: 12 de octubre de 2025
- Institución: Escuela de Circuitos Integrados, Universidad Tsinghua
- Enlace del Artículo: https://arxiv.org/abs/2510.10484v1
Los simuladores de CPU son críticos para la investigación de arquitectura de computadoras, utilizados principalmente para evaluar el rendimiento de diferentes programas. Los simuladores modernos de rendimiento de CPU como GEM5 emplean métodos precisos en ciclos y dirigidos por eventos, pero requieren demasiado tiempo al simular comportamientos microarquitectónicos complejos de pruebas de referencia reales en CPUs fuera de orden. Este artículo propone CAPSim, un nuevo simulador de CPU impulsado por aprendizaje automático que utiliza un predictor de red neuronal basado en mecanismo de atención, empleando un método de muestreo de traza de instrucciones con anotaciones de contexto. El mecanismo de atención captura efectivamente influencias de larga distancia en trazas de instrucciones, enfatizando información de contexto crítica. Los experimentos demuestran que CAPSim logra una aceleración de 2.2-8.3 veces en comparación con el simulador O3 construido con gem5.
- Cuello de botella de velocidad en simuladores tradicionales: Los simuladores modernos a nivel de ciclo (como gem5) son demasiado lentos al simular programas de referencia completos, con razones principales que incluyen:
- La simulación precisa en ciclos es inherentemente un proceso serial, difícil de paralelizar
- Simular CPUs modernas fuera de orden requiere modelar todos los detalles microarquitectónicos, con enorme costo computacional
- Limitaciones de métodos ML existentes: Los métodos de aprendizaje automático existentes (como Ithemal, Granite, etc.) se limitan a predecir el rendimiento de bloques básicos, incapaces de manejar predicción de rendimiento de programas completos
- Equilibrio entre precisión y velocidad: Necesidad de mejorar significativamente la velocidad de simulación mientras se garantiza la precisión de predicción
- Los simuladores de CPU son herramientas clave para la investigación de arquitectura de computadoras
- Con el aumento de la complejidad microarquitectónica de CPU y la proliferación de sistemas multinúcleo, los métodos tradicionales de simulación enfrentan problemas graves de eficiencia
- La predicción rápida y precisa de rendimiento es crítica para el diseño y optimización de hardware-software cooperativo
- Propuesta de método de predicción de rendimiento de CPU basado en mecanismo de atención: Primera aplicación del mecanismo de atención a predicción de rendimiento a nivel de instrucción, capaz de capturar relaciones de dependencia de larga distancia, extendiendo la capacidad de predicción desde nivel de bloque básico a nivel de programa completo
- Diseño del marco completo del simulador CAPSim: Integración de simulador funcional rápido y predictor de rendimiento de bloques de código de grano fino, logrando equilibrio entre velocidad y precisión
- Desarrollo de método de entrenamiento acelerado: Mediante técnicas de agrupamiento y muestreo, se divide el conjunto de datos de entrenamiento en categorías como intensivas en cálculo, intensivas en memoria e intensivas en control, reduciendo significativamente el tiempo de entrenamiento y previniendo sobreajuste
- Logro de mejora significativa de rendimiento: Implementación de aceleración máxima de 8.3 veces en pruebas de referencia SPEC2017, aceleración promedio de 4.9 veces, manteniendo precisión de predicción aceptable
Entrada: Secuencia de traza de instrucciones e información de contexto de CPU (estado de registros)
Salida: Predicción de tiempo de ejecución de fragmentos de código
Objetivo: Mejorar significativamente la velocidad de evaluación de rendimiento de programas de referencia completos mientras se garantiza precisión de predicción
CAPSim adopta una arquitectura de extremo a extremo que contiene los siguientes componentes:
- Simulador AtomicSimple CPU: Generación rápida de traza de instrucciones
- Cortador de Secuencia de Instrucciones: Divide secuencias largas de instrucciones en fragmentos de código procesables
- Muestreador: Reduce volumen de datos de entrenamiento, acelera proceso de entrenamiento
- Predictor de Rendimiento Basado en Atención: Módulo de predicción central
El artículo modela el tiempo total de ejecución como:
Ttotal=∑n=1Nti⋅αi
donde ti es el tiempo de ejecución ideal de la i-ésima instrucción, y αi es el factor de influencia. Mediante la introducción de representación vectorial y mecanismo de atención, la forma final se formaliza como:
Ttotal=∑i=1MMLP(Attention(contextM×E,TET,TET))
Capa de Transformación Normalizada:
Convierte instrucciones de ensamblador originales en secuencia de tokens normalizada, conteniendo cuatro segmentos:
<OPCODE>: Código de operación<DSTS>: Operandos de destino<SRCS>: Operandos de origen<MEM>: Información de acceso a memoria
Construcción de Información de Contexto:
Construcción de matriz de contexto conteniendo información de estado de CPU, como se muestra en la Tabla I con varios tipos de registros:
| Tipo de Registro | Cantidad | Ancho de Bits | Descripción |
|---|
| Registros de Propósito General (GPR) | 32 | 64 | Registros de almacenamiento principal |
| Registros Escalares Vectoriales (VSR) | 64 | 128 | Registros de operaciones en punto flotante |
| Registro de Condición (CR) | 1 | 32 | Refleja resultados de operaciones |
| Contador de Programa (CIA/NIA) | 2 | 64 | Dirección de instrucción |
Red de Atención Multicapa:
- Codificador de Instrucciones: Aplica mecanismo de auto-atención a cada instrucción
- Codificador de Bloques: Procesa relaciones de dependencia entre secuencias de instrucciones
- Capa MLP: Salida final de predicción de tiempo de ejecución
- Modelado de Dependencias de Larga Distancia: Comparado con modelos de secuencia como LSTM, el mecanismo de atención captura mejor relaciones de dependencia de larga distancia entre instrucciones
- Predicción Consciente del Contexto: Introducción del estado de registros de CPU como información de contexto, mejorando precisión de predicción
- Diseño de Atención Jerárquica: Mecanismo de atención dual a nivel de instrucción y bloque, considerando tanto relaciones de tokens dentro de instrucciones como dependencias entre instrucciones
- Procesamiento Paralelizable: División de secuencias largas de instrucciones en fragmentos pequeños, soportando procesamiento paralelo en GPU, mejorando significativamente velocidad de inferencia
- Suite de Pruebas de Referencia: SPEC2017, conteniendo 24 programas de referencia
- Arquitectura de Conjunto de Instrucciones: ISA Power
- Tamaño de Intervalo: 5,000,000 instrucciones, tamaño de calentamiento 1,000,000 instrucciones
- Longitud de Fragmentos de Código: 100-200 instrucciones
- Número Total de Puntos de Control: 623
- Métrica de Velocidad: Relación de aceleración relativa al simulador gem5
- Métrica de Precisión: Error Porcentual Absoluto Medio (MAPE)
- Método Tradicional: Simulador de procesador superescalar O3 gem5
- Línea Base ML: Modelo Ithemal basado en LSTM
- Experimentos de Ablación: Variante de CAPSim sin información de contexto
- Plataforma de Hardware: NVIDIA GeForce RTX 4090 (24GB), Intel Xeon CPU E5-2623 v4
- Parámetros del Modelo: Dimensión de vector de incrustación 128, número de cabezas de atención 4, número de capas de codificador 4
- Configuración de Entrenamiento: Optimizador SGD, tasa de aprendizaje 0.001, momento 0.9
- Parámetros de Muestreo: Umbral 200, coeficiente de muestreo 0.02
Mejora de Velocidad:
- Relación de aceleración máxima: 8.3 veces (referencia 510.parest)
- Relación de aceleración promedio: 4.9 veces
- El efecto de aceleración se correlaciona positivamente con el número de puntos de control, reflejando ventajas de paralelización en GPU
Desempeño de Precisión:
- Mejora de 9.5%-21.2% comparado con línea base LSTM, mejora promedio de 15.8%
- Después de introducir información de contexto, mejora de precisión de 1.3%-9.6%, mejora promedio de 6.2%
- MAPE promedio de 12.0% en conjunto de entrenamiento mixto
- Mecanismo de Atención vs LSTM: El mecanismo de atención supera significativamente a LSTM al procesar fragmentos de código largos
- Impacto de Información de Contexto: La información de contexto juega un papel clave en mejorar precisión de predicción
- Efecto de Entrenamiento Clasificado: El entrenamiento clasificado mejora precisión en 0.5% comparado con entrenamiento mixto
Validación Cruzada Entre Referencias:
- Experimento de validación cruzada 6×6, 36 combinaciones de entrenamiento-prueba
- Precisión en conjunto de entrenamiento 91.3%, precisión promedio general 88.3%
- Demuestra buena capacidad de generalización del modelo a referencias no vistas
Prueba de Parámetros de Arquitectura Cruzada:
Desempeño de precisión bajo diferentes configuraciones de parámetros microarquitectónicos:
| Configuración de Parámetros | FetchWidth | IssueWidth | CommitWidth | ROBEntry | Error |
|---|
| Configuración Base | 8 | 8 | 8 | 192 | 12.0% |
| Variante 1 | 4 | 8 | 8 | 192 | 12.2% |
| Variante 2 | 8 | 4 | 8 | 192 | 12.9% |
- Efecto de Paralelización Significativo: El procesamiento paralelo en GPU muestra ventajas obvias comparado con simulación serial en CPU
- Importancia de Dependencias de Larga Distancia: El mecanismo de atención captura efectivamente relaciones de dependencia complejas entre instrucciones
- Información de Contexto Crítica: La información de estado de CPU es esencial para predicción precisa de tiempo de ejecución
- Entrenamiento Clasificado Efectivo: El entrenamiento clasificado según características de programas mejora capacidad de generalización del modelo
- Simuladores a Nivel de Ciclo: gem5, SimpleScalar, Sniper, etc., alta precisión pero velocidad lenta
- Herramientas a Nivel de Bloque Básico: llvm-mca, uiCA, IACA, etc., velocidad rápida pero funcionalidad limitada
- Modelos de Regresión: Uso de regresión lineal/no lineal para predecir CPI y consumo de energía
- Métodos de Aprendizaje Profundo:
- Ithemal: Predicción de rendimiento de bloque básico con LSTM
- Difftune: Optimización de parámetros de llvm-mca
- Granite: Red neuronal gráfica para predicción de rendimiento de bloque básico
- Muestreo Estadístico: Muestreo periódico SMARTS
- Muestreo Dirigido: Muestreo basado en comportamiento de programa SimPoint
Las principales ventajas de este trabajo comparado con trabajos existentes:
- Primera implementación de predicción de rendimiento a nivel de programa completo (no solo a nivel de bloque básico)
- Uso de simulador a nivel de ciclo como verdad fundamental (no solo herramientas de compilador simples)
- El mecanismo de atención modela mejor relaciones de dependencia de larga distancia
- Viabilidad Técnica: El método basado en mecanismo de atención puede predecir efectivamente el rendimiento de CPU de programas completos
- Ventajas de Rendimiento: Logra aceleración significativa comparado con simulador gem5 tradicional (2.2-8.3 veces)
- Garantía de Precisión: Mantiene precisión de predicción aceptable mientras mejora significativamente la velocidad
- Capacidad de Generalización: El modelo muestra buena adaptabilidad a referencias no vistas y diferentes parámetros de arquitectura
- Compensación de Precisión: Aunque la velocidad mejora significativamente, la precisión de predicción aún tiene brecha comparada con simulador especializado a nivel de ciclo (error promedio de 12%)
- Dependencia de Arquitectura: La implementación actual se basa en ISA Power, la extensión a otros conjuntos de instrucciones requiere readaptación
- Requisitos de Datos de Entrenamiento: Requiere gran cantidad de datos etiquetados para entrenamiento, con costo inicial alto
- Manejo de Escenarios Complejos: Para comportamientos de programa extremadamente complejos y características microarquitectónicas, la capacidad de predicción puede ser limitada
- Soporte Multiarquitectura: Extensión a arquitecturas de conjunto de instrucciones principales como x86, ARM
- Mejora de Precisión: Exploración de mecanismos de atención más avanzados y métodos de modelado de contexto
- Soporte Multinúcleo: Extensión a predicción de rendimiento de sistemas multinúcleo y heterogéneos
- Aprendizaje en Línea: Soporte para aprendizaje adaptativo en tiempo de ejecución y actualización de modelo
Innovación Técnica:
- Primera aplicación del mecanismo de atención Transformer al campo de predicción de rendimiento de CPU
- Combinación innovadora de información de contexto y modelado de secuencia de instrucciones
- Diseño de marco de predicción completo de extremo a extremo
Suficiencia Experimental:
- Evaluación integral en pruebas de referencia estándar SPEC2017
- Incluye experimentos de ablación detallados y pruebas de capacidad de generalización
- Comparación con múltiples métodos de línea base
Convincencia de Resultados:
- Mejora significativa de velocidad (aceleración máxima de 8.3 veces)
- Mejora de precisión comparada con métodos ML existentes
- Buena capacidad de generalización entre referencias
Claridad de Escritura:
- Motivación de problema claramente articulada
- Descripción de método detallada, incluyendo fórmulas matemáticas
- Configuración experimental y presentación de resultados completas
Limitaciones de Método:
- Precisión de predicción aún tiene espacio para mejora (error promedio de 12%)
- Verificación solo en ISA Power, falta verificación multiarquitectura
- Capacidad de manejo de escenarios extremadamente complejos no suficientemente verificada
Defectos en Configuración Experimental:
- Comparación de plataforma de hardware puede no ser completamente justa (GPU vs CPU)
- Falta de comparación con más métodos ML recientes
- Análisis insuficiente de diferencias de efecto de predicción entre diferentes tipos de programas
Análisis Insuficiente:
- Análisis de interpretabilidad del mecanismo de atención no suficientemente profundo
- Análisis de casos de error relativamente escaso
- Análisis de consumo de recursos computacionales no suficientemente detallado
Contribución al Campo:
- Proporciona nueva ruta técnica para predicción de rendimiento de CPU
- Promueve aplicación de ML en campo de arquitectura de computadoras
- Proporciona herramienta para exploración rápida de espacio de diseño de arquitectura
Valor Práctico:
- Mejora significativamente eficiencia de evaluación de pruebas de referencia a gran escala
- Proporciona retroalimentación rápida de rendimiento para optimización de compilador y diseño de hardware
- Reduce costo de tiempo de investigación de arquitectura de computadoras
Reproducibilidad:
- Descripción de método relativamente detallada
- Uso de suite de pruebas de referencia estándar
- Pero algunos detalles de implementación y código no están públicamente disponibles
- Exploración de Espacio de Diseño de Arquitectura: Evaluación rápida del impacto de rendimiento de diferentes parámetros de diseño
- Optimización de Compilador: Proporciona retroalimentación rápida de rendimiento para optimización de código
- Aceleración de Pruebas de Referencia: Reduce significativamente tiempo de ejecución de pruebas de referencia estándar
- Enseñanza e Investigación: Proporciona herramienta de simulación eficiente para cursos de arquitectura y investigación
El artículo cita 61 referencias relacionadas, incluyendo principalmente:
Simuladores Clásicos:
- gem5: The gem5 simulator (Binkert et al.)
- SimpleScalar, Sniper, Zesto y otros simuladores tradicionales
Métodos de Aprendizaje Automático:
- Ithemal: Accurate, portable and fast basic block throughput estimation (Mendis et al.)
- Granite: A graph neural network model for basic block throughput estimation (Sýkora et al.)
Mecanismo de Atención:
- Attention is all you need (Vaswani et al.)
- Investigación relacionada con Transformer
Pruebas de Referencia:
- Suite de pruebas de referencia SPEC CPU2017
Evaluación General: Este es un artículo con innovación y valor práctico en el campo de predicción de rendimiento de CPU. Los autores han introducido exitosamente el mecanismo de atención en predicción de rendimiento de CPU, logrando avance desde predicción a nivel de bloque básico a predicción a nivel de programa completo, y obteniendo mejora significativa de velocidad. Aunque aún hay espacio para mejora en precisión de predicción y generalización de método, este trabajo proporciona herramienta y perspectiva valiosa para investigación de arquitectura de computadoras, con buenas perspectivas de aplicación.