Table of Contents
Fetching ...

Instruction Set Migration at Warehouse Scale

Eric Christopher, Kevin Crossan, Wolff Dobson, Chris Kennelly, Drew Lewis, Kun Lin, Martin Maas, Parthasarathy Ranganathan, Emma Rapati, Brian Yang

TL;DR

This paper analyzes Google's large-scale migration of a multi-billion line codebase from x86 to Arm, arguing that modern ISA migrations are dominated by build/configuration, testing, and tooling tasks rather than code translation. By examining 38,156 commits and employing AI-driven analysis, the authors propose a taxonomy of migration tasks and demonstrate substantial automation via tools like Rosie and CHAMP, as well as an AI-driven agent, CogniPort. The study shows high automation rates (e.g., 83.82% of commits) and a notable increase in Arm-qualified deployments (to 59.6%), while also identifying remaining hard problems such as ISA-specific vector code and deep performance optimizations. Overall, the work suggests that large-scale ISA migrations are feasible and scalable with automation and AI, while pinpointing avenues for future research to close the remaining gaps.

Abstract

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.

Instruction Set Migration at Warehouse Scale

TL;DR

This paper analyzes Google's large-scale migration of a multi-billion line codebase from x86 to Arm, arguing that modern ISA migrations are dominated by build/configuration, testing, and tooling tasks rather than code translation. By examining 38,156 commits and employing AI-driven analysis, the authors propose a taxonomy of migration tasks and demonstrate substantial automation via tools like Rosie and CHAMP, as well as an AI-driven agent, CogniPort. The study shows high automation rates (e.g., 83.82% of commits) and a notable increase in Arm-qualified deployments (to 59.6%), while also identifying remaining hard problems such as ISA-specific vector code and deep performance optimizations. Overall, the work suggests that large-scale ISA migrations are feasible and scalable with automation and AI, while pinpointing avenues for future research to close the remaining gaps.

Abstract

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.
Paper Structure (22 sections, 5 figures)

This paper contains 22 sections, 5 figures.

Figures (5)

  • Figure 1: Categories of commits in Google's x86 to Arm migration. LoC per commit shows median and 90% CI. Automation shows the fraction of commits/LoC generated using large-scale changes (Section \ref{['sec:automatability:tools']}).
  • Figure 2: Specific code examples for each category.
  • Figure 3: Categories of commits over time.
  • Figure 4: Agentic flow and the success rate of the agent.
  • Figure 5: AI-assessed automatability of each category (1 = trivial, 5 = probably unsolvable), as well as actual fraction of commits and LoCs in each category that were generated using automated tools.