OpenAI'da Git'i ölçeklendirmek
🔗 Ayrıca yazanlar: twitter.com
Özgün başlık: Scaling Git at OpenAI
Geçtiğimiz yıl monorepomuzun boyutu ve talepleri şaşırtıcı bir hızla arttı. Codex'ın mümkün kıldığı eşzamanlı çalışma düzeyine ölçeklendirmek için kaynak kontrol sistemimizi yenilememiz gerektiği açıktı. Git depoları için yeni bir arka uç olan Pando'yu hiçbir mühendislik çalışmasını kesintiye uğratmadan veya ekibimizin Git'i kullanma biçimini değiştirmeden oluşturduk. Pando artık OpenAI'in monorepo'sundaki tüm geliştirmelere güç veriyor. Pando iki iddialı hedefi karşılamak üzere tasarlandı: Birincisi, yatay olarak ölçeklenebilir yazmalar, birçok şubeye eş zamanlı gönderimler için optimize edilmiş yazmalar.
İkincisi, okuma verimini en üst düzeye çıkarın; böylece istemciler, mevcut ağ bant genişliklerini tamamen doyuracak kadar hızlı veri indirebilirler. Git protokolü ve istemciyle uyumluluğu koruyarak bu hedeflere ulaştık ve hem mühendislerimizin hem de temsilcilerimizin Pando'yu mevcut iş akışlarına sorunsuz bir şekilde uyarlamalarına olanak sağladık.
Over the past year, the size and demands on our monorepo have increased at a staggering pace. It was clear that we needed to revamp our source control system to scale to the level of concurrent work that Codex makes possible. We built Pando, a new backend for Git repositories, without interrupting any engineering work or changing how our team uses Git. Pando now powers all development in OpenAI’s monorepo. Pando is designed to meet two ambitious goals: first, horizontally scalable writes, optimized for concurrent pushes to many branches.
And second, maximize read throughput, so clients can download data fast enough to fully saturate their available network bandwidth. We met these goals while retaining compatibility with the Git protocol and client, enabling both our engineers and agents to seamlessly adopt Pando into their existing workflows.
Durante el año pasado, el tamaño y las demandas de nuestro monorepo aumentaron a un ritmo asombroso. Estaba claro que necesitábamos renovar nuestro sistema de control de fuente para escalarlo al nivel de trabajo simultáneo que Codex hace posible. Construimos Pando, un nuevo backend para repositorios de Git, sin interrumpir ningún trabajo de ingeniería ni cambiar la forma en que nuestro equipo usa Git. Pando ahora impulsa todo el desarrollo en el monorepo de OpenAI. Pando está diseñado para cumplir dos objetivos ambiciosos: primero, escrituras escalables horizontalmente, optimizadas para envíos simultáneos a muchas ramas.
Y en segundo lugar, maximizar el rendimiento de lectura, de modo que los clientes puedan descargar datos lo suficientemente rápido como para saturar completamente el ancho de banda de su red disponible. Cumplimos estos objetivos manteniendo la compatibilidad con el protocolo y el cliente de Git, lo que permitió a nuestros ingenieros y agentes adoptar Pando sin problemas en sus flujos de trabajo existentes.
За последний год размер и требования к нашему монорепозиторию выросли ошеломляющими темпами. Было ясно, что нам нужно обновить нашу систему контроля версий, чтобы она масштабировалась до уровня параллельной работы, который возможен Codex. Мы создали Pando, новый бэкэнд для репозиториев Git, не прерывая никаких инженерных работ и не меняя то, как наша команда использует Git. Pando теперь обеспечивает всю разработку в монорепозитории OpenAI. Pando создан для достижения двух амбициозных целей: во-первых, горизонтально масштабируемая запись, оптимизированная для одновременной отправки во множество ветвей.
Во-вторых, максимизируйте пропускную способность чтения, чтобы клиенты могли загружать данные достаточно быстро, чтобы полностью заполнить доступную пропускную способность сети. Мы достигли этих целей, сохранив при этом совместимость с протоколом и клиентом Git, что позволило нашим инженерам и агентам легко внедрить Pando в свои существующие рабочие процессы.