Mistral AI mühendisleri, vLLM'deki bellek sızıntısının gerçek nedenini BPFtrace kullanarak keşfetti
Mistral
Mistral AI mühendisleri, Mistral Medium 3.1 ile ayrıştırılmış sunum sırasında vLLM'de bir bellek sızıntısını araştırdı. Python araçları, Heaptrack ve BPFtrace kullandıktan sonra sızıntının, glibc'nin syscall sarmalayıcısı aracılığıyla yapılan doğrudan mmap çağrılarından kaynaklandığını, yığın ayırmalarından kaynaklanmadığını buldular.
Mistral AI ekibi, üretim öncesi testlerde sınır modeli Mistral Medium 3.1 ile ayrıştırılmış sunum yaparken vLLM'de şüphelenilen bir bellek sızıntısını araştırdı. Sızıntı, belirli koşullar altında (vLLM, Mistral Medium 3.1 ve grafik derleme etkinken, yalnızca NIXL kullanılan Ön Doldurma/Çözme ayrıştırılmış düzeneğinin çözme tarafında) sistem belleğinde dakikada sabit 400 MB'lık bir artış olarak kendini gösterdi. Memray ve Guppy 3 gibi ilk Python araçları sızıntı göstermedi; Heaptrack ise yalnızca en yüksek RSS farkını ortaya çıkardı. /proc/<pid>/maps'i izlemek için pmap kullanarak, adresleri değişen, mremap veya tekrarlanan mmap/munmap döngüleri karakteristiğindeki büyüyen anonim bellek eşlemelerini gözlemlediler. Kesin nedeni belirlemek için sistem çağrılarını izlemek üzere BPFtrace kullandılar ve tahsislerin glibc'nin syscall sarıcısı (syscall+29) aracılığıyla doğrudan mmap çağrılarıyla yapıldığını ortaya çıkardılar. Bu, sızıntının yığın yönetiminin dışında olduğunu ve tanımlanması için düşük seviyeli izleme gerektiğini gösterdi.
Kaynak: Mistral AI —
orijinal
