2025-11-24T21:52:17.543196

Instruction Set Migration at Warehouse Scale

Christopher, Crossan, Dobson et al.
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, США)
  • Классификация: cs.SE (Программная инженерия), cs.LG (Машинное обучение)
  • Дата публикации: 16 октября 2025 г. (препринт arXiv)
  • Ссылка на статью: https://arxiv.org/abs/2510.14928

Аннотация

В данной статье анализируется крупномасштабная миграция архитектуры набора инструкций (ISA) компании Google с x86 на Arm (охватывающая почти 40 000 коммитов кода), что ставит под сомнение традиционные взгляды на миграцию ISA. Исследование показывает, что основные проблемы современной миграции ISA больше не связаны с трансляцией кода, а представляют собой ряд многоаспектных инженерных задач. В статье предложена классификация задач миграции ISA, продемонстрировано, как Google автоматизировал многие этапы миграции, и доказана важная роль искусственного интеллекта в автоматизации этих задач.

Предпосылки и мотивация исследования

Определение проблемы

  1. Основная проблема: Миграция архитектуры набора инструкций в крупномасштабных кодовых базах является серьёзной инженерной проблемой, но академическое сообщество уделяет ей ограниченное внимание
  2. Практическая необходимость: Основные поставщики облачных услуг (Amazon, Google, Microsoft) внедряют архитектуру Arm в дополнение к x86, требуя систематической методологии миграции
  3. Ограничения традиционного подхода: Предыдущие исследования сосредоточены на статической и динамической двоичной трансляции, рассматривая её как основную проблему миграции ISA

Мотивация исследования

  1. Изменение технологической среды: Современные ISA хорошо поддерживаются в вышестоящих компиляторах, библиотеках времени выполнения и ядре Linux, что делает возможной перекомпиляцию из исходного кода
  2. Отсутствие практического опыта: Недостаток систематического анализа фактических задач, связанных с современной миграцией ISA
  3. Возможности автоматизации: Современные инструменты программной инженерии и технологии искусственного интеллекта открывают новые возможности для автоматизации миграции

Основные вклады

  1. Первый систематический анализ: Предоставляет первое подробное разложение и классификацию задач крупномасштабной миграции ISA на основе 38 156 реальных коммитов
  2. Опровержение традиционных представлений: Доказывает, что сложность миграции ISA заключается не в трансляции кода, а в основном в переписывании файлов сборки и конфигурации
  3. Платформа автоматизации: Демонстрирует высокую степень автоматизируемости многих задач миграции и разрабатывает инструмент автоматизации на основе ИИ CogniPort
  4. Практическое руководство: Определяет задачи, которые остаются сложными, и предоставляет рекомендации для будущих направлений исследований

Подробное описание методологии

Определение задачи

Основная задача исследования: Миграция многомиллиардной кодовой базы с архитектуры x86 на многоархитектурную среду, поддерживающую как x86, так и Arm

Входные данные: Крупномасштабная кодовая база с одной архитектурой (x86) Выходные данные: Кодовая база, поддерживающая несколько архитектур (x86+Arm) Ограничения: Сохранение эквивалентности производительности, безопасности и стабильности

Архитектура аналитического метода

1. Сбор и аннотирование данных

  • Источник данных: 38 156 коммитов, связанных с миграцией Arm, из единого репозитория кода Google
  • Автоматическая классификация: Использование LLM Gemini 2.5 Flash для крупномасштабного анализа коммитов
  • Процесс классификации:
    1. Передача сообщений коммитов и различий кода в окно контекста 1M токенов LLM
    2. Для каждого пакета из 100 коммитов модель выбирает 20 категорий
    3. Консолидация 400×20 категорий в 50, окончательно уточненных вручную до 16 категорий

2. Модель жизненного цикла миграции

Определён пятиэтапный процесс миграции:

  1. Этап тестирования: Исправление тестов и сборок, которые не работают на новой ISA
  2. Настройка многоархитектурного CI: Изменение файлов Blueprint для обеспечения отсутствия регрессий
  3. Конфигурация выпуска: Изменение файлов Blueprint для поддержки нескольких архитектур по умолчанию при выпуске
  4. Развёртывание новых двоичных файлов: Запуск на машинах новой ISA и оценка стабильности производительности
  5. Полное производство: Разрешение планировщику производственных заданий распределять работу на машины новой ISA

Технические инновации

1. Крупномасштабный анализ кода на основе LLM

  • Инновационное использование больших языковых моделей для анализа десятков тысяч коммитов кода
  • Установление систематической классификации задач миграции ISA (17 категорий)

2. Многоуровневая платформа автоматизации

  • Large-Scale Changes (LSC): Реализация крупномасштабных автоматизированных изменений кода через инструмент Rosie
  • Система CHAMP: Платформа непрерывного мониторинга здоровья, автоматически оценивающая различия в поведении приложений сборки Arm
  • AI-агент CogniPort: Трёхуровневый вложенный цикл агентов для автоматического исправления ошибок сборки и тестирования

3. Агент восстановления на основе ИИ

CogniPort содержит три вложенных цикла агентов:

  • Агент-оркестратор: Вызывает агентов исправления сборки/тестирования в зависимости от состояния рабочего пространства
  • Агент исправления сборки: Пытается выполнить сборку целевого объекта и изменяет файлы до успеха
  • Агент исправления тестов: Запускает тесты и изменяет код до прохождения

Экспериментальная установка

Характеристики набора данных

  • Масштаб: 38 156 коммитов, примерно 700K строк изменений кода
  • Временной диапазон: Многолетний процесс миграции
  • Охват: Репрезентативное подмножество десятков миллиардов строк кода внутри Google

Метрики оценки

  1. Степень автоматизации: Доля автоматически сгенерированных коммитов и строк кода в каждой категории
  2. Коэффициент успеха исправления AI: Коэффициент успеха исправления CogniPort на 245 тестовых коммитах
  3. Эффект миграции: Коэффициент соответствия приложений повышается с 4,8% до 59,6%, коэффициент отката контролируется ниже 1,8%

Методология экспериментов

  1. Анализ исторических коммитов: Восстановление исторических коммитов и оценка способности AI-агента к исправлению
  2. Проверка точности классификации: Ручная проверка выходных данных модели для обеспечения точности классификации
  3. Оценка эффекта автоматизации: Статистика охвата автоматизации систем LSC и CHAMP

Результаты экспериментов

Основные выводы

1. Анализ распределения задач (Рисунок 1)

  • Доминирование конфигурации сборки: 84% коммитов связаны с конфигурацией сборки, упаковки и CI/CD (категория 8)
  • Минимальная доля изменений кода: Адаптация и исправление кода (категории 1-5) составляют только 1% коммитов и менее 4% строк кода
  • Важность адаптации тестов: Изменения, связанные с тестами (категории 6-7), занимают значительную долю

2. Временные модели эволюции (Рисунок 3)

  • Ранний этап: В основном разработка инструментов и адаптация тестов
  • Средний этап: Увеличение доли коммитов адаптации кода
  • Поздний этап: Почти полностью файлы конфигурации и вспомогательные процессы, быстрый рост объёма коммитов

3. Эффективность автоматизации

  • Общий коэффициент автоматизации: 83,82% коммитов и 14,15% строк кода автоматизированы
  • Коммиты, сгенерированные LSC: 31 984 коммита автоматически сгенерированы через Rosie
  • Повышение коэффициента соответствия приложений: С 4,8% до 59,6%
  • Низкий коэффициент отката: Коэффициент отката на финальном этапе снижается ниже 0,8%

Производительность AI-агента (Рисунок 4)

Производительность CogniPort на 245 тестовых коммитах:

  • Общий коэффициент успеха: 30%
  • Лучшие категории: Исправление тестов, код с условиями для конкретной платформы, исправление представления данных
  • Сложные категории: Модель памяти, среда выполнения тестов, оптимизация производительности

Потенциал автоматизации классификации (Рисунок 5)

Оценка AI сложности автоматизации (1=простая, 5=сложная):

  • Высокая степень автоматизируемости: Файлы конфигурации сборки, среда выполнения тестов
  • Средняя сложность: Адаптация кода и тестов (категории 1-7)
  • Требуется ручная работа: Сложная оптимизация производительности, конфигурация специальных сервисов

Связанные работы

Традиционные методы

  1. Двоичная трансляция: Методы статической и динамической двоичной трансляции, такие как система Rosetta
  2. Автоматическое редактирование кода: Автоматизация оптимизации производительности, исправления проблем безопасности и исправления ошибок

Инновации в данной статье

  1. Переход от двоичной трансляции к перекомпиляции из исходного кода: Использование зрелой поддержки современной экосистемы открытого исходного кода
  2. Систематический анализ задач: Первое предоставление полной классификации задач миграции ISA
  3. Автоматизация на основе ИИ: Применение больших языковых моделей к крупномасштабной миграции кода

Заключение и обсуждение

Основные выводы

  1. Опровержение традиционных представлений: Сложность миграции ISA заключается не в трансляции кода, а в многоаспектных инженерных задачах
  2. Высокая степень автоматизируемости: Большинство задач миграции могут быть автоматизированы с использованием современных инструментов
  3. Ценность одноразовой работы: Многие задачи можно повторно использовать после первой миграции на несколько архитектур
  4. Огромный потенциал ИИ: Современный ИИ может справиться со многими оставшимися ручными задачами

Ограничения

  1. Ограничения методологии оценки: Оценка AI-агента может содержать утечку информации или неполное тестирование
  2. Специфичность для Google: Выводы могут не полностью применяться к программной среде других организаций
  3. Специфичность для Arm: Исследование сосредоточено на миграции x86 на Arm; другие миграции ISA могут иметь различные проблемы

Будущие направления

Остающиеся сложные задачи

  1. ISA-специфичный векторный код: Требует сложного поиска пространства оптимизации производительности
  2. Глубокая оптимизация производительности: Требует переструктурирования на уровне алгоритма и использования встроенных функций
  3. Сложные граничные случаи: Требует знаний, выходящих за пределы самого кода
  4. Настройка производительности: Требует переформирования гиперпараметров и конфигурации оптимизации с обратной связью

Возможности для исследований

  1. Усиление возможностей AI-агента: Поддержка более мощных агентов с поиском документации и измерением производительности
  2. Автоматизация векторизации: Автоматическое создание высокопроизводительного ISA-специфичного векторного кода
  3. Инструменты цепочки многоархитектурной компиляции: Дальнейшее улучшение инструментов автоматизации поддержки многоархитектурности

Глубокая оценка

Преимущества

  1. Исключительная практическая ценность: Основана на реальном опыте крупномасштабной миграции промышленного уровня с сильным руководящим значением
  2. Методологические инновации: Первый систематический анализ и классификация задач миграции ISA, установление базовой основы для этой области
  3. Огромный масштаб данных: Анализ 38 156 коммитов является исключительно редким в исследованиях программной инженерии
  4. Технологическая дальновидность: Демонстрирует реальный потенциал применения ИИ в крупномасштабных задачах программной инженерии
  5. Контринтуитивные результаты: Ставит под сомнение традиционные представления в области, имеющие важное академическое значение

Недостатки

  1. Специфичность окружения: Исследование основано на специфической программной среде Google, способность к обобщению может быть ограничена
  2. Ограничения методологии оценки: Оценка AI-агента может содержать смещения, требуется более строгое тестирование
  3. Отсутствие анализа затрат: Недостаток количественного анализа затрат на миграцию (человеческие ресурсы, время, ресурсы)
  4. Недостаточное рассмотрение долгосрочного обслуживания: Ограниченный анализ затрат на долгосрочное обслуживание многоархитектурной кодовой базы

Влияние

  1. Академическое влияние: Предоставляет новые направления исследований для программной инженерии и архитектуры систем
  2. Промышленная ценность: Предоставляет практическую методологию и справочные материалы по инструментам для других организаций, проводящих миграцию ISA
  3. Технологический прогресс: Продвигает развитие применения ИИ в программной инженерии
  4. Установление стандартов: Может стать важным справочным стандартом в области миграции ISA

Применимые сценарии

  1. Крупные технологические компании: Организации с крупномасштабными кодовыми базами, требующие миграции архитектуры
  2. Поставщики облачных услуг: Требуется поддержка нескольких аппаратных архитектур для оптимизации затрат и производительности
  3. Сопровождающие открытого исходного кода: Крупные проекты открытого исходного кода, требующие расширения поддержки архитектуры
  4. Научные учреждения: Исследовательские команды, изучающие автоматизацию программной инженерии и применение ИИ

Библиография

Статья цитирует 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. Статья не только ставит под сомнение традиционные представления, но и демонстрирует огромный потенциал технологии ИИ в программной инженерии, предоставляя важное руководство для будущего развития этой области.