Google's Giant Code Migration Reveals New Challenges and Opportunities
The migration of large codebases to a new instruction set architecture (ISA) is a significant challenge for software engineers. A recent study analyzed Google's multi-year effort to port a substantial portion of its server application ecosystem from x86 to Arm, enabling simultaneous support for both.
Google's codebase is organized as a monorepo containing billions of lines of code. Builds use Bazel, a highly configurable build system, and releases are defined by 'Blueprint' files, which serve as release configuration manifests. The company has moved to a 'shift down' approach to development, where developers focus on one level of the stack and other issues are abstracted and/or automated for them.
The study found that modern ISA migration involves many usually-simple, repetitive tasks such as updating build scripts or fixing floating-point issues. In contrast to historical migrations, the volume of simple changes is much higher today. This creates challenges but also presents opportunities for automation, including with AI.