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 Articolo: 2510.14928
- Titolo: Instruction Set Migration at Warehouse Scale
- Autori: Eric Christopher, Kevin Crossan, Wolff Dobson, Chris Kennelly, Drew Lewis, Kun Lin, Martin Maas, Parthasarathy Ranganathan, Emma Rapati, Brian Yang (Google, USA)
- Classificazione: cs.SE (Ingegneria del Software), cs.LG (Machine Learning)
- Data di Pubblicazione: 16 ottobre 2025 (preprint arXiv)
- Link dell'Articolo: https://arxiv.org/abs/2510.14928
Questo articolo analizza la migrazione su larga scala dell'ISA (Instruction Set Architecture) da x86 ad Arm presso Google (coinvolgendo quasi 40.000 commit di codice), sfidando le concezioni tradizionali sulla migrazione dell'architettura del set di istruzioni. La ricerca dimostra che le sfide principali della moderna migrazione ISA non risiedono più nella traduzione del codice, bensì in una serie di compiti ingegneristici multifacetati. L'articolo propone una tassonomia dei compiti di migrazione ISA, mostra come Google ha automatizzato molti passaggi di migrazione e dimostra il ruolo cruciale dell'IA nell'automatizzare questi compiti.
- Problema Centrale: La migrazione dell'architettura del set di istruzioni per basi di codice su larga scala rappresenta una sfida ingegneristica significativa, ma ha ricevuto attenzione limitata dalla comunità accademica
- Esigenze Pratiche: I principali fornitori di servizi cloud (Amazon, Google, Microsoft) stanno adottando l'architettura Arm per integrare x86, richiedendo metodologie di migrazione sistematiche
- Limitazioni delle Concezioni Tradizionali: La ricerca precedente si è concentrata principalmente sulla traduzione binaria statica e dinamica, considerandola la sfida principale della migrazione ISA
- Cambiamento dell'Ambiente Tecnologico: Gli ISA moderni ricevono un buon supporto nei compilatori upstream, nelle librerie di runtime e nel kernel Linux, rendendo possibile la ricompilazione dal codice sorgente
- Mancanza di Esperienza Pratica: Assenza di un'analisi sistematica dei compiti effettivamente coinvolti nella moderna migrazione ISA
- Opportunità di Automazione: Gli strumenti moderni di ingegneria del software e le tecnologie di IA offrono nuove possibilità per l'automazione della migrazione
- Prima Analisi Sistematica: Fornisce la prima decomposizione dettagliata e tassonomia dei compiti di migrazione ISA su larga scala, basata su 38.156 commit reali
- Sfida alle Concezioni Tradizionali: Dimostra che la complessità della migrazione ISA non risiede nella traduzione del codice, bensì principalmente nella riscrittura dei file di costruzione e configurazione
- Framework di Automazione: Mostra la natura altamente automatizzabile di molti compiti di migrazione e sviluppa lo strumento di automazione guidato dall'IA CogniPort
- Guida Pratica: Identifica i compiti che rimangono impegnativi, fornendo indicazioni per le direzioni di ricerca future
Il compito centrale di questa ricerca è: migrare una base di codice di miliardi di righe dall'architettura x86 a un ambiente multi-architettura che supporta sia x86 che Arm
Input: Base di codice su larga scala a singola architettura (x86)
Output: Base di codice che supporta multi-architettura (x86+Arm)
Vincoli: Mantenere l'equivalenza di prestazioni, sicurezza e stabilità
- Fonte dei Dati: 38.156 commit correlati alla migrazione Arm nel repository unico di Google
- Classificazione Automatica: Utilizzo del LLM Gemini 2.5 Flash per l'analisi su larga scala dei commit
- Processo di Classificazione:
- Trasmissione del messaggio di commit e delle differenze di codice alla finestra di contesto da 1M token dell'LLM
- Per ogni lotto di 100 commit, il modello seleziona 20 categorie
- Integrazione di 400×20 categorie in 50, infine raffinate manualmente in 16 categorie
Definisce un processo di migrazione in cinque fasi:
- Fase di Test: Correzione dei test e della costruzione che falliscono sul nuovo ISA
- Configurazione CI Multi-Architettura: Modifica dei file Blueprint per garantire l'assenza di regressioni
- Configurazione del Rilascio: Modifica dei file Blueprint per supportare multi-architettura per impostazione predefinita nel rilascio
- Distribuzione di Nuovi Binari: Esecuzione su macchine ISA nuove e valutazione della stabilità delle prestazioni
- Produzione Completa: Consentire ai lavori di produzione di essere pianificati su macchine ISA nuove
- Utilizzo innovativo di modelli di linguaggio di grandi dimensioni per analizzare decine di migliaia di commit di codice
- Stabilimento di una tassonomia sistematica dei compiti di migrazione ISA (17 categorie)
- Large-Scale Changes (LSC): Implementazione di modifiche automatiche del codice su larga scala attraverso lo strumento Rosie
- Sistema CHAMP: Piattaforma di monitoraggio della salute continua che valuta automaticamente le differenze di comportamento delle applicazioni costruite per Arm
- Agente IA CogniPort: Ciclo di agenti annidati a tre livelli che corregge automaticamente gli errori di costruzione e test
CogniPort contiene tre cicli di agenti annidati:
- Agente Orchestratore: Invoca gli agenti di correzione della costruzione/test in base allo stato dell'area di lavoro
- Agente di Correzione della Costruzione: Tenta di costruire il target e modifica i file fino al successo
- Agente di Correzione dei Test: Esegue i test e modifica il codice fino al passaggio
- Scala: 38.156 commit, circa 700K righe di modifiche di codice
- Arco Temporale: Processo di migrazione pluriennale
- Copertura: Sottoinsieme rappresentativo di miliardi di righe di codice interno di Google
- Grado di Automazione: Proporzione di commit generati automaticamente e righe di codice per ogni categoria
- Tasso di Successo della Correzione dell'IA: Tasso di successo della correzione di CogniPort su 245 commit di test
- Effetto della Migrazione: Tasso di qualificazione dell'applicazione aumentato dal 4,8% al 59,6%, tasso di rollback controllato al di sotto dell'1,8%
- Analisi dei Commit Storici: Ripristino dei commit storici e valutazione della capacità di correzione dell'agente IA
- Verifica dell'Accuratezza della Classificazione: Controllo manuale dell'output del modello per garantire l'accuratezza della classificazione
- Valutazione dell'Effetto di Automazione: Statistiche del tasso di copertura dell'automazione dei sistemi LSC e CHAMP
- Configurazione della Costruzione Dominante: L'84% dei commit riguarda la costruzione, il packaging e la configurazione CI/CD (categoria 8)
- Proporzione Minima di Modifiche del Codice: L'adattamento e la correzione del codice (categorie 1-5) rappresentano solo l'1% dei commit e meno del 4% delle righe di codice
- Importanza dell'Adattamento dei Test: Le modifiche correlate ai test (categorie 6-7) occupano una proporzione considerevole
- Fase Iniziale: Principalmente sviluppo di strumenti e adattamento dei test
- Fase Intermedia: Aumento della proporzione di commit di adattamento del codice
- Fase Finale: Quasi interamente file di configurazione e processi di supporto, con rapido aumento del volume di commit
- Tasso di Automazione Complessivo: 83,82% dei commit e 14,15% delle righe di codice automatizzate
- Commit Generati da LSC: 31.984 commit generati automaticamente tramite Rosie
- Aumento del Tasso di Qualificazione dell'Applicazione: Dal 4,8% al 59,6%
- Basso Tasso di Rollback: Tasso di rollback ridotto a 0,8% o inferiore nella fase finale
Prestazioni di CogniPort su 245 commit di test:
- Tasso di Successo Complessivo: 30%
- Categorie Migliori: Correzione dei test, codice con condizioni specifiche della piattaforma, correzione della rappresentazione dei dati
- Categorie Difficili: Modello di memoria, ambiente di esecuzione dei test, ottimizzazione delle prestazioni
Difficoltà di automazione valutata dall'IA (1=semplice, 5=difficile):
- Altamente Automatizzabile: File di configurazione della costruzione, ambiente di esecuzione dei test
- Difficoltà Media: Adattamento del codice e dei test (categorie 1-7)
- Ancora Richiede Intervento Umano: Ottimizzazione complessa delle prestazioni, configurazione di servizi speciali
- Traduzione Binaria: Tecniche di traduzione binaria statica e dinamica, come il sistema Rosetta
- Modifica Automatica del Codice: Metodi automatizzati per l'ottimizzazione delle prestazioni, la correzione di problemi di sicurezza e la correzione di errori
- Transizione dalla Traduzione Binaria alla Ricompilazione del Codice Sorgente: Sfruttamento del supporto maturo dell'ecosistema open source moderno
- Analisi Sistematica dei Compiti: Prima fornitura di una tassonomia completa dei compiti di migrazione ISA
- Automazione Guidata dall'IA: Applicazione di modelli di linguaggio di grandi dimensioni alla migrazione del codice su larga scala
- Sfida alle Concezioni Tradizionali: La complessità della migrazione ISA non risiede nella traduzione del codice, bensì in compiti ingegneristici multifacetati
- Altamente Automatizzabile: La maggior parte dei compiti di migrazione può essere completata attraverso l'automazione con strumenti moderni
- Valore del Lavoro Una Tantum: Molti compiti possono essere riutilizzati dopo la prima migrazione multi-architettura
- Enorme Potenziale dell'IA: L'IA moderna può gestire molti dei compiti manuali rimanenti
- Limitazioni del Metodo di Valutazione: La valutazione dell'agente IA potrebbe presentare perdite di informazioni o test incompleti
- Ambiente Specifico di Google: Le conclusioni potrebbero non essere completamente applicabili agli ambienti software di altre organizzazioni
- Specificità di Arm: La ricerca si concentra sulla migrazione da x86 ad Arm; altre migrazioni ISA potrebbero presentare sfide diverse
- Codice Vettoriale Specifico dell'ISA: Richiede ricerca complessa nello spazio di ottimizzazione delle prestazioni
- Ottimizzazione Profonda delle Prestazioni: Richiede ristrutturazione a livello algoritmico e utilizzo di funzioni intrinseche
- Casi Limite Complessi: Richiede conoscenze specializzate al di là del codice stesso
- Sintonizzazione delle Prestazioni: Richiede rigenerazione di iperparametri e file di configurazione di ottimizzazione guidata dal feedback
- Potenziamento delle Capacità dell'Agente IA: Supporto per ricerca di documentazione e misurazione delle prestazioni in agenti più potenti
- Automazione della Vettorializzazione: Generazione automatica di codice vettoriale ad alte prestazioni specifico dell'ISA
- Toolchain Multi-Architettura: Ulteriore miglioramento degli strumenti di automazione del supporto multi-architettura
- Valore Pratico Estremamente Elevato: Basato su esperienza reale di migrazione su larga scala a livello industriale, con forte valore orientativo
- Innovazione Metodologica: Prima analisi sistematica e classificazione dei compiti di migrazione ISA, stabilendo il framework fondamentale del campo
- Scala dei Dati Considerevole: L'analisi di 38.156 commit è estremamente rara nella ricerca di ingegneria del software
- Prospettiva Tecnologica Lungimirante: Dimostra il potenziale reale dell'IA nell'affrontare compiti di ingegneria del software su larga scala
- Risultati Controintuitivi: Sfida le concezioni tradizionali nel campo, possedendo importante valore accademico
- Specificità dell'Ambiente: La ricerca si basa sull'ambiente software specifico di Google, con potenziale limitato di generalizzazione
- Limitazioni del Metodo di Valutazione: La valutazione dell'agente IA potrebbe presentare distorsioni, richiedendo benchmark più rigorosi
- Analisi dei Costi Assente: Mancanza di analisi quantitativa dei costi di migrazione (risorse umane, tempo, risorse)
- Considerazioni Insufficienti sulla Manutenzione a Lungo Termine: Analisi limitata dei costi di manutenzione a lungo termine della base di codice multi-architettura
- Impatto Accademico: Fornisce nuove direzioni di ricerca per i campi dell'ingegneria del software e dell'architettura dei sistemi
- Valore Industriale: Fornisce metodologie pratiche e riferimenti di strumenti per altre organizzazioni che conducono migrazioni ISA
- Promozione Tecnologica: Promuove lo sviluppo dell'applicazione dell'IA nell'ingegneria del software
- Stabilimento di Standard: Potrebbe diventare uno standard di riferimento importante nel campo della migrazione ISA
- Grandi Aziende Tecnologiche: Organizzazioni con basi di codice su larga scala che necessitano di migrazioni architettoniche
- Fornitori di Servizi Cloud: Necessità di supportare architetture hardware multiple per ottimizzare costi e prestazioni
- Manutentori di Progetti Open Source: Grandi progetti open source che necessitano di espandere il supporto architettonico
- Istituzioni di Ricerca: Team accademici che ricercano l'automazione dell'ingegneria del software e le applicazioni dell'IA
L'articolo cita 27 importanti riferimenti bibliografici, coprendo:
- Tecniche di traduzione binaria (Altman et al., 2000; Gouicem et al., 2022)
- Ingegneria del software su larga scala (Potvin & Levenberg, 2016; Winters et al., 2020)
- Correzione automatica del codice (Bader et al., 2019; Lin et al., 2025)
- Architettura dei sistemi (Verma et al., 2015; Corbett et al., 2012)
Sintesi: Questo è un articolo di importante significato pratico e valore accademico che analizza sistematicamente per la prima volta le sfide effettive e le soluzioni della moderna migrazione ISA su larga scala. L'articolo non solo sfida le concezioni tradizionali, ma dimostra anche l'enorme potenziale della tecnologia IA nell'ingegneria del software, fornendo importanti indicazioni per lo sviluppo futuro del campo.