Google ha dado un significativo avance en el ámbito de la computación al implementar su estrategia multi-arquitectura con el lanzamiento de los procesadores Axion, sus primeros CPUs Arm diseñados a medida. Este desarrollo permite que decenas de miles de aplicaciones internas se compilen y ejecuten simultáneamente en x86 y ARM dentro de sus clústeres de producción. Este no es un simple experimento; servicios como YouTube, Gmail y BigQuery ya operan sobre ambas arquitecturas, con un uso intensivo del hardware Arm y se espera un incremento mensual en el despliegue de servidores.
La motivación detrás de este cambio es clara. Según la compañía, las instancias basadas en Axion ofrecen un 65 % de mejora en precio-rendimiento y hasta un 60 % más de eficiencia energética en comparación con instancias similares en Google Cloud. En términos de centros de datos, esto se traduce en una reducción significativa en los costos energéticos y una mayor capacidad operativa por vatio, beneficiando a clientes y servicios internos.
Contrario a lo que se podría esperar, el mayor desafío en la migración multi-arquitectura no radicó en las diferencias fundamentales de ISA, como la concurrencia o los operadores específicos, sino en aspectos más prácticos. Problemas surgieron en tests sobreajustados a x86, sistemas de construcción antiguos y configuraciones de despliegue tradicionales que no comprendían la coexistencia de ISAs.
Para abordar estos desafíos de manera eficiente, Google ha implementado un enfoque automatizado. Herramientas como Rosie generan commits a gran escala, y CHAMP supervisa y ajusta automáticamente la ejecución de trabajos en múltiples arquitecturas para asegurar la estabilidad de los clústeres. Además, el uso de sanitizers y fuzzers permite detectar diferencias de ejecución entre x86 y Arm antes de alcanzar producción.
El proyecto ha dado lugar a 38.156 commits en el monorepo de Google, implicando más de 700.000 líneas de código modificadas, y se ha estructurado en tres fases: adaptaciones de herramientas y tests, cambios de código, y ajustes de configuración y procesos. La mayoría de estos cambios fueron de pequeña escala, enfocándose principalmente en archivos de configuración grandes.
Google también ha introducido CogniPort, un agente de IA diseñado para automatizar la migración restante. Este agente es capaz de intervenir cuando falla una compilación o un test, modificando archivos y scripts de construcción hasta lograr el objetivo deseado. En pruebas preliminares, CogniPort demostró ser efectivo en un 30 % de los casos sin necesidad de prompts adicionales.
El impacto de Axion y la migración multi-arquitectura es notable, proporcionando elasticidad al permitir la carga indistinta en x86 o Arm, aumentando la ocupación media de clústeres y reduciendo el costo efectivo de los servicios. Además, mejora la sostenibilidad con mayores eficiencias energéticas y ofrece a los desarrolladores una menor dependencia en la arquitectura de un proveedor en particular.
Para los clientes de Google Cloud, este avance significa más opciones de instancia con mejor rendimiento-precio y eficiencia. Además, proporciona una guía práctica sobre cómo las grandes organizaciones pueden abordar migraciones similares mediante la automatización y el uso de IA.
En definitiva, Google pretende avanzar hacia una política de “multiarch por defecto” para nuevas aplicaciones, utilizando la automatización para completar la migración de aplicaciones pendientes, marcando así un cambio hacia la neutralidad de arquitectura en sus servicios en producción. La experiencia sugiere que el enfoque hacia las pruebas, construcciones y pipelines es vital para el éxito de una migración a gran escala, donde la IA generativa desempeña un papel crucial.
