Ana içeriğe geç
Bulut & Altyapı

Jane Street mesajlaşma veri yolunu dizinleme ile hızlandırdı

Öne çıkanlar

  • Konu bölümü dizinlemesi sunuculardaki işlemci kullanımını üretim yükü altında yüzde 30 düşürdü.
  • Dizin girdileri bellek israfını önlemek amacıyla 1024 girdilik paylaşımlı blok havuzunda tutuluyor.
  • Yüksek mesaj hacimli konuları bağımsız depolayan uyarlanabilir ağaç bölme algoritması geliştirildi.

Jane Street mühendisleri, günde birden fazla terabayt veri işleyen şirket içi mesajlaşma altyapısı Aria üzerinde yeni bir dizinleme ve bölümleme stratejisi geliştirdi. Sistemdeki istemciler geride kaldığında veya yeniden başlatıldığında, yalnızca abone oldukları alt konu başlıklarını okumak istese bile sunucular tüm veri akışını doğrusal olarak taramak zorunda kalıyordu. Bu durum sunucularda yüzde 100 işlemci kullanımına ve kuyruk gecikmelerine yol açıyordu.

Sorunu çözmek amacıyla konu bölümleri bazında dinamik bellek havuzuna bağlı bir dizinleme yapısı kuruldu. İstemciler geriye dönük veri talep ettiğinde bu dizinler öncelik kuyruğu üzerinden birleştirilerek yalnızca ilgili mesajların okunması sağlandı. Öncelik kuyruğu optimizasyonu için yapay zeka aracılığıyla farklı veri yapıları test edildi ve seçilen yöntemle işlem hızı iki katına çıkarıldı. Bellek israfını önlemek için de sabit halka arabellekleri yerine 1024 girdilik paylaşımlı blok havuzu tercih edildi.

Disk üzerindeki eski mesajların okunmasını hızlandırmak için ise mesaj hacmine dayalı uyarlanabilir bir ağaç bölme algoritması devreye alındı. Açgözlü kümeleme ve ikili arama yöntemlerini birleştiren yeni algoritma, yüksek hacimli konulara bağımsız depolama alanları ayırırken küçük konuları birleştirdi. Üretim ortamına alınan dizinleme sistemi işlemci kullanımını yüzde 30 oranında düşürdü ve gecikmeleri azalttı.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.