OpenAI a dévoilé les détails du développement d'un nouveau système dorsal Git appelé Pando, conçu spécifiquement pour prendre en charge le gigantesque monorepo de l'entreprise et faire face à la croissance fulgurante des commits de code générés par les développeurs et les agents d'intelligence artificielle de l'entreprise. L'entreprise a indiqué que le nombre de commits trimestriels a augmenté de plus de 2 400 % par rapport au premier trimestre de 2024.
Le nouveau système a réduit le temps de latence des opérations de push (pushes) d'environ cinq fois, tandis que le système traite actuellement près d'un pétaoctet de données Git par jour. Au cours du processus de développement, qui a duré 10 semaines en utilisant le langage Rust et dont une grande partie a été programmée par des agents Codex, OpenAI a décidé de maintenir la compatibilité avec la norme Git standard au lieu de construire un système client et une architecture logicielle entièrement nouveaux à partir de zéro comme l'ont fait d'autres entreprises telles qu'Anthropic.
Comment fonctionne le nouveau système Pando ?
Pando surmonte les goulots d'étranglement traditionnels des serveurs Git en rejetant deux hypothèses fondamentales que les serveurs traditionnels considèrent comme obligatoires : il ne maintient pas un état cohérent de toutes les branches du dépôt en même temps, et il ne crée pas de fichiers d'emballage personnalisés (packfiles) pour chaque client individuellement lors des opérations de fetch (fetches).
- Suppression de la coordination globale : Le système traite chaque branche de manière indépendante, empêchant les pushs sur des branches non reliées d'attendre en raison de mises à jour sur d'autres branches.
- Vérification instantanée et mise en cache : Le système vérifie les fichiers d'emballage pendant leur diffusion vers le stockage cloud sans les décompresser localement, tandis qu'un service de mise en cache appelé Express se charge de délivrer les paquets sur le réseau avec un taux de réussite supérieur à 99 %.
- Fusion en arrière-plan (Compaction) : Les serveurs d'arrière-plan fusionnent progressivement les petits paquets en paquets plus grands au fil du temps d'une manière similaire aux bases de données structurées par journaux.
Contributions et limitations open source
Parallèlement au système interne Pando, OpenAI a dû corriger plusieurs bogues dans le client Git d'origine liés au téléchargement simultané de paquets et à la reprise de transferts interrompus, en soumettant certaines de ces corrections et d'autres ajouts tels que l'indexation parallèle au projet open source, tandis que le système dorsal Pando reste fermé pour le moment.