A Facebook új memóriakezelési módszere

A közösségi hálózatok fejlesztőcsapatának egyik tagja Facebook, Római Gushchin, javasolta a fejlesztői levelezőlistán egy sor Linux kernel javításokcélja a memóriakezelés javítása egy új memóriakezelő vezérlő bevezetésével - födém (födém memóriavezérlő).

födémelosztás egy memóriakezelő mechanizmus, amelyet a memória hatékonyabb lefoglalására és a jelentős töredezettség kiküszöbölésére terveztek. Ennek az algoritmusnak az alapja, hogy tárolja a lefoglalt memóriát, amely egy bizonyos típusú objektumot tartalmaz, és ezt a memóriát újra felhasználja, amikor legközelebb lefoglalja egy azonos típusú objektumhoz. Ezt a technikát először Jeff Bonwick vezette be a SunOS rendszerben, és ma már széles körben használják számos Unix operációs rendszer kernelében, beleértve a FreeBSD-t és a Linuxot is.

Az új vezérlő alapja a födém-elszámolás a memórialap-szintről a kernelobjektum-szintre való áthelyezésén alapul, ami lehetővé teszi egy födémoldal megosztását különböző cgroupokban, ahelyett, hogy minden egyes c-csoporthoz külön gyorsítótárat rendelne.

A teszteredmények alapján az következik, hogy a javasolt memóriakezelési módszer lehetővé teszi a bővítést hatékonyság födém segítségével A 45%, és csökkenti az operációs rendszer kernel teljes memóriafogyasztását is. Ezenkívül a födémhez kiosztott oldalak számának csökkentésével csökken a memória töredezettsége összességében, ami csak befolyásolja a rendszer teljesítményét.

Az új vezérlőt több hónapja tesztelték éles Facebook-szervereken, és ez a tesztelés eddig sikeresnek mondható: teljesítménycsökkenés és hibaszám növekedés nélkül a memóriafelhasználás egyértelmű csökkenése volt megfigyelhető - egyes esetekben szerverek akár 1 GB-ig. Ez a szám meglehetősen szubjektív, például a korábbi tesztek valamivel alacsonyabb eredményeket mutattak:

  • 650-700 MB a webes felületen
  • 750-800 MB adatbázis-gyorsítótárral rendelkező szerveren
  • 700 MB a DNS-kiszolgálón

>>> A szerző oldala a GitHubon


>>> Korai teszteredmények

Forrás: linux.org.ru

Hozzászólás