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.
academic- 論文ID: 2510.14928
- タイトル: 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(Google、USA)
- 分類: cs.SE(ソフトウェアエンジニアリング)、cs.LG(機械学習)
- 発表日時: 2025年10月16日(arXivプレプリント)
- 論文リンク: https://arxiv.org/abs/2510.14928
本論文は、GoogleがX86からArmへ実施した大規模ISA移行(約40,000個のコードコミットを含む)の分析を通じて、命令セットアーキテクチャ移行に関する従来の見方に異議を唱えています。研究により、現代的なISA移行の主な課題はもはやコード翻訳ではなく、多面的なエンジニアリングタスクの集合であることが示されました。論文はISA移行タスクの分類法を提案し、Googleがいかに多くの移行ステップを自動化したか、そしてこれらのタスク処理の自動化におけるAIの重要な役割を実証しています。
- 中核的課題:大規模コードベースの命令セットアーキテクチャ移行は重大なエンジニアリング課題であるが、学術界の関心が限定的である
- 実際的必要性:主要クラウドサービスプロバイダー(Amazon、Google、Microsoft)がX86を補完するためにArmアーキテクチャを採用しており、体系的な移行方法論が必要
- 従来の見方の限界:過去の研究は主に静的および動的バイナリ翻訳に焦点を当てており、これらをISA移行の主な課題と考えていた
- 技術環境の変化:現代的なISAはアップストリームコンパイラ、ランタイムライブラリ、Linuxカーネルで十分にサポートされており、ソースコードからの再コンパイルが可能になった
- 実践経験の欠落:現代的なISA移行が実際に何を伴うかについての体系的な分析が不足している
- 自動化の機会:現代的なソフトウェアエンジニアリングツールとAI技術が移行の自動化に新たな可能性をもたらしている
- 初の体系的分析:38,156個の実際のコミットに基づいた、大規模ISA移行タスクの詳細な分解と分類法を提供
- 従来の認識の転覆:ISA移行の複雑性はコード翻訳ではなく、主にビルドおよび設定ファイルの書き換えにあることを実証
- 自動化フレームワーク:多くの移行タスクが高度に自動化可能であることを示し、AI駆動の自動化ツールCogniPortを開発
- 実用的ガイダンス:依然として課題のあるタスクを特定し、将来の研究方向を提示
本研究の中核的タスク:数十億行のコードベースをX86アーキテクチャからX86とArmの両方をサポートするマルチアーキテクチャ環境に移行させる
入力:単一アーキテクチャ(X86)の大規模コードベース
出力:マルチアーキテクチャ(X86+Arm)をサポートするコードベース
制約:パフォーマンス、セキュリティ、安定性の等価性を維持
- データソース:Googleの単一コードリポジトリ内の38,156個のArm移行関連コミット
- 自動分類:Gemini 2.5 Flash LLMを使用した大規模コミット分析
- 分類プロセス:
- コミットメッセージとコード差分を1Mトークンコンテキストウィンドウを持つLLMに入力
- 100個のコミットのバッチごとに、モデルが20個のカテゴリを選択
- 400×20個のカテゴリを50個に統合し、最終的に手作業で16個のカテゴリに精緻化
5段階の移行プロセスを定義:
- テストフェーズ:新しいISAで失敗するテストとビルドを修正
- マルチアーキテクチャCI設定:Blueprintファイルを修正してリグレッションを防止
- リリース設定:Blueprintファイルを修正してリリースがデフォルトでマルチアーキテクチャをサポート
- 新しいバイナリの展開:新しいISAマシンで実行してパフォーマンス安定性を評価
- 本番環境への完全展開:本番ジョブを新しいISAマシンにスケジュール可能にする
- 数万個のコードコミットを分析するために大言語モデルを革新的に使用
- ISA移行タスクの体系的分類法(17カテゴリ)を確立
- 大規模変更(LSC):Rosieツールを通じた大規模自動コード修正の実装
- CHAMPシステム:継続的なヘルスモニタリングプラットフォーム、Armビルドアプリケーションの動作差異を自動評価
- CogniPort AIエージェント:3層のネストされたエージェントループ、ビルドおよびテストエラーの自動修復
CogniPortは3つのネストされたエージェントループを含む:
- オーケストレーターエージェント:ワークスペース状態に基づいてビルド/テスト修復エージェントを呼び出す
- ビルド修復エージェント:ターゲットのビルドを試み、成功するまでファイルを修正
- テスト修復エージェント:テストを実行し、合格するまでコードを修正
- 規模:38,156個のコミット、約700K行のコード変更
- 時間範囲:複数年にわたる移行プロセス
- カバレッジ:Googleの内部数十億行のコードの代表的なサブセット
- 自動化程度:各カテゴリにおける自動生成されたコミットとコード行の割合
- AI修復成功率:245個のテストコミットに対するCogniPortの修復成功率
- 移行効果:アプリケーション適格率が4.8%から59.6%に上昇、ロールバック率は1.8%以下に制御
- 履歴コミット分析:履歴コミットを復元し、AIエージェントの修復能力を評価
- 分類精度検証:モデル出力を手作業で確認して分類精度を確保
- 自動化効果評価:LSCおよびCHAMPシステムの自動化カバレッジを統計
- ビルド設定が支配的:84%のコミットがビルド、パッケージング、CI/CD設定に関連(カテゴリ8)
- コード修正の割合は極小:コード適応と修正(カテゴリ1-5)はコミットの1%、コード行の4%未満のみ
- テスト適応が重要:テスト関連の修正(カテゴリ6-7)がかなりの割合を占める
- 初期段階:主にツール開発とテスト適応
- 中期段階:コード適応関連のコミット割合が増加
- 後期段階:ほぼすべてが設定ファイルとサポートプロセス、コミット数が急速に増加
- 全体的自動化率:83.82%のコミットと14.15%のコード行が自動化を実現
- LSC生成コミット:31,984個のコミットがRosieで自動生成
- アプリケーション適格率の向上:4.8%から59.6%に上昇
- 低いロールバック率:最終段階のロールバック率は0.8%以下に低下
245個のテストコミットに対するCogniPortのパフォーマンス:
- 全体的成功率:30%
- 最良カテゴリ:テスト修復、プラットフォーム固有の条件付きコード、データ表現修復
- 困難なカテゴリ:メモリモデル、テスト実行環境、パフォーマンス最適化
AIが評価した自動化難度(1=簡単、5=困難):
- 高度に自動化可能:ビルド設定ファイル、テスト実行環境
- 中程度の難度:コードおよびテスト適応(カテゴリ1-7)
- 人的介入が必要:複雑なパフォーマンス最適化、特殊なサービス設定
- バイナリ翻訳:Rosettaシステムなどの静的および動的バイナリ翻訳技術
- コード自動編集:パフォーマンス最適化、セキュリティ問題修復、エラー修正の自動化方法
- バイナリ翻訳からソースコード再コンパイルへの転換:現代的なオープンソースエコシステムの成熟したサポートを活用
- 体系的なタスク分析:ISA移行タスクの包括的な分類法を初めて提供
- AI駆動の自動化:大規模コード移行に大言語モデルを適用
- 従来の見方の転覆:ISA移行の複雑性はコード翻訳ではなく、多面的なエンジニアリングタスクにある
- 高度に自動化可能:大部分の移行タスクは現代的なツールで自動化可能
- 一度限りの作業の価値:多くのタスクは最初のマルチアーキテクチャ移行後に再利用可能
- AIの潜在力は大きい:現代的なAIは残りの多くの手作業タスクを処理できる
- 評価方法の制限:AIエージェント評価は情報漏洩またはテストの不完全性の可能性がある
- Google固有の環境:結論は他の組織のソフトウェア環境に完全には適用されない可能性がある
- Arm固有性:研究はX86からArmへの移行に焦点を当てており、他のISA移行は異なる課題を持つ可能性がある
- ISA固有のベクトルコード:複雑なパフォーマンス最適化検索空間が必要
- 深いパフォーマンス最適化:アルゴリズムレベルのリファクタリングと組み込み関数の使用が必要
- 複雑なエッジケース:コード自体を超えた専門知識が必要
- パフォーマンスチューニング:ハイパーパラメータの再生成とフィードバック指向の最適化プロファイルが必要
- AIエージェント能力の強化:ドキュメント検索、パフォーマンス測定をサポートするより強力なエージェント
- ベクトル化の自動化:高性能なISA固有のベクトルコードの自動生成
- マルチアーキテクチャツールチェーン:マルチアーキテクチャサポートツールの自動化をさらに改善
- 実践的価値が極めて高い:実際の産業規模の大規模移行経験に基づいており、強い指導的価値がある
- 方法論的革新:ISA移行タスクを初めて体系的に分析・分類し、この分野の基礎フレームワークを確立
- データ規模が大きい:38,156個のコミット分析はソフトウェアエンジニアリング研究では極めて稀
- 技術的先見性:大規模ソフトウェアエンジニアリングタスクにおけるAIの実際の応用可能性を実証
- 結果が直感に反する:領域内の従来の認識に異議を唱え、重要な学術的価値を持つ
- 環境固有性:研究はGoogleの特定のソフトウェア環境に基づいており、汎化能力が限定的である可能性
- 評価方法の限界:AIエージェントの評価に偏りがある可能性があり、より厳格なベンチマークが必要
- コスト分析の欠落:移行コスト(人力、時間、リソース)の定量的分析が不足
- 長期保守の考慮不足:マルチアーキテクチャコードベースの長期保守コストの分析が少ない
- 学術的影響:ソフトウェアエンジニアリングとシステムアーキテクチャ分野に新しい研究方向を提供
- 産業的価値:他の組織がISA移行を実施する際の実用的な方法論とツール参考を提供
- 技術推進:ソフトウェアエンジニアリングにおけるAI応用の発展を推進
- 標準確立:ISA移行分野の重要な参考標準となる可能性
- 大規模テクノロジー企業:大規模コードベースを持ち、アーキテクチャ移行が必要な組織
- クラウドサービスプロバイダー:複数のハードウェアアーキテクチャをサポートしてコストとパフォーマンスを最適化する必要がある
- オープンソースプロジェクト保守者:アーキテクチャサポートを拡張する必要がある大規模オープンソースプロジェクト
- 研究機関:ソフトウェアエンジニアリング自動化とAI応用を研究する学術チーム
論文は27篇の重要な文献を引用しており、以下を含む:
- バイナリ翻訳技術(Altman et al., 2000; Gouicem et al., 2022)
- 大規模ソフトウェアエンジニアリング(Potvin & Levenberg, 2016; Winters et al., 2020)
- コード自動修復(Bader et al., 2019; Lin et al., 2025)
- システムアーキテクチャ(Verma et al., 2015; Corbett et al., 2012)
まとめ:これは重要な実践的意義と学術的価値を持つ論文です。現代的な大規模ISA移行の実際の課題と解決策を初めて体系的に分析しています。論文は従来の見方に異議を唱えるだけでなく、ソフトウェアエンジニアリングにおけるAI技術の巨大な可能性を示し、この分野の将来の発展に重要な指導を提供しています。