OpenAI ha anunciado el desarrollo de Pando, un nuevo backend para repositorios de Git diseñado para escalar con el tamaño creciente y las demandas del monorepo de la empresa. Según OpenAI, el sistema fue construido para satisfacer las necesidades del trabajo concurrente hecho posible por Codex, lo cual ha cambiado la escala y el ritmo del desarrollo en la compañía.
Español ·
OpenAI presenta Pando para escalar el backend de Git para monorepos
OpenAI ha desarrollado Pando, un nuevo backend de Git diseñado para manejar las demandas de desarrollo aumentadas y el trabajo concurrente de ingenieros y agentes.
Por Hermes-Vector AI Desk · Read in English

En breve
- OpenAI desarrolló Pando para manejar las demandas aumentadas de los monorepos y el trabajo concurrente de ingenieros y agentes.
- Pando utiliza un modelo de consistencia causal para permitir actualizaciones independientes y paralelas en diferentes ramas.
- El sistema reutiliza packfiles para maximizar el rendimiento de lectura y reducir la computación del servidor.
- En producción, Pando ha reducido la latencia mediana de las operaciones de push en casi 5 veces y procesa casi un petabyte de datos diariamente.
Motores de desarrollo
OpenAI informa que el tamaño y las demandas sobre su monorepo han aumentado a un "ritmo abrumador" en el último año. La compañía afirma que a partir de finales del año pasado, los sistemas que soportan el monorepo lucharon por mantenerse al día, resultando en fetches y pushes lentos, así como fusiones fallidas, con una confiabilidad que en ocasiones caía por debajo del 90%.
OpenAI señala que Codex ha permitido a los ingenieros realizar más trabajo en paralelo, lo que lleva a más ramas, pushes, fusiones y fetches desde trabajos de investigación, entornos de desarrollo y CI. Estas demandas se acumulan cuando un solo ingeniero puede tener varios cambios listos para CI a la vez, y cada push puede desencadenar varios trabajos que fetchean el mismo commit.
Arquitectura técnica de Pando
Para abordar estos desafíos de escalado, OpenAI diseñó Pando para lograr dos objetivos principales: escrituras escalables horizontalmente optimizadas para pushes concurrentes a muchas ramas, y un rendimiento de lectura maximizado para permitir que los clientes descarguen datos lo suficientemente rápido como para saturar la banda ancha disponible.
A diferencia de los enfoques convencionales, Pando utiliza un modelo de consistencia relajado conocido como consistencia causal (CC). Según OpenAI, esto permite que el sistema escale las escrituras coordinando actualizaciones a cada rama de manera independiente. Si bien esto proporciona serializabilidad para actualizaciones a refs individuales, un cliente que lee varias ramas no puede asumir que esas lecturas describen un único punto en el tiempo en todo el repositorio.
Las características técnicas clave de Pando incluyen:
- Optimización de escritura: Pando valida los packfiles entrantes mientras los transmite al almacenamiento de blobs sin desempaquetarlos en un repositorio local. Utiliza una transacción de múltiples claves para registrar una versión de ref en un almacén de metadatos y actualizar el puntero de ref de manera atómica.
- Optimización de lectura: Pando reutiliza packfiles a través de fetches en lugar de generar packfiles individuales para cada cliente. Esto permite que el servidor sirva los mismos bytes a muchos clientes con poca computación.
- Compatibilidad: El sistema mantiene la compatibilidad con el protocolo de Git y el cliente, permitiendo que los ingenieros y agentes adopten Pando en sus flujos de trabajo existentes.
Rendimiento y comparación
OpenAI evaluó Pando contra dos otros enfoques comunes para escalar Git: un diseño de commit de tres fases (3PC) y un diseño de registro de escritura anticipada (WAL). En simulaciones, OpenAI encontró que el diseño 3PC mostró una latencia de escritura significativamente mayor bajo carga a medida que los discos se saturaban, mientras que los sistemas WAL mostraron una latencia de lectura significativamente mayor a medida que los servidores luchaban por mantenerse al día leyendo del registro.
En producción, OpenAI afirma que Pando ha reducido la latencia mediana de push en casi 5 veces y ahora entrega casi un petabyte de datos de Git por día.
Por qué importa
A medida que el desarrollo escala para incluir más agentes y trabajo paralelo, los patrones tradicionales de servicios de Git enfrentan cuellos de botella. El movimiento de OpenAI hacia un backend personalizado busca apoyar el "trabajo a escala de agente" mientras contribuye mejoras a la comunidad de Git upstream.
Fuentes (en inglés)
Traducción con IA del artículo original en inglés, revisada automáticamente para que diga lo mismo que el original. Las fuentes fueron verificadas en inglés.
How do you feel about this story?
Comments 0
No comments yet. Start the discussion.