Facebooki uus mäluhaldusmeetod

Üks suhtlusvõrgustike arendusmeeskonna liikmetest Facebook, Roman Guštšin, pakuti arendaja meililistis komplekti Linuxi kerneli paigadmille eesmärk on parandada mäluhaldust uue mäluhalduskontrolleri juurutamise kaudu - plaat (plaadimälu kontroller).

plaadi jaotus on mäluhaldusmehhanism, mis on loodud mälu tõhusamaks eraldamiseks ja olulise killustatuse kõrvaldamiseks. Selle algoritmi aluseks on teatud tüüpi objekti sisaldava jaotatud mälu salvestamine ja selle taaskasutamine järgmisel korral, kui see sama tüüpi objekti jaoks eraldatakse. Seda tehnikat tutvustas SunOS-is esmakordselt Jeff Bonwick ja seda kasutatakse nüüd laialdaselt paljude Unixi operatsioonisüsteemide, sealhulgas FreeBSD ja Linuxi tuumades.

Uus kontroller põhineb plaadiarvestuse liigutamisel mälulehe tasemelt kerneli objekti tasemele, mis võimaldab jagada ühte plaadilehte erinevates cgruppides, selle asemel et eraldada igale cgrupile eraldi vahemälu.

Testitulemuste põhjal järeldub, et pakutud mäluhaldusmeetod võimaldab suurendada tõhusus plaati kasutades kuni 45%ja vähendab ka OS-i tuuma üldist mälutarbimist. Samuti väheneb plaatide jaoks eraldatud lehtede arvu vähendamine mälu killustatust tervikuna, mis ei saa muud kui süsteemi jõudlust mõjutada.

Uut kontrollerit on mitu kuud testitud Facebooki tootmisserverites ja seni võib seda testimist nimetada edukaks: ilma jõudluse vähenemise ja vigade arvu suurenemiseta on märgata selget mälutarbimise vähenemist – mõnel serverid kuni 1 GB. See arv on üsna subjektiivne, näiteks näitasid varasemad testid veidi madalamaid tulemusi:

  • 650–700 MB veebiliideses
  • 750-800 MB andmebaasi vahemäluga serveris
  • 700 MB DNS-serveris

>>> Autori leht GitHubis


>>> Varased testi tulemused

Allikas: linux.org.ru

Lisa kommentaar