DOI: 10.1145/3822412 ISSN: 0001-0782

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

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 major cloud hyperscalers. Yet, this problem has seen limited attention from the academic community. Most work assumes migration is straightforward in the presence of source code, or that the main research challenges lie in binary translation used in its absence.

We find that neither assumption holds today. Modern ISA migrations can build on a robust open-source ecosystem, making it possible to recompile all relevant software from scratch. However, while this avoids the need for binary translation, modern software ecosystems introduce a new, multifaceted set of challenges.

By analyzing a large-scale migration from x86 to Arm at Google spanning nearly 40,000 code commits, we derive a taxonomy of tasks involved in modern ISA migration. We show how Google automated many of these steps and demonstrate how AI can play a major role in performing them. Finally, we identify tasks that remain difficult and highlight research challenges warranting further attention.