OpenAI ha creado Pando, un nuevo backend para repositorios Git, para gestionar el mayor volumen de desarrollo en paralelo que Codex ha hecho posible. El sistema ya impulsa todo el desarrollo en el monorepo de la empresa y se implementó sin interrumpir el trabajo de ingeniería ni cambiar la forma en que el personal utiliza Git.

OpenAI afirma que Pando se diseñó para admitir inserciones simultáneas en distintas ramas y, al mismo tiempo, servir rápidamente los datos del repositorio a muchos lectores. En producción, ha reducido casi cinco veces la latencia mediana de las inserciones y entrega casi un petabyte de datos de Git cada día.

La empresa afirma que el aumento de la actividad de desarrollo trajo consigo más ramas, inserciones, fusiones, solicitudes de descarga y clones desde entornos de ingeniería, trabajos de investigación y CI. Sus sistemas anteriores para el monorepo empezaron a tener dificultades hacia finales del año pasado, con operaciones lentas, fusiones fallidas y una fiabilidad que en ocasiones cayó por debajo del 90%.

Pando mantiene la compatibilidad con el protocolo y el cliente de Git. Su diseño permite que las actualizaciones de ramas no relacionadas avancen de forma independiente y reutiliza los archivos pack almacenados en distintas solicitudes de descarga, en lugar de generar un archivo pack independiente para cada cliente. Esto puede hacer que un cliente descargue algunos objetos que ya tiene, pero reduce el cálculo necesario para servir los mismos datos a muchos lectores.

La arquitectura almacena los archivos pack entrantes en almacenamiento de blobs y registra las versiones de las ramas en un almacén de metadatos. Cuando se realiza una solicitud de descarga, Pando selecciona los archivos pack almacenados que necesita el cliente, mientras que un servicio independiente llamado Express los sirve a través de cachés regionales. OpenAI afirma que este enfoque evita que los servidores tengan que desempaquetar y volver a empaquetar los datos en repositorios locales para cada operación.

Pando utiliza consistencia causal, en lugar de ofrecer una vista única de un instante determinado de todas las ramas del repositorio. Las actualizaciones de una rama individual siguen siendo serializables, pero los clientes que leen varias ramas pueden verlas en distintos momentos. OpenAI afirma que esta compensación permite que las actualizaciones de ramas no relacionadas eviten competir por un punto de coordinación para todo el repositorio.

La empresa afirma que las simulaciones y las pruebas realizadas en su monorepo demostraron que Pando podía gestionar muchos miles de clientes simultáneos sin degradación del rendimiento bajo carga. OpenAI también planea seguir aportando mejoras a Git y señala que mantener la compatibilidad permite que los ingenieros y los agentes adopten el sistema mediante los flujos de trabajo existentes.

Fuentes: OpenAI News.