Back to top
  • 공유 Share
  • 인쇄 Print
  • 글자크기 Font size
URL copied.

Tek depoda 5.000 AI ajanı: GitHub saniyede 7.200 push test etti

AI tarafından oluşturulmuş görsel: Kod dallanma şemasının yer aldığı dizüstü bilgisayar ve bir çalışanın elleri / TokenPost.ai

GitHub, tek bir depoda aynı anda çalışan 5.000 AI ajanının bulunduğu koşullarda saniyede 7.200 push işlemini işlediği bir iç test gerçekleştirdi. Push, değiştirilen kodun uzak depoya gönderilmesi işlemidir. Şirket, test sırasında okuma isteklerini de düşük gecikmeyle işlediğini açıkladı.

GitHub, ayın 5'inde resmi teknik blogunda yeni Git depolama mimarisinin adını 'Rubicon' olarak duyurdu. Tasarım çalışmaları, Mayıs 2026'daki ilk Azure geçişinin hemen ardından başladı.

GitHub'ın paylaştığı örnekte, tek bir depodaki günlük ortalama istek sayısı Mart 2026'da 44 milyondan Mayıs'ta 181 milyona çıktı. Bu, yaklaşık dört katlık artış anlamına geliyor.

GitHub, en yoğun depoların bile kısa sürelerle saniyede onlarca yazma isteği aldığını belirtti. Ayın 5'inde yayımlanan teknik açıklamada, ajanların paralel ve sürekli çalışması halinde bu yoğunluğun önümüzdeki bir yıl içinde devamlı yazma talebine dönüşebileceği öngörüsüne yer verildi.

Push sayısı arttığında yalnızca yazma istekleri çoğalmıyor. Otomatik test ve dağıtım sistemleri yeni kodu alırken diğer ajanlar da çalışma bağlamı için güncel sürümü okuyor; böylece depodaki okuma istekleri de artıyor.

GitHub daha önce, birden fazla depodaki ajan çalışmalarını koordine eden Copilot Projects'i herkese açık ön izleme sürümüyle kullanıma sunmuştu. Bu teknik açıklama ise ajan çalışmalarını destekleyecek depolama sisteminin okuma ve yazma yapısına odaklanıyor.

Git, kod içeriğinin üzerine mevcut kayıtları yazmak yerine değişiklikleri yeni nesneler olarak saklıyor. Push sırasında ayrıca her dalın hangi sürümü gösterdiğini güncellemek gerekiyor.

Rubicon, kod verileriyle dal bilgilerini ayrı yerlerde yönetiyor. Kod veri paketleri Azure Blob Storage'da saklanırken dal bilgilerini ve kayıtlı paketlerin listesini ayrı bir hizmet olan Ref-CAS yönetiyor.

Ref-CAS, her işlemin değiştirmek istediği dalı kontrol edip güncelliyor. Farklı dallardaki değişiklikler eş zamanlı işlenebiliyor; iki işlem aynı dalı değiştirmeye çalıştığında ise çakışmanın giderilmesi gerekiyor.

Kod push edildiğinde sanal bir kopya önce yeni veri paketini işleyerek Blob Storage'a yüklüyor. Ardından Ref-CAS'e, veri paketi listesiyle dal bilgisini birlikte güncelleyen bir işlem kaydediyor.

Okuma isteği alan sanal kopya, Ref-CAS'ten dal bilgisinin sürümünü kontrol ediyor ve gereken veri paketlerini getiriyor. Sürüm değişmemişse tüm dal listesini yeniden almak yerine tek bir karşılaştırmayla isteği işleyebiliyor.

Okuma ve yazma işlemlerini yürüten sanal kopyalar, yeniden oluşturulabilen bir önbellek kullanıyor. GitHub, depoya gelen istekler yoğunlaştığında sanal kopya sayısının artırılabileceği bir yapı tasarladı.

Yeni push'larla veri paketleri çoğaldığında ayrı bir düğüm bu paketleri arka planda birleştiriyor. Sanal kopyaların işlem kaynakları bu temizlik işlerinden ayrılarak okuma ve yazma isteklerine yönlendiriliyor. Artık referans verilmeyen nesneleri temizleyen çöp toplama işlemini de özel çalışanlar yürütüyor.

GitHub ilk olarak tüm dal değişikliklerini tek bir kayıtta işleyen yöntemi denedi; bu yöntemle yazma kapasitesi saniyede yüzlerce işlemde kaldı. Kaydı birden fazla parçaya ayırmak yazma kapasitesini artırdı, ancak deponun değişip değişmediğini kontrol etmek için her parçaya bakılması gerektiğinden okumalar yavaşladı.

GitHub, yalnızca referans durumunun güncellenmesi bakımından yeni yöntemin saniyede on binlerce işlemi kaldırabildiğini açıkladı. Rubicon şu anda sınırlı ve özel bir test aşamasında; GitHub, uygulamanın kapsamını 2027'nin başlarında genişletmeyi planlıyor.

<Copyright ⓒ TokenPost, unauthorized reproduction and redistribution prohibited>

Most Popular

Other related articles

Comment 0

Comment tips

Great article. Requesting a follow-up. Excellent analysis.

0/1000

Comment tips

Great article. Requesting a follow-up. Excellent analysis.
1