A OpenAI revelou detalhes sobre o desenvolvimento de um novo sistema de backend para Git chamado Pando, projetado especificamente para dar suporte ao gigantesco repositório central da empresa (monorepo) e enfrentar o crescimento acelerado de commits de código gerados pelos desenvolvedores e agentes de inteligência artificial da empresa. A empresa explicou que o número de commits trimestrais aumentou em mais de 2.400% em comparação com o primeiro trimestre de 2024.
O novo sistema reduziu o tempo de resposta das operações de push em cerca de cinco vezes, enquanto atualmente processa quase um petabyte de dados do Git diariamente. Durante o processo de desenvolvimento, que levou 10 semanas usando a linguagem Rust com grande parte do código programada por agentes Codex, a OpenAI decidiu manter a compatibilidade com o padrão Git em vez de construir um sistema cliente e uma arquitetura de software totalmente novos do zero, como outras empresas fizeram, a exemplo da Anthropic.
Como funciona o novo sistema Pando?
O Pando supera os gargalos tradicionais dos servidores Git ao descartar duas premissas fundamentais que os servidores tradicionais consideram obrigatórias: ele não mantém um estado consistente para todos os branches do repositório ao mesmo tempo, nem cria arquivos de pacote (packfiles) personalizados para cada cliente individualmente durante as operações de fetch.
- Eliminação da coordenação global: O sistema lida com cada branch de forma independente, evitando que os pushes em branches não relacionados fiquem esperando devido a atualizações em outros branches.
- Verificação instantânea e cache: O sistema verifica os arquivos de pacote enquanto eles são transmitidos para o armazenamento em nuvem sem descompactá-los localmente, enquanto um serviço de cache chamado Express cuida de servir os pacotes pela rede com uma taxa de sucesso superior a 99%.
- Consolidação de backend (Compaction): Os servidores de backend fundem gradualmente pacotes pequenos em pacotes maiores ao longo do tempo de uma maneira semelhante a bancos de dados orientados a logs.
Contribuições e limitações de código aberto
Além do sistema interno Pando, a OpenAI teve que corrigir várias falhas no cliente nativo do Git relacionadas ao download concorrente de pacotes e à retomada de transferências interrompidas, enviando algumas dessas correções e outras adições, como indexação paralela, para o projeto de código aberto, enquanto o sistema de backend Pando permanece de código fechado por enquanto.