Mistral AI:n insinöörit paljastavat vLLM-muistivuodon todellisen syyn BPFtracean avulla
Mistral
Mistral AI:n insinöörit tutkivat vLLM:n muistivuotoa hajautetussa palvelussa Mistral Medium 3.1 -mallin kanssa. Python-työkalujen, Heaptrackin ja BPFtracean käytön jälkeen he havaitsivat, että vuoto johtui suorista mmap-kutsuista glibc:n syscall-kääreen kautta, eikä keon allokoinneista.
Mistral AI -tiimi tutki epäiltyä muistivuotoa vLLM:ssä esituotannon testauksessa, kun he käyttivät hajautettua palvelua lippulaivamallinsa Mistral Medium 3.1 kanssa. Vuoto ilmeni tasaisena 400 megatavun minuuttikohtaisena järjestelmämuistin kasvuna tietyissä olosuhteissa: vLLM:n, Mistral Medium 3.1:n ja graafikäännöksen ollessa käytössä, vain Prefill/Decode-hajautetun asetelman dekoodauspuolella NIXL:llä. Alustavat Python-työkalut, kuten Memray ja Guppy 3, eivät paljastaneet vuotoa, ja Heaptrack osoitti vain huippumuistinkäytön eroa. Käyttämällä pmap-komentoa /proc/<pid>/maps-tiedoston seurantaan he havaitsivat kasvavia anonyymejä muistialueita, joiden osoitteet vaihtelivat, mikä on tyypillistä mremap- tai toistuville mmap/munmap-sykleille. Tarkan syyn selvittämiseksi he käyttivät BPFtracea järjestelmäkutujen jäljittämiseen, mikä paljasti, että allokaatiot tehtiin suorilla mmap-kutsuilla glibcin syscall-kuorifunktion (syscall+29) kautta. Tämä osoitti, että vuoto tapahtui keonhallinnan ulkopuolella, ja sen tunnistaminen vaati matalan tason jäljitystä.
Lähde: Mistral AI —
Alkuperäinen
