Migrating codebases from one instruction set architecture (ISA) to another is a major engineering challenge. A recent example is the adoption of Arm (in addition to x86) across the major Cloud hyperscalers. Yet, this problem has seen limited attention by the academic community. Most work has focused on static and dynamic binary translation, and the traditional conventional wisdom has been that this is the primary challenge.
In this paper, we show that this is no longer the case. Modern ISA migrations can often build on a robust open-source ecosystem, making it possible to recompile all relevant software from scratch. This introduces a new and multifaceted set of challenges, which are different from binary translation.
By analyzing a large-scale migration from x86 to Arm at Google, spanning almost 40,000 code commits, we derive a taxonomy of tasks involved in ISA migration. We show how Google automated many of the steps involved, and demonstrate how AI can play a major role in automatically addressing these tasks. We identify tasks that remain challenging and highlight research challenges that warrant further attention.
- ID del Artículo: 2510.14928
- Título: Instruction Set Migration at Warehouse Scale
- Autores: Eric Christopher, Kevin Crossan, Wolff Dobson, Chris Kennelly, Drew Lewis, Kun Lin, Martin Maas, Parthasarathy Ranganathan, Emma Rapati, Brian Yang (Google, USA)
- Clasificación: cs.SE (Ingeniería de Software), cs.LG (Aprendizaje Automático)
- Fecha de Publicación: 16 de octubre de 2025 (preimpresión en arXiv)
- Enlace del Artículo: https://arxiv.org/abs/2510.14928
Este artículo desafía las perspectivas convencionales sobre la migración de arquitectura de conjunto de instrucciones (ISA) mediante el análisis de la migración a gran escala de Google de x86 a Arm (que involucra casi 40,000 confirmaciones de código). La investigación demuestra que los desafíos principales de la migración moderna de ISA ya no son la traducción de código, sino una serie de tareas de ingeniería multifacéticas. El artículo propone una taxonomía de tareas de migración de ISA, demuestra cómo Google automatizó muchos pasos de migración y prueba el papel crucial de la IA en la automatización de estas tareas.
- Problema Central: La migración de arquitectura de conjunto de instrucciones en bases de código a gran escala es un desafío de ingeniería importante, pero ha recibido atención limitada en la comunidad académica
- Necesidad Práctica: Los principales proveedores de servicios en la nube (Amazon, Google, Microsoft) están adoptando arquitectura Arm para complementar x86, requiriendo metodologías de migración sistemáticas
- Limitaciones de Perspectivas Tradicionales: La investigación anterior se ha enfocado principalmente en traducción binaria estática y dinámica, considerándola el desafío principal de la migración de ISA
- Cambio del Entorno Técnico: Los ISA modernos cuentan con soporte bien establecido en compiladores ascendentes, bibliotecas de tiempo de ejecución y el kernel de Linux, haciendo posible la recompilación desde código fuente
- Falta de Experiencia Práctica: Ausencia de análisis sistemático de las tareas realmente involucradas en la migración moderna de ISA
- Oportunidades de Automatización: Las herramientas modernas de ingeniería de software y la tecnología de IA ofrecen nuevas posibilidades para la automatización de migraciones
- Primer Análisis Sistemático: Proporciona el primer desglose detallado y taxonomía de tareas de migración de ISA a gran escala, basado en 38,156 confirmaciones reales
- Desafío al Conocimiento Convencional: Demuestra que la complejidad de la migración de ISA no radica en la traducción de código, sino principalmente en la reescritura de archivos de construcción y configuración
- Marco de Automatización: Muestra la naturaleza altamente automatizable de muchas tareas de migración y desarrolla la herramienta de automatización impulsada por IA CogniPort
- Orientación Práctica: Identifica tareas que siguen siendo desafiantes, proporcionando dirección para futuras investigaciones
La tarea central de investigación es: Migrar una base de código de miles de millones de líneas de la arquitectura x86 a un entorno multiarquitectura que soporta tanto x86 como Arm
Entrada: Base de código a gran escala de arquitectura única (x86)
Salida: Base de código que soporta múltiples arquitecturas (x86+Arm)
Restricciones: Mantener equivalencia en rendimiento, seguridad y estabilidad
- Fuente de Datos: 38,156 confirmaciones relacionadas con la migración de Arm en el repositorio único de código de Google
- Clasificación Automática: Uso del LLM Gemini 2.5 Flash para análisis de confirmaciones a gran escala
- Proceso de Clasificación:
- Pasar mensajes de confirmación y diferencias de código a la ventana de contexto de 1M token del LLM
- Por cada lote de 100 confirmaciones, el modelo selecciona 20 categorías
- Integrar 400×20 categorías en 50, refinadas manualmente a 16 categorías finales
Se define un proceso de migración de cinco pasos:
- Fase de Prueba: Corregir pruebas y construcciones que fallan en el nuevo ISA
- Configurar CI Multiarquitectura: Modificar archivos Blueprint para asegurar sin regresiones
- Configurar Lanzamiento: Modificar archivos Blueprint para que el lanzamiento soporte multiarquitectura por defecto
- Lanzar Nuevos Binarios: Ejecutar en máquinas ISA nuevas y evaluar estabilidad de rendimiento
- Producción Completa: Permitir que trabajos de producción se programen en máquinas ISA nuevas
- Uso innovador de modelos de lenguaje grande para analizar decenas de miles de confirmaciones de código
- Establecimiento de una taxonomía sistemática de tareas de migración de ISA (17 categorías)
- Large-Scale Changes (LSCs): Implementación de modificaciones de código automatizadas a gran escala mediante la herramienta Rosie
- Sistema CHAMP: Plataforma de monitoreo de salud continua que evalúa automáticamente diferencias de comportamiento en aplicaciones construidas para Arm
- Agente de IA CogniPort: Ciclo de agente anidado de tres niveles que corrige automáticamente errores de construcción y prueba
CogniPort contiene tres ciclos de agente anidados:
- Agente Orquestador: Invoca agentes de reparación de construcción/prueba según el estado del espacio de trabajo
- Agente de Reparación de Construcción: Intenta construir el objetivo y modifica archivos hasta el éxito
- Agente de Reparación de Pruebas: Ejecuta pruebas y modifica código hasta pasar
- Escala: 38,156 confirmaciones, aproximadamente 700K líneas de cambios de código
- Período de Tiempo: Proceso de migración de múltiples años
- Cobertura: Subconjunto representativo de decenas de miles de millones de líneas de código interno de Google
- Grado de Automatización: Proporción de confirmaciones generadas automáticamente y líneas de código por categoría
- Tasa de Éxito de Reparación de IA: Tasa de éxito de reparación de CogniPort en 245 confirmaciones de prueba
- Efectividad de Migración: Tasa de calificación de aplicaciones mejorada de 4.8% a 59.6%, tasa de reversión controlada por debajo de 1.8%
- Análisis de Confirmaciones Históricas: Recuperar confirmaciones históricas y evaluar la capacidad de reparación del agente de IA
- Verificación de Precisión de Clasificación: Verificación manual de salidas del modelo para asegurar precisión de clasificación
- Evaluación de Efectividad de Automatización: Estadísticas de cobertura de automatización de sistemas LSC y CHAMP
- Configuración de Construcción Dominante: 84% de confirmaciones involucran configuración de construcción, empaquetamiento y CI/CD (categoría 8)
- Modificación de Código Mínima: Adaptación y corrección de código (categorías 1-5) representan solo 1% de confirmaciones y menos del 4% de líneas de código
- Importancia de Adaptación de Pruebas: Modificaciones relacionadas con pruebas (categorías 6-7) ocupan una proporción considerable
- Fase Temprana: Principalmente desarrollo de herramientas y adaptación de pruebas
- Fase Intermedia: Aumento en la proporción de confirmaciones de adaptación de código
- Fase Tardía: Casi completamente archivos de configuración y procesos de soporte, con rápido crecimiento en volumen de confirmaciones
- Tasa de Automatización General: 83.82% de confirmaciones y 14.15% de líneas de código automatizadas
- Confirmaciones Generadas por LSC: 31,984 confirmaciones generadas automáticamente mediante Rosie
- Mejora en Tasa de Calificación de Aplicaciones: De 4.8% a 59.6%
- Tasa de Reversión Baja: Tasa de reversión en fase final reducida a 0.8% o inferior
Desempeño de CogniPort en 245 confirmaciones de prueba:
- Tasa de Éxito General: 30%
- Categorías Mejores: Reparación de pruebas, código de condiciones específicas de plataforma, reparación de representación de datos
- Categorías Difíciles: Modelo de memoria, entorno de ejecución de pruebas, optimización de rendimiento
Dificultad de automatización evaluada por IA (1=simple, 5=difícil):
- Altamente Automatizable: Archivos de configuración de construcción, entorno de ejecución de pruebas
- Dificultad Media: Adaptación de código y pruebas (categorías 1-7)
- Requiere Intervención Manual: Optimización de rendimiento compleja, configuración de servicios especiales
- Traducción Binaria: Técnicas de traducción binaria estática y dinámica, como el sistema Rosetta
- Edición Automática de Código: Métodos automatizados para optimización de rendimiento, corrección de problemas de seguridad y corrección de errores
- Transición de Traducción Binaria a Recompilación de Código Fuente: Aprovechamiento del soporte maduro del ecosistema de código abierto moderno
- Análisis Sistemático de Tareas: Primera taxonomía completa de tareas de migración de ISA
- Automatización Impulsada por IA: Aplicación de modelos de lenguaje grande a migración de código a gran escala
- Desafío al Conocimiento Convencional: La complejidad de la migración de ISA no radica en la traducción de código, sino en tareas de ingeniería multifacéticas
- Altamente Automatizable: La mayoría de tareas de migración pueden automatizarse mediante herramientas modernas
- Valor del Trabajo Único: Muchas tareas pueden reutilizarse después de la primera migración multiarquitectura
- Potencial Enorme de IA: La IA moderna puede manejar muchas de las tareas manuales restantes
- Limitaciones del Método de Evaluación: La evaluación del agente de IA puede sufrir de fuga de información o pruebas incompletas
- Entorno Específico de Google: Las conclusiones pueden no ser completamente aplicables a entornos de software de otras organizaciones
- Especificidad de Arm: La investigación se enfoca en migración de x86 a Arm; otras migraciones de ISA pueden presentar desafíos diferentes
- Código Vectorial Específico de ISA: Requiere búsqueda compleja en espacio de optimización de rendimiento
- Optimización de Rendimiento Profunda: Requiere reestructuración a nivel de algoritmo y uso de funciones intrínsecas
- Casos Límite Complejos: Requiere conocimiento más allá del código mismo
- Ajuste de Rendimiento: Requiere regeneración de hiperparámetros y archivos de configuración de optimización dirigida por retroalimentación
- Mejora de Capacidades de Agentes de IA: Soporte para búsqueda de documentación y agentes más potentes con medición de rendimiento
- Automatización de Vectorización: Generación automática de código vectorial de alto rendimiento específico de ISA
- Cadena de Herramientas Multiarquitectura: Mejora adicional de herramientas de automatización de soporte multiarquitectura
- Valor Práctico Extremadamente Alto: Basado en experiencia real de migración a escala industrial, con fuerte valor orientador
- Innovación Metodológica: Primer análisis sistemático y clasificación de tareas de migración de ISA, estableciendo marco fundamental para el campo
- Escala de Datos Masiva: Análisis de 38,156 confirmaciones es extremadamente raro en investigación de ingeniería de software
- Prospectiva Técnica: Demuestra el potencial real de IA en tareas de ingeniería de software a gran escala
- Resultados Contraintuivos: Desafía el conocimiento convencional en el campo, con importante valor académico
- Especificidad del Entorno: La investigación se basa en el entorno de software específico de Google, con capacidad de generalización potencialmente limitada
- Limitaciones del Método de Evaluación: La evaluación del agente de IA puede contener sesgos, requiriendo pruebas de referencia más rigurosas
- Falta de Análisis de Costos: Carencia de análisis cuantitativo de costos de migración (humanos, tiempo, recursos)
- Consideración Insuficiente del Mantenimiento a Largo Plazo: Análisis limitado de costos de mantenimiento a largo plazo de bases de código multiarquitectura
- Impacto Académico: Proporciona nuevas direcciones de investigación para ingeniería de software y campos de arquitectura de sistemas
- Valor Industrial: Proporciona metodología práctica y referencias de herramientas para otras organizaciones realizando migraciones de ISA
- Impulso Tecnológico: Promueve desarrollo de aplicaciones de IA en ingeniería de software
- Establecimiento de Estándares: Puede convertirse en referencia importante en el campo de migración de ISA
- Grandes Empresas Tecnológicas: Organizaciones con bases de código masivas que requieren migración de arquitectura
- Proveedores de Servicios en la Nube: Necesidad de soportar múltiples arquitecturas de hardware para optimizar costos y rendimiento
- Mantenedores de Proyectos de Código Abierto: Proyectos de código abierto grandes que requieren expansión de soporte de arquitectura
- Instituciones de Investigación: Equipos académicos investigando automatización de ingeniería de software y aplicaciones de IA
El artículo cita 27 referencias importantes, abarcando:
- Técnicas de traducción binaria (Altman et al., 2000; Gouicem et al., 2022)
- Ingeniería de software a gran escala (Potvin & Levenberg, 2016; Winters et al., 2020)
- Reparación automática de código (Bader et al., 2019; Lin et al., 2025)
- Arquitectura de sistemas (Verma et al., 2015; Corbett et al., 2012)
Resumen: Este es un artículo con importante valor práctico y académico que analiza sistemáticamente por primera vez los desafíos reales y soluciones de la migración moderna de ISA a gran escala. El artículo no solo desafía perspectivas convencionales, sino que también demuestra el enorme potencial de la tecnología de IA en ingeniería de software, proporcionando orientación importante para el desarrollo futuro del campo.