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.
