← Últimos artigos
🤖 AI

AI-PROPELLER: Warehouse-Scale Interprocedural Code Layout Optimization with AlphaEvolve

A AI-PROPELLER introduz um fluxo de trabalho de agentes chamado Magellan, que evolui o otimizador pós-link da Propeller para alcançar a primeira otimização bem-sucedida de layout de código interprocedural de granularidade fina para aplicações de grande escala de armazém, gerando melhorias de desempenho de 0,23% a 1,6% ao alavancar a execução em hardware real para sinais de recompensa precisos.

Autores originais: Chaitanya Mamatha Ananda, Rajiv Gupta, Mircea Trofin, Aiden Grossman, Sriraman Tallam, Xinliang David Li, Amir Yazdanbakhsh

Publicado 2026-06-02
📖 5 min de leitura🧠 Leitura aprofundada

Autores originais: Chaitanya Mamatha Ananda, Rajiv Gupta, Mircea Trofin, Aiden Grossman, Sriraman Tallam, Xinliang David Li, Amir Yazdanbakhsh

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine que você tem uma biblioteca massiva e incrivelmente complexa (um programa de computador) com milhões de livros (funções) e bilhões de páginas (instruções de código). Durante anos, bibliotecários (otimizadores) tentaram organizar os livros nas prateleiras para torná-los mais fáceis de encontrar.

A maneira antiga de fazer isso era como organizar uma única estante de cada vez. Se você tivesse um livro com 100 capítulos, o bibliotecário rearranjaria esses capítulos para que os mais populares ficassem próximos uns dos outros. Isso é chamado de otimização intraprocedural. Isso ajudava, mas perdia uma enorme oportunidade: o capítulo mais popular do Livro A poderia ser seguido imediatamente pelo capítulo mais popular do Livro B. Se esses dois livros estivessem em lados opostos da biblioteca, o leitor (o processador do computador) teria que atravessar a sala inteira para virar a página, desperdiçando tempo e energia.

AI-PROPELLER é um novo sistema de bibliotecário superinteligente que resolve isso ao rearranjar a biblioteca inteira de uma só vez, não apenas uma estante por vez.

Veja como funciona, dividido em conceitos simples:

1. O Problema: O Pesadelo "Combinatório"

Rearranjar um livro é difícil. Rearranjar milhões de livros para que cada página popular esteja ao lado da página que vem depois dela (mesmo que essa página esteja em um livro diferente) é um problema matemático tão grande que cérebros humanos e computadores tradicionais não conseguem resolver. É como tentar encontrar o arranjo de assentos perfeito para um estádio de 100.000 pessoas, onde todos querem sentar ao lado de seu melhor amigo, mas os amigos estão espalhados por diferentes seções.

Além disso, os antigos bibliotecários usavam "suposições" (modelos estáticos) para decidir onde colocar as coisas. Eles não testavam o arranjo; eles apenas calculavam o que deveria funcionar.

2. A Solução: O "Agente de IA" (Magellan)

Os pesquisadores usaram um sistema chamado Magellan, que atua como uma equipe de robôs experimentais incansáveis. Esta equipe tem dois trabalhadores principais:

  • O Arquiteto (AlphaEvolve): Uma IA que escreve e reescreve as regras de como organizar os livros. Ela testa novas ideias, como: "E se dividirmos o Livro A em três partes e colocarmos a parte do meio ao lado do Livro B?"
  • O Ajustador (Vizier): Uma ferramenta que refina os números específicos dessas regras (como "quão longe os livros podem estar?").

3. O Ingrediente Secreto: Testes no Mundo Real (Sem Suposições)

Esta é a parte mais importante. Em vez de a IA apenas supor se um novo arranjo é bom, o sistema realmente constrói a biblioteca e a testa.

  • A IA cria um novo arranjo do código.
  • Ela compila o programa em um binário real e funcional (como construir uma nova versão do software).
  • Ela executa essa nova versão em hardware real.
  • Ela mede exatamente o quão rápido ela roda usando contadores de desempenho reais (como um cronômetro e um medidor de combustível).

Isso fornece um "sinal de recompensa" para a IA. Se o novo arranjo for mais rápido, a IA ganha uma estrela de ouro e aprende a fazer mais disso. Se for mais lento, ela aprende a evitar esse erro. Como testaram isso em hardware real em um ambiente controlado, os resultados são incrivelmente precisos, não apenas teóricos.

4. Os Resultados: Ganhos Pequenos, Impacto Gigantesco

O artigo testou isso em softwares massivos e reais, incluindo o compilador LLVM Clang (uma ferramenta usada para construir outros softwares) e um gigante serviço de Busca do Google.

  • O Compilador Clang: O novo sistema o tornou 1,6% mais rápido.
  • O Serviço de Busca do Google: Tornou o serviço de busca 0,23% mais rápido.

Você pode pensar: "0,23% não é nada!". Mas no mundo dos enormes data centers, isso é como encontrar uma mina de ouro escondida. Se você economizar 0,23% de tempo em bilhões de buscas todos os dias, você economiza milhões de dólares em eletricidade e custos de servidor. É a diferença entre um corredor terminar uma corrida em 9,58 segundos versus 9,56 segundos — uma fração minúscula que separa um recorde mundial do segundo lugar.

5. Como Funciona de Verdade (O Truque da "Divisão")

O artigo destaca um truque específico que a IA descobriu.

  • Jeito Antigo: Se uma função (um pedaço de código) tem uma parte "quente" (frequentemente usada) e uma parte "fria" (raramente usada), o sistema antigo dividiria a função em duas: Quente em uma prateleira, Fria em outra.
  • Jeito AI-PROPELLER: A IA percebeu que, às vezes, uma função precisa ser dividida em três ou mais partes. Ela descobriu que um pedaço "quente" específico da Função A deveria ser colocado logo ao lado de um pedaço "quente" da Função B, mesmo que eles estivessem em arquivos diferentes. Ela essencialmente corta o código em peças de quebra-cabeça minúsculas e precisas e as remonta para que as peças mais usadas estejam sempre se tocando, independentemente de qual "livro" elas pertenciam originalmente.

Resumo

AI-PROPELLER é o primeiro sistema a usar com sucesso a IA para rearranjar o código interno de softwares de escala industrial massiva através de fronteiras de funções. Ele não apenas supõe; ele constrói, testa e aprende com o hardware real. Ao fazer isso, ele extrai desempenho extra (0,23% a 1,6%) de softwares que já eram considerados "perfeitamente otimizados", provando que mesmo em sistemas maduros, ainda há velocidade oculta esperando para ser encontrada se você olhar para o quadro geral, em vez de apenas para uma peça de cada vez.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →