2025-11-24T21:52:17.543196

Instruction Set Migration at Warehouse Scale

Christopher, Crossan, Dobson et al.
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.
academic

Migration d'Ensemble d'Instructions à l'Échelle du Datacenter

Informations Fondamentales

  • 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

Résumé

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.

Contexte de Recherche et Motivation

Définition du Problème

  1. 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
  2. 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
  3. 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

Motivation de la Recherche

  1. É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
  2. Absence d'expérience pratique : Manque d'analyse systématique des tâches réellement impliquées dans les migrations ISA modernes
  3. 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

Contributions Principales

  1. 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
  2. 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
  3. 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
  4. Orientation pratique : Identifie les tâches qui restent difficiles, fournissant des orientations pour les directions de recherche futures

Détails de la Méthodologie

Définition de la Tâche

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é

Architecture de la Méthodologie d'Analyse

1. Collecte et Annotation de Données

  • 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 :
    1. Transmission des messages de commit et des différences de code à la fenêtre de contexte de 1M tokens du LLM
    2. Par lot de 100 commits, le modèle sélectionne 20 catégories
    3. Intégration de 400×20 catégories en 50, finalement affinées manuellement en 16 catégories

2. Modèle du Cycle de Vie de Migration

Définit un processus de migration en cinq étapes :

  1. Phase de test : Correction des tests et constructions défaillants sur la nouvelle ISA
  2. Configuration de l'IC multi-architecture : Modification des fichiers Blueprint pour assurer l'absence de régression
  3. Configuration de la version : Modification des fichiers Blueprint pour que la version supporte par défaut plusieurs architectures
  4. Déploiement des nouveaux binaires : Exécution sur des machines ISA nouvelles et évaluation de la stabilité des performances
  5. Production complète : Autorisation de l'ordonnancement des tâches de production sur des machines ISA nouvelles

Points d'Innovation Technique

1. Analyse de Code à Grande Échelle Basée sur LLM

  • 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)

2. Cadre d'Automatisation Multicouche

  • 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

3. Agent de Correction Piloté par l'IA

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

Configuration Expérimentale

Caractéristiques de l'Ensemble de Données

  • É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

Métriques d'Évaluation

  1. Degré d'automatisation : Proportion de commits générés automatiquement et de lignes de code pour chaque catégorie
  2. Taux de réussite de correction par l'IA : Taux de réussite de CogniPort sur 245 commits de test
  3. Efficacité de migration : Taux de conformité des applications passant de 4,8 % à 59,6 %, taux de retour contrôlé en dessous de 1,8 %

Méthodologie Expérimentale

  1. Analyse des commits historiques : Restauration des commits historiques et évaluation de la capacité de correction de l'agent IA
  2. 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
  3. Évaluation de l'efficacité d'automatisation : Statistiques du taux de couverture d'automatisation des systèmes LSC et CHAMP

Résultats Expérimentaux

Principales Conclusions

1. Analyse de la Distribution des Tâches (Figure 1)

  • 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

2. Modèles d'Évolution Temporelle (Figure 3)

  • 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

3. Efficacité de l'Automatisation

  • 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 l'Agent IA (Figure 4)

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

Potentiel d'Automatisation par Catégorie (Figure 5)

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

Travaux Connexes

Approches Traditionnelles

  1. Traduction binaire : Techniques de traduction binaire statique et dynamique, telles que le système Rosetta
  2. É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

Innovations de cet Article

  1. Transition de la traduction binaire vers la recompilation du code source : Exploitation du support mature de l'écosystème open-source moderne
  2. Analyse systématique des tâches : Première fourniture d'une taxonomie complète des tâches de migration ISA
  3. Automatisation pilotée par l'IA : Application de modèles de langage de grande taille à la migration de code à grande échelle

Conclusions et Discussion

Conclusions Principales

  1. 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
  2. Hautement automatisable : La plupart des tâches de migration peuvent être automatisées via des outils modernes
  3. Valeur du travail ponctuel : De nombreuses tâches peuvent être réutilisées après la première migration multi-architecture
  4. Potentiel énorme de l'IA : L'IA moderne peut gérer de nombreuses tâches manuelles restantes

Limitations

  1. Limitations de la méthodologie d'évaluation : L'évaluation de l'agent IA peut présenter des fuites d'information ou des tests incomplets
  2. Environnement spécifique à Google : Les conclusions peuvent ne pas s'appliquer complètement aux environnements logiciels d'autres organisations
  3. 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

Directions Futures

Tâches Restant Difficiles

  1. Code vectoriel spécifique à l'ISA : Nécessite un espace de recherche d'optimisation des performances complexe
  2. Optimisation profonde des performances : Nécessite une restructuration au niveau algorithmique et l'utilisation de fonctions intrinsèques
  3. Cas limites complexes : Nécessite une expertise dépassant le code lui-même
  4. 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

Opportunités de Recherche

  1. Amélioration des capacités des agents IA : Support de recherche de documentation et d'agents plus puissants avec mesure des performances
  2. Automatisation de la vectorisation : Génération automatique de code vectoriel haute performance spécifique à l'ISA
  3. Chaînes d'outils multi-architecture : Amélioration supplémentaire des outils d'automatisation du support multi-architecture

Évaluation Approfondie

Points Forts

  1. 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
  2. Innovation méthodologique : Première analyse et classification systématiques des tâches de migration ISA, établissant le cadre fondamental du domaine
  3. Échelle de données massive : L'analyse de 38 156 commits est extrêmement rare dans la recherche en génie logiciel
  4. Prospective technologique : Démontre le potentiel réel de l'IA dans les tâches d'ingénierie logicielle à grande échelle
  5. Résultats contre-intuitifs : Remet en question les connaissances conventionnelles du domaine, possédant une valeur académique importante

Insuffisances

  1. 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
  2. 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
  3. Absence d'analyse des coûts : Manque d'analyse quantitative des coûts de migration (ressources humaines, temps, ressources)
  4. 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

  1. Impact académique : Fournit de nouvelles directions de recherche pour le génie logiciel et l'architecture des systèmes
  2. Valeur industrielle : Fournit des références méthodologiques et d'outils pratiques pour les migrations ISA d'autres organisations
  3. Promotion technologique : Favorise le développement de l'application de l'IA en génie logiciel
  4. Établissement de normes : Peut devenir une norme de référence importante dans le domaine de la migration ISA

Scénarios d'Application

  1. Grandes entreprises technologiques : Organisations possédant de grandes bases de code nécessitant une migration d'architecture
  2. Fournisseurs de services cloud : Nécessitant de supporter plusieurs architectures matérielles pour optimiser les coûts et les performances
  3. Mainteneurs de projets open-source : Projets open-source de grande taille nécessitant d'étendre le support d'architecture
  4. Institutions de recherche : Équipes académiques étudiant l'automatisation du génie logiciel et les applications de l'IA

Références Bibliographiques

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.