Nova metoda upravljanja memorijom od Facebooka

Jedan od članova tima za razvoj društvene mreže Facebook, Roman Guščin, predložio je u e-poruci programera set zakrpa za Linux jezgro, usmjerenih na poboljšanje upravljanja memorijom kroz implementaciju novog kontrolera — slab (kontroler slab memorije).

Distribucija slab –– to je mehanizam upravljanja memorijom koji je osmišljen za efikasnije raspoređivanje memorije i smanjenje značajne fragmentacije. Osnova ovog algoritma je zadržavanje rezervirane memorije koja sadrži objekt određenog tipa i ponovna upotreba te memorije prilikom sljedeće alokacije objekta istog tipa. Ova metoda je prvi put uvedena u SunOS od strane Jeffa Bonwicka i danas se široko koristi u jezgrima mnogih Unix operativnih sistema, uključujući FreeBSD i Linux.

Osnova novog kontrolera leži u premještanju praćenja slab s nivoa stranica memorije na nivo objekata jezgra, što omogućava zajedničko korištenje jedne slab-stranice u različitim cgroup, umjesto odvajanja posebnog keša za svaku cgroup.

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

Novi kontroler se već nekoliko mjeseci testira na radnim serverima Facebook-a, i zasad se ovo testiranje može nazvati uspješnim: u odsustvu gubitaka u brzini i povećanju broja grešaka primijećeno je značajno smanjenje potrošnje memorije — na nekim serverima do 1GB. Ova brojka je prilično subjektivna, tako da su na primjer ranije provedena testiranja pokazala nešto manje rezultate:

  • 650-700 MB na web frontend-u
  • 750-800 MB na serveru s keširanjem baze podataka
  • 700 MB na DNS serveru

>>> Autorova stranica na GitHub-u


>>> Rezultati ranih testova

Izvor: linux.org.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster