Ana içeriğe geç
Programlama

BitBison eBPF çekirdek işlemlerinin çok çekirdekli sistemlerdeki maliyetini ölçtü

Öne çıkanlar

  • fentry ile doğrudan bellek okuması, BPF_CORE_READ yardımcısına göre yaklaşık 12 kat daha hızlı çalışıyor.
  • eBPF harita okumaları RCU sayesinde 9 çekirdeğe kadar sabit kalırken upsert işlemleri kilit çekişmesiyle yükseliyor.
  • Sistem çağrılarında zaman damgası almak bpf_ktime_get_ns çağrısı başına yaklaşık 60 nanosaniye ek yük getiriyor.

BitBison ekibi, Linux çekirdeğinde çalışan eBPF mekanizmalarının işlemci çekirdekleri genelindeki performans maliyetlerini inceledi. Araştırma, kanca (hook) türleri, çekirdek veri yapılarına erişim yöntemleri, haritalar (maps) ve halka arabellekleri (ring buffers) gibi temel bileşenlerin gecikme sürelerini somut verilerle ortaya koydu. Analiz, tek çekirdekteki performansa kıyasla çok çekirdekli sistemlerde kilit çekişmesi ve senkronizasyon kaynaklı darboğazların arttığını gösterdi.

Ölçümler, BTF destekli fentry kancalarının eski kprobe ve tracepoint mekanizmalarına göre daha az ek yük oluşturduğunu belgeledi. Çekirdek veri yapılarının taranmasında ise fentry ile doğrudan bellek başvurusu yapmak, BPF_CORE_READ yardımcısına kıyasla yaklaşık 12 kat daha hızlı sonuç verdi. Bu farkın, BPF_CORE_READ yönteminin her işaretçi atlamasında ayrı bir çekirdek fonksiyon çağrısı yapmasından ve yığın üzerinde aralık denetimi gerçekleştirmesinden kaynaklandığı aktarıldı.

Harita operasyonlarında okuma işlemleri RCU sayesinde çekirdek sayısı arttığında bile kararlı kalırken, upsert güncellemelerinin maliyeti 9 çekirdeğe ulaşıldığında kilit çekişmesi yüzünden ciddi artış gösterdi. Benzer şekilde kullanıcı alanına veri aktaran halka arabelleklerinde erken bildirim bayraklarının çekirdekler arası kesme mekanizmaları nedeniyle gecikmeyi yükselttiği tespit edildi. BitBison, yüksek performans için upsert işlemlerinden kaçınılmasını ve mümkün olan yerlerde dizi türü haritaların seçilmesini önerdi.

Kaynak

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