Nowa metoda zarządzania pamięcią od Facebooka

Członek zespołu rozwoju sieci społecznościowej Facebook, Roman Guščin, zaproponował w newsletterze deweloperów zestaw poprawek do jądra Linux, mających na celu usprawnienie zarządzania pamięcią poprzez wprowadzenie nowego kontrolera zarządzającego nią — slab (kontroler pamięci slab).

Przydzielanie slab — to mechanizm zarządzania pamięcią, mający na celu bardziej efektywne rozdzielanie pamięci i eliminację znaczącej fragmentacji. Podstawą tego algorytmu jest utrzymanie przydzielonej pamięci, zawierającej obiekt danego typu, oraz ponowne wykorzystanie tej pamięci przy następnym przydziale dla obiektu tego samego typu. Metoda ta została wprowadzona po raz pierwszy w SunOS przez Jeffa Bonwicka i jest obecnie szeroko stosowana w jądrze wielu systemów operacyjnych Unix, w tym FreeBSD i Linux.

Podstawą nowego kontrolera jest przeniesienie śledzenia slab z poziomu stron pamięci na poziom obiektów jądra, co umożliwia współdzielenie jednej strony slab w różnych cgroup, zamiast przydzielania oddzielnej pamięci podręcznej dla każdej z cgroup.

Z przeprowadzonych testów wynika, że zaproponowana metoda zarządzania pamięcią pozwala zwiększyć efektywność użytkowania slab do 45%, a także zmniejszyć całkowite zużycie pamięci przez jądro systemu operacyjnego. Zmniejszenie liczby przydzielanych stron slab redukuje również fragmentację pamięci jako całości, co nie może nie wpłynąć na wydajność systemu.

Nowy kontroler jest już testowany na produkcyjnych serwerach Facebooka od kilku miesięcy, a testy te można uznać za udane: przy braku strat w wydajności i wzroście liczby błędów zauważono wyraźne zmniejszenie zużycia pamięci — na niektórych serwerach nawet do 1 GB. Liczba ta jest dość subiektywna, tak, na przykład, wcześniej przeprowadzone testy wykazały nieco mniejsze wyniki:

  • 650-700 MB na froncie webowym
  • 750-800 MB na serwerze z pamięcią podręczną baz danych
  • 700 MB na serwerze DNS

>>> Strona autora na GitHubie


>>> Wyniki wcześniejszych testów

Źródło: linux.org.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster