Начался самый масштабный отказ от x86 в истории компании.
Компания Google запустила один из крупнейших проектов в своей истории — перенос всей внутренней инфраструктуры на архитектуру Arm. По данным корпорации, на данный момент адаптировано уже около 30 000 программных пакетов, включая ключевые сервисы YouTube, Gmail и BigQuery. В перспективе Google планирует завершить миграцию всех систем, чтобы приложения могли одинаково работать как на x86-процессорах, так и на новых чипах собственного производства под названием Axion.
Технические детали проекта изложены в препринте под названием Instruction Set Migration at Warehouse Scale и в официальном блоге компании. Авторы публикации — инженер-исследователь Партасарати Ранганатан и специалист по работе с разработчиками Вольф Добсон — отмечают, что в начале работы команда ожидала множества проблем: расхождений в вычислениях с плавающей точкой, различий в обработке многопоточности, а также трудностей с платформенно-зависимыми операторами и производительностью. Однако, как показала практика, современные компиляторы и инструменты тестирования уже устранили большинство подобных ошибок.
На первом этапе инженеры вручную переносили крупнейшие внутренние сервисы — F1, Spanner и Bigtable. Основная сложность заключалась не в архитектурных различиях, а в рутине: исправлении тестов, завязанных на x86-среду, обновлении устаревших систем сборки и релизов, устранении сбоев при развёртывании и сохранении стабильности ключевых служб. Всего обработано порядка 30 000 приложений — настолько объёмный массив кода, что Google задействовала весь имеющийся арсенал автоматизации и разработала дополнительный инструмент на базе искусственного интеллекта под названием CogniPort.
Как поясняют авторы проекта, CogniPort анализирует ошибки сборки и тестирования. Если на каком-либо этапе библиотека, бинарный файл или тест не компилируются, агент автоматически пытается внести корректировки. В режиме Blueprint Editing система формирует коммиты, требующие комплексных изменений, которые нельзя выполнить простыми правками в коде. По результатам испытаний эффективность CogniPort достигает около 30 % при определённых условиях — в первую очередь при исправлении тестов, платформенных условных операторов и ошибок представления данных.
Несмотря на то что доля успешных исправлений пока невелика, Google продолжает расширять процесс: впереди адаптация ещё примерно 70 000 пакетов. Конечная цель — обеспечить совместимость всех приложений на обеих архитектурах, чтобы система оркестрации Borg, лежащая в основе Kubernetes, могла распределять вычислительные нагрузки между серверами с максимальной эффективностью.
Переход имеет и экономическое значение. По расчётам Google, серверы на процессорах Axion обеспечивают до 65 % лучшую цену за единицу производительности по сравнению с x86-платформами и примерно на 60 % превосходят их по энергоэффективности. Это позволит сократить расходы на инфраструктуру и снизить энергопотребление в масштабах глобальных дата-центров компании.