Google объявила, что портировала около 30 тыс. внутренних нагрузок на Arm-архитектуру и планирует перенести ещё порядка 70 тыс. Помогает ей в этом ИИ, но пока не слишком успешно. При этом целиком отказываться от x86-процессоров в пользу собственных Arm-чипов Axion компания пока не планирует. YouTube, Gmail и BigQuery уже работают как на системах с x86, так и c Arm. В процессе портирования приходится уделять внимание архитектурным различиям, таким как особенности работы с числами с плавающей запятой, параллелизм, платформенно-зависимые технологии и производительность.
Специалисты Google рассказали, что сначала они перенесли некоторые из ключевых задач, такие как F1, Spanner и Bigtable, используя стандартные методы разработки ПО с привлечением инженеров. Оказалось, что современные компиляторы и инструменты, такие как санитайзеры и фаззеры, избавили разработчиков от множества сюрпризов. Большая часть времени по факту ушла на исправление тестов, обновление сложных систем сборки и развёртывания, как правило, для самых старых и самых нагруженных сервисов, устранение проблем с массовым развёртыванием в рабочих средах и принятие мер по предотвращению дестабилизации критически важных систем.
30 тыс. приложений — это достаточно большой объём кода для того, чтобы задуматься об автоматизации задач. Поэтому компания создала новый мультиагентный ИИ-инструмент CogniPort для исправления ошибок сборки и тестирования. Он успешно справлялся с проблемами примерно в 30 % случаев и лучше всего — с исправлениями тестов, платформенно-зависимыми особенностями и особенностями представления данных. Эффективность не впечатляет, но Google предстоит портировать ещё десятки тысяч нагрузок. пакетов.
Кроме того, компания внедрила новую систему непрерывного мониторинга и развёртывания мультиархитектурных нагрузок CHAMP (Continuous Health Monitoring Platform), которая автоматически отбрасывает задачи, работа которых на Arm сопровождается проблемами вроде циклических сбоев или недостаточной производительности, для последующих отладки и профилирования. Чем больше будет запущено нагрузок, тем лучше Borg, управляющий кластерами внутри Google, сможет распределять задачи таким образом, чтобы эффективно использовать Arm-серверы.
Это позволит сэкономить затраты, поскольку по словам Google, системы на базе Axion обеспечивают на 65 % лучшее соотношение цены и производительности, чем экземпляры на базе x86, а также на 60 % более высокую энергоэффективность. Ранее Google, по неофициальным данным, высказывала недовольство показателем TCO последних поколений Intel Xeon. Возможно, это побудило компанию заняться созданием собственного процессора.
Первой на этот путь, тоже ради улучшения TCO, ступила Amazon, которая разработала уже четыре поколения Arm-процессоров Graviton. В прошлом году компания похвасталась, что у неё есть уже 2 млн этих чипов. Alibaba Cloud в 2021 году представила свой первый Arm-процессор Yitian 710. У Microsoft с прошлого года есть собственные Arm-чипы Cobalt 100, на которые также возложена часть внутренних нагрузок.
Наконец, Oracle два года назад сообщила о завершении миграции всех своих облачных сервисов на Arm, включая флагманскую СУБД. Oracle использует процессоры компании Ampere Computing, в которой она владела заметной долей до сделки с SoftBank. Все эти процессоры позволили Arm занять четверть рынка серверных CPU, однако решающую роль сыграло внедрение NVIDIA GB200/GB300. Arm также заключила стратегическое соглашение с Meta✴, чтобы помочь последней с оптимизацией ПО.
Источник:
