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 de l'article : 2510.14928
- Titre : Instruction Set Migration at Warehouse Scale
- Auteurs : Eric Christopher, Kevin Crossan, Wolff Dobson, Chris Kennelly, Drew Lewis, Kun Lin, Martin Maas, Parthasarathy Ranganathan, Emma Rapati, Brian Yang (Google, États-Unis)
- Classification : cs.SE (Génie Logiciel), cs.LG (Apprentissage Automatique)
- Date de Publication : 16 octobre 2025 (prépublication arXiv)
- Lien de l'article : https://arxiv.org/abs/2510.14928
Cet article remet en question les perspectives traditionnelles concernant la migration d'architecture d'ensemble d'instructions (ISA) en analysant la migration à grande échelle de Google de x86 vers Arm (impliquant près de 40 000 commits de code). La recherche démontre que les défis principaux des migrations ISA modernes ne résident plus dans la traduction de code, mais plutôt dans une série de tâches d'ingénierie multifacettes. L'article propose une taxonomie des tâches de migration ISA, illustre comment Google a automatisé de nombreuses étapes de migration, et prouve le rôle crucial de l'IA dans l'automatisation de ces tâches.
- Problème central : La migration d'architecture d'ensemble d'instructions pour les bases de code à grande échelle constitue un défi d'ingénierie majeur, mais bénéficie d'une attention académique limitée
- Besoins pratiques : Les principaux fournisseurs de services cloud (Amazon, Google, Microsoft) adoptent l'architecture Arm pour compléter x86, nécessitant une méthodologie de migration systématique
- Limitations des perspectives traditionnelles : Les recherches antérieures se concentraient principalement sur la traduction binaire statique et dynamique, considérant cela comme le défi principal de la migration ISA
- Évolution de l'environnement technologique : Les ISA modernes bénéficient d'un excellent support dans les compilateurs amont, les bibliothèques d'exécution et le noyau Linux, rendant la recompilation à partir du code source possible
- Absence d'expérience pratique : Manque d'analyse systématique des tâches réellement impliquées dans les migrations ISA modernes
- Opportunités d'automatisation : Les outils d'ingénierie logicielle modernes et les technologies d'IA offrent de nouvelles possibilités d'automatisation de la migration
- Première analyse systématique : Fournit la première décomposition détaillée et taxonomie des tâches de migration ISA à grande échelle, basée sur 38 156 commits réels
- Remise en question des connaissances conventionnelles : Démontre que la complexité de la migration ISA ne réside pas dans la traduction de code, mais principalement dans la réécriture des fichiers de construction et de configuration
- Cadre d'automatisation : Illustre le caractère hautement automatisable de nombreuses tâches de migration et développe l'outil d'automatisation piloté par l'IA CogniPort
- Orientation pratique : Identifie les tâches qui restent difficiles, fournissant des orientations pour les directions de recherche futures
La tâche centrale étudiée est : Migrer une base de code de plusieurs milliards de lignes d'une architecture x86 vers un environnement multi-architecture supportant à la fois x86 et Arm
Entrée : Base de code mono-architecture (x86) à grande échelle
Sortie : Base de code multi-architecture (x86+Arm)
Contraintes : Maintenir l'équivalence en termes de performance, sécurité et stabilité
- Source de données : 38 156 commits liés à la migration Arm du référentiel unique de Google
- Classification automatisée : Utilisation du modèle de langage Gemini 2.5 Flash pour l'analyse à grande échelle des commits
- Processus de classification :
- Transmission des messages de commit et des différences de code à la fenêtre de contexte de 1M tokens du LLM
- Par lot de 100 commits, le modèle sélectionne 20 catégories
- Intégration de 400×20 catégories en 50, finalement affinées manuellement en 16 catégories
Définit un processus de migration en cinq étapes :
- Phase de test : Correction des tests et constructions défaillants sur la nouvelle ISA
- Configuration de l'IC multi-architecture : Modification des fichiers Blueprint pour assurer l'absence de régression
- Configuration de la version : Modification des fichiers Blueprint pour que la version supporte par défaut plusieurs architectures
- Déploiement des nouveaux binaires : Exécution sur des machines ISA nouvelles et évaluation de la stabilité des performances
- Production complète : Autorisation de l'ordonnancement des tâches de production sur des machines ISA nouvelles
- Utilisation innovante de modèles de langage de grande taille pour analyser des dizaines de milliers de commits de code
- Établissement d'une taxonomie systématique des tâches de migration ISA (17 catégories)
- Large-Scale Changes (LSCs) : Implémentation de modifications de code automatisées à grande échelle via l'outil Rosie
- Système CHAMP : Plateforme de surveillance continue de la santé, évaluant automatiquement les différences de comportement des applications construites pour Arm
- Agent IA CogniPort : Boucle d'agent imbriquée à trois niveaux, corrigeant automatiquement les erreurs de construction et de test
CogniPort comprend trois boucles d'agent imbriquées :
- Agent orchestrateur : Invoque les agents de correction de construction/test selon l'état de l'espace de travail
- Agent de correction de construction : Tente de construire la cible et modifie les fichiers jusqu'au succès
- Agent de correction de test : Exécute les tests et modifie le code jusqu'à la réussite
- Échelle : 38 156 commits, environ 700K lignes de changements de code
- Intervalle de temps : Processus de migration sur plusieurs années
- Couverture : Sous-ensemble représentatif de plusieurs milliards de lignes de code internes à Google
- Degré d'automatisation : Proportion de commits générés automatiquement et de lignes de code pour chaque catégorie
- Taux de réussite de correction par l'IA : Taux de réussite de CogniPort sur 245 commits de test
- Efficacité de migration : Taux de conformité des applications passant de 4,8 % à 59,6 %, taux de retour contrôlé en dessous de 1,8 %
- Analyse des commits historiques : Restauration des commits historiques et évaluation de la capacité de correction de l'agent IA
- Vérification de la précision de classification : Vérification manuelle des résultats du modèle pour assurer la précision de la classification
- Évaluation de l'efficacité d'automatisation : Statistiques du taux de couverture d'automatisation des systèmes LSC et CHAMP
- Domination de la configuration de construction : 84 % des commits impliquent la construction, l'empaquetage et la configuration CI/CD (catégorie 8)
- Proportion minimale de modifications de code : L'adaptation et la correction de code (catégories 1-5) ne représentent que 1 % des commits et moins de 4 % des lignes de code
- Importance de l'adaptation des tests : Les modifications liées aux tests (catégories 6-7) occupent une proportion considérable
- Phase précoce : Principalement développement d'outils et adaptation des tests
- Phase intermédiaire : Augmentation de la proportion de commits d'adaptation de code
- Phase tardive : Presque entièrement fichiers de configuration et processus de support, augmentation rapide du volume de commits
- Taux d'automatisation global : 83,82 % des commits et 14,15 % des lignes de code automatisées
- Commits générés par LSC : 31 984 commits générés automatiquement via Rosie
- Amélioration du taux de conformité des applications : Passage de 4,8 % à 59,6 %
- Faible taux de retour : Taux de retour inférieur à 0,8 % à la phase finale
Performance de CogniPort sur 245 commits de test :
- Taux de réussite global : 30 %
- Meilleures catégories : Correction de tests, code de conditions spécifiques à la plateforme, correction de représentation de données
- Catégories difficiles : Modèle mémoire, environnement d'exécution de tests, optimisation des performances
Difficulté d'automatisation évaluée par l'IA (1=simple, 5=difficile) :
- Hautement automatisable : Fichiers de configuration de construction, environnement d'exécution de tests
- Difficulté moyenne : Adaptation de code et de tests (catégories 1-7)
- Nécessitant une intervention humaine : Optimisation complexe des performances, configuration de services spécialisés
- Traduction binaire : Techniques de traduction binaire statique et dynamique, telles que le système Rosetta
- Édition de code automatisée : Méthodes automatisées pour l'optimisation des performances, la correction de problèmes de sécurité et la correction d'erreurs
- Transition de la traduction binaire vers la recompilation du code source : Exploitation du support mature de l'écosystème open-source moderne
- Analyse systématique des tâches : Première fourniture d'une taxonomie complète des tâches de migration ISA
- Automatisation pilotée par l'IA : Application de modèles de langage de grande taille à la migration de code à grande échelle
- Remise en question des perspectives conventionnelles : La complexité de la migration ISA ne réside pas dans la traduction de code, mais dans les tâches d'ingénierie multifacettes
- Hautement automatisable : La plupart des tâches de migration peuvent être automatisées via des outils modernes
- Valeur du travail ponctuel : De nombreuses tâches peuvent être réutilisées après la première migration multi-architecture
- Potentiel énorme de l'IA : L'IA moderne peut gérer de nombreuses tâches manuelles restantes
- Limitations de la méthodologie d'évaluation : L'évaluation de l'agent IA peut présenter des fuites d'information ou des tests incomplets
- Environnement spécifique à Google : Les conclusions peuvent ne pas s'appliquer complètement aux environnements logiciels d'autres organisations
- Spécificité à Arm : La recherche se concentre sur la migration x86 vers Arm, d'autres migrations ISA peuvent présenter des défis différents
- Code vectoriel spécifique à l'ISA : Nécessite un espace de recherche d'optimisation des performances complexe
- Optimisation profonde des performances : Nécessite une restructuration au niveau algorithmique et l'utilisation de fonctions intrinsèques
- Cas limites complexes : Nécessite une expertise dépassant le code lui-même
- Ajustement des performances : Nécessite la régénération des hyperparamètres et des fichiers de configuration d'optimisation dirigée par retour d'information
- Amélioration des capacités des agents IA : Support de recherche de documentation et d'agents plus puissants avec mesure des performances
- Automatisation de la vectorisation : Génération automatique de code vectoriel haute performance spécifique à l'ISA
- Chaînes d'outils multi-architecture : Amélioration supplémentaire des outils d'automatisation du support multi-architecture
- Valeur pratique extrêmement élevée : Basée sur une expérience réelle de migration à grande échelle au niveau industriel, avec une forte valeur directrice
- Innovation méthodologique : Première analyse et classification systématiques des tâches de migration ISA, établissant le cadre fondamental du domaine
- Échelle de données massive : L'analyse de 38 156 commits est extrêmement rare dans la recherche en génie logiciel
- Prospective technologique : Démontre le potentiel réel de l'IA dans les tâches d'ingénierie logicielle à grande échelle
- Résultats contre-intuitifs : Remet en question les connaissances conventionnelles du domaine, possédant une valeur académique importante
- Spécificité de l'environnement : La recherche est basée sur l'environnement logiciel spécifique de Google, la capacité de généralisation peut être limitée
- Limitations de la méthodologie d'évaluation : L'évaluation de l'agent IA peut présenter des biais, nécessitant des tests de référence plus rigoureux
- Absence d'analyse des coûts : Manque d'analyse quantitative des coûts de migration (ressources humaines, temps, ressources)
- Considération insuffisante de la maintenance à long terme : Analyse moins approfondie des coûts de maintenance à long terme des bases de code multi-architecture
- Impact académique : Fournit de nouvelles directions de recherche pour le génie logiciel et l'architecture des systèmes
- Valeur industrielle : Fournit des références méthodologiques et d'outils pratiques pour les migrations ISA d'autres organisations
- Promotion technologique : Favorise le développement de l'application de l'IA en génie logiciel
- Établissement de normes : Peut devenir une norme de référence importante dans le domaine de la migration ISA
- Grandes entreprises technologiques : Organisations possédant de grandes bases de code nécessitant une migration d'architecture
- Fournisseurs de services cloud : Nécessitant de supporter plusieurs architectures matérielles pour optimiser les coûts et les performances
- Mainteneurs de projets open-source : Projets open-source de grande taille nécessitant d'étendre le support d'architecture
- Institutions de recherche : Équipes académiques étudiant l'automatisation du génie logiciel et les applications de l'IA
L'article cite 27 références importantes couvrant :
- Techniques de traduction binaire (Altman et al., 2000 ; Gouicem et al., 2022)
- Génie logiciel à grande échelle (Potvin & Levenberg, 2016 ; Winters et al., 2020)
- Correction de code automatisée (Bader et al., 2019 ; Lin et al., 2025)
- Architecture des systèmes (Verma et al., 2015 ; Corbett et al., 2012)
Résumé : Cet article possède une importance pratique et une valeur académique significatives, fournissant la première analyse systématique des défis réels et des solutions pour les migrations ISA modernes à grande échelle. L'article non seulement remet en question les perspectives conventionnelles, mais démontre également le potentiel énorme de la technologie IA en génie logiciel, fournissant une orientation importante pour le développement futur du domaine.