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

Cloudflare Rust ve matematiksel optimizasyonla 100 TB bellek tasarrufu sağladı

Öne çıkanlar

  • Rust yapısının bayt dizisiyle yeniden yazılması tutarlı özetleme belleğini doğrudan yüzde 25 düşürdü.
  • Sunucu başına üretilen özet sayısı matematiksel modeller doğrultusunda yüzde 90 oranında azaltıldı.
  • Aşamalı dağıtım stratejisi sayesinde önbellek kaybı yaşanmadan 100 TB RAM başarıyla geri kazanıldı.

Cloudflare mühendisleri, dahili yük dengeleme servisi Pingora Backend Router üzerinde yaptıkları optimizasyonlarla küresel sunucu altyapısında 100 terabayttan fazla RAM geri kazandı. Şirketin açık kaynaklı tutarlı özetleme kütüphanesi pingora-ketama kaynaklı yüksek bellek kullanımını inceleyen ekip, bellek ayak izini düşürmek için veri yapılarını yeniden tasarladı ve sunucu başına düşen özet sayısını matematiksel analizlerle yeniden hesapladı.

İlk aşamada Rust veri yapısındaki bellek hizalama kısıtları aşıldı. Hash ve indeks verilerini tutan yapı, bayt dizisi formatına dönüştürülerek nesne boyutu 8 bayttan 6 bayta indirildi ve bu adım tek başına yüzde 25 bellek kazanımı sağladı. Matematiksel modellemeler ve simülasyonlar ise 32 bitlik özetlerde yüksek sayıda noktanın çakışma riskini artırdığını gösterdi. Ekip, dağıtım dengesinden ödün vermeden sunucu başına üretilen özet sayısını yüzde 90 oranında azalttı.

Önbellek geçersiz kılmalarının kaynak sunuculara yük bindirmesini önlemek amacıyla geçiş süreci aşamalı olarak yürütüldü. Servis, eski ve yeni özet halkalarını geçici bir süre birlikte çalıştırarak trafiği kademeli biçimde yeni yapıya yönlendirdi. Geçişin yüzde 100 seviyesine ulaşması ve eski yapıların devreden çıkarılmasıyla küresel çapta hedeflenen 100 terabaytlık bellek tasarrufuna ulaşıldı.

Kaynak

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