Nova način upravljanja memorijom od Facebooka

Jedan od članova tima za razvoj društvene mreže Facebook, Roman Guščin, predložio je u mailing listi programera set od zakrpa za Linux kernel, usmjerenih na poboljšanje rada s memorijom kroz implementaciju novog kontrolera za upravljanje njome — slab (slab memory controller).

Raspodjela slab — mehanizam za upravljanje memorijom, osmišljen za učinkovitiju raspodjelu memorije i smanjenje značajne fragmentacije. Osnova ovog algoritma je zadržavanje dodijeljene memorije koja sadrži objekt određenog tipa, te ponovno korištenje te memorije za sljedeće dodjeljivanje objekta istog tipa. Ova metoda prvi put je uvedena u SunOS od Jeffa Bonvicka i trenutno se široko koristi u kernelima mnogih operativnih sustava Unix, uključujući FreeBSD i Linux.

Osnova novog kontrolera je premještanje evidencije slab s razine stranica memorije na razinu objekata kernel-a, što omogućuje zajedničko korištenje jedne slab-stranice u različitim cgroup-ima, umjesto dodjeljivanja posebnog kista za svaku cgroup.

Prema rezultatima ispitivanja, predložena metoda upravljanja memorijom omogućava povećanje učinkovitosti korištenja slab do 45%, a također smanjuje ukupnu potrošnju memorije od strane OS-a. Također, smanjenjem broja dodijeljenih slab stranica smanjuje se fragmentacija memorije u cjelini, što ne može ne utjecati na brzinu sustava.

Novi kontroler se već nekoliko mjeseci testira na radnim serverima Facebooka, a dosadašnje testiranje se može nazvati uspješnim: uz odsutnost gubitka u brzini i povećanja broja grešaka primijećeno je jasno smanjenje potrošnje memorije — na nekim serverima do 1GB. Ova brojka je prilično subjektivna, tako da su ranije provedena testiranja pokazala malo manje rezultate:

  • 650-700 MB na web frontendu
  • 750-800 MB na serveru za keš baze podataka
  • 700 MB na DNS serveru

>>> Stranica autora na GitHubu


>>> Rezultati ranih testova

Izvor: linux.org.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster