OpenAI, şirketin geliştiricileri ve yapay zeka ajanları tarafından üretilen kod taahhütlerindeki (commit) hızlı büyüme ile başa çıkmak ve şirketin devasa merkezi kurumsal depertmanını (monorepo) desteklemek amacıyla özel olarak tasarlanan Pando adlı yeni bir Git backend sisteminin geliştirme detaylarını açıkladı. Şirket, üç aylık taahhüt sayısının 2024'ün ilk çeyreğine kıyasla %2.400'den fazla arttığını belirtti.
Yeni sistem, push işlemlerinin yanıt süresini yaklaşık beş kat azaltırken, sistem şu anda günlük olarak yaklaşık bir petabayt Git verisini işliyor. Rust dili kullanılarak 10 hafta süren ve büyük bir kısmı Codex ajanları tarafından programlanan geliştirme sürecinde OpenAI, Anthropic gibi diğer şirketlerin yaptığı gibi sıfırdan tamamen yeni bir istemci sistemi ve yazılım mimarisi oluşturmak yerine standart Git standardıyla uyumluluğu korumaya karar verdi.
Yeni Pando Sistemi Nasıl Çalışıyor?
Pando, geleneksel Git sunucularındaki dar boğazların üstesinden, geleneksel sunucuların zorunlu kabul ettiği iki temel varsayımı ortadan kaldırarak geliyor; deponun tüm dalları için aynı anda tutarlı bir durumu korumuyor ve fetch işlemleri sırasında her istemci için özel paket dosyaları (packfiles) oluşturmuyor.
- Kapsamlı koordinasyonun kaldırılması: Sistem her dalı bağımsız olarak ele alır, böylece ilişkili olmayan dallardaki push işlemlerinin diğer dallardaki güncellemeler nedeniyle beklemek zorunda kalmasını önler.
- Anında doğrulama ve önbellekleme: Sistem, paket dosyalarını yerel olarak ayrıştırmadan bulut depolamaya aktarılırken doğrular; bu sırada Express adı verilen bir önbellekleme servisi, paketleri %99'un üzerindeki bir başarı oranıyla ağ üzerinden sunar.
- Backend birleştirme (Compaction): Backend sunucuları, günlük tabanlı yapılandırılmış veri tabanlarına benzer bir şekilde, zamanla küçük paketleri kademeli olarak daha büyük paketlerde birleştirir.
Açık Katkılar ve Sınırlamalar
OpenAI, dahili Pando sisteminin yanı sıra, orijinal Git istemcisindeki eşzamanlı paket yükleme ve kesintili aktarımları devam ettirme ile ilgili çeşitli kusurları düzeltmek zorunda kaldı. Bu düzeltmelerin ve paralel indeksleme gibi diğer eklemelerin bazılarını açık kaynaklı projeye gönderirken, Pando backend sistemi şu anda kapalı kaynaklı kalmaya devam ediyor.