A OpenAI anunciou o desenvolvimento do Pando, um novo backend para repositórios Git projetado para escalar com o tamanho crescente e as demandas do monorepo da empresa. De acordo com a OpenAI, o sistema foi construído para atender às necessidades de trabalho concorrente possibilitado pelo Codex, que alterou a escala e o ritmo do desenvolvimento na empresa.
OpenAI apresenta o Pando para escalar o backend Git para monorepos
A OpenAI desenvolveu o Pando, um novo backend Git projetado para lidar com demandas de desenvolvimento aumentadas e trabalho concorrente de engenheiros e agentes.
Por Hermes-Vector AI Desk · Read in English

Em resumo
- A OpenAI desenvolveu o Pando para lidar com demandas aumentadas de monorepos e trabalho concorrente de engenheiros e agentes.
- O Pando utiliza um modelo de consistência causal para permitir atualizações independentes e paralelas em diferentes branches.
- O sistema reutiliza packfiles para maximizar a taxa de leitura e reduzir a computação do servidor.
- Em produção, o Pando reduziu a latência média de push em quase 5x e processa quase um petabyte de dados diariamente.
Motores de Desenvolvimento
A OpenAI relata que o tamanho e as demandas sobre seu monorepo aumentaram a um "ritmo avassalador" no último ano. A empresa afirma que, a partir de meados do ano passado, os sistemas que suportam o monorepo começaram a ter dificuldade em acompanhar, resultando em fetches e pushes lentos, bem como merges falhos, com a confiabilidade às vezes caindo abaixo de 90%.
A OpenAI observa que o Codex permitiu que os engenheiros fizessem mais trabalho em paralelo, levando a mais branches, pushes, merges e fetches de trabalhos de pesquisa, ambientes de desenvolvimento e CI. Essas demandas se acumulam quando um único engenheiro pode ter várias alterações prontas para o CI ao mesmo tempo, e cada push pode acionar vários trabalhos buscando o mesmo commit.
Arquitetura Técnica do Pando
Para abordar esses desafios de escalabilidade, a OpenAI projetou o Pando para alcançar dois objetivos principais: escritas horizontalmente escaláveis otimizadas para pushes concorrentes a muitas branches e maximização da taxa de leitura para permitir que os clientes baixem dados rápido o suficiente para saturar a largura de banda de rede disponível.
Ao contrário das abordagens convencionais, o Pando utiliza um modelo de consistência relaxado conhecido como consistência causal (CC). De acordo com a OpenAI, isso permite que o sistema escale as escritas coordenando atualizações para cada branch independentemente. Embora isso forneça serializabilidade para atualizações de refs individuais, um cliente lendo várias branches não pode assumir que essas leituras descrevem um único ponto no tempo em todo o repositório.
Os recursos técnicos principais do Pando incluem:
- Otimização de Escrita: O Pando valida os packfiles recebidos enquanto os transmite para o armazenamento de blobs sem descompactá-los em um repositório local. Ele usa uma transação multi-chave para registrar uma versão de ref em um armazenamento de metadados e atualizar o ponteiro de ref atomicamente.
- Otimização de Leitura: O Pando reutiliza packfiles entre fetches em vez de gerar packfiles individuais para cada cliente. Isso permite que o servidor sirva os mesmos bytes a muitos clientes com pouca computação.
- Compatibilidade: O sistema mantém a compatibilidade com o protocolo Git e o cliente, permitindo que engenheiros e agentes adotem o Pando em fluxos de trabalho existentes.
Desempenho e Comparação
A OpenAI avaliou o Pando contra duas outras abordagens comuns para escalar o Git: um design de commit de três fases (3PC) e um design de log de escrita antecipada (WAL). Em simulações, a OpenAI descobriu que o design 3PC mostrou latência de escrita significativamente maior sob carga conforme os discos saturavam, enquanto os sistemas WAL mostraram latência de leitura significativamente maior conforme os servidores lutavam para acompanhar a leitura do journal.
Em produção, a OpenAI afirma que o Pando cortou a latência média de push em quase 5x e agora entrega quase um petabyte de dados Git por dia.
Por que isso importa
À medida que o desenvolvimento escala para incluir mais agentes e trabalho paralelo, os padrões tradicionais de serviço Git enfrentam gargalos. A mudança da OpenAI para um backend personalizado visa suportar "trabalho em escala de agente" enquanto contribui melhorias para a comunidade Git upstream.
Fontes (em inglês)
Tradução feita com IA do artigo original em inglês, revisada automaticamente para dizer o mesmo que o original. As fontes foram verificadas em inglês.
How do you feel about this story?
Comments 0
No comments yet. Start the discussion.