TMO, mechanizm Facebooka, który oszczędza pamięć RAM na serwerach

Inżynierowie Facebooka ujawnieni, poprzez raport, wprowadzenie technologii TMO (Transparent Memory Offloading) w zeszłym roku, co pozwala na znaczne zaoszczędzenie pamięci RAM na serwerach przenosząc dane wtórne, które nie są wymagane do pracy na tańszych dyskach, takich jak dyski SSD NVMe.

Facebook szacuje, że TMO pozwala zaoszczędzić od 20% do 32% pamięci RAM na każdym serwerze. Rozwiązanie jest przeznaczone do użytku w infrastrukturach, w których aplikacje działają w izolowanych kontenerach. Składniki po stronie jądra TMO są już zawarte w jądrze Linuksa.

Po stronie jądra Linux operacja technologii jest dostarczany przez podsystem PSI (Informacje o przestoju ciśnieniowym), dostarczane od wersji 4.20.

PSI już używane w różnych sterownikach braku pamięci i pozwala na analizę informacji o czasie oczekiwania na uzyskanie różnych zasobów (procesor, pamięć, I/O). Dzięki PSI procesory przestrzeni użytkownika mogą dokładniej oceniać schematy obciążenia systemu i spowolnienia, umożliwiając wykrycie anomalii, zanim będą miały zauważalny wpływ na wydajność.

W przestrzeni użytkownika komponent Senpai uruchamia TMO, który dynamicznie dostosowuje limit pamięci dla kontenerów aplikacji za pośrednictwem cgroup2 na podstawie danych otrzymanych z PSI.

Senpai analizuje oznaki początku niedoboru zasobów przez PSI, ocenia wrażliwość aplikacji na wolny dostęp do pamięci i próbuje określić minimalny wymagany rozmiar pamięci dla kontenera, w którym dane wymagane do zadania pozostają w pamięci RAM, a powiązane dane, które znajdowały się w pamięci podręcznej plików lub nie są aktualnie bezpośrednio używane, są wypychane na partycję wymiany.

Transparent Memory Offload (TMO) to rozwiązanie Meta dla heterogenicznych środowisk centrów danych. Wprowadza nowy mechanizm jądra Linuksa, który w czasie rzeczywistym mierzy pracę utraconą z powodu niedoborów zasobów w procesorze, pamięci i we/wy. Kierując się tymi informacjami i bez wcześniejszej znajomości aplikacji, TMO automatycznie dostosowuje ilość pamięci do odciążenia heterogenicznego urządzenia, takiego jak pamięć skompresowana lub dysk SSD. Czyni to w oparciu o charakterystykę wydajności urządzenia i wrażliwość aplikacji na wolniejszy dostęp do pamięci.

Dlatego istotą TMO jest utrzymywanie procesów na „ścisłej diecie” pod względem zużycia pamięci, wymuszając przeniesienie nieużywanych stron pamięci na partycję wymiany, której usunięcie nie wpływa w zauważalny sposób na wydajność (na przykład strony z kodem używanym tylko podczas inicjalizacji i jednorazowymi danymi buforowanymi na dysku) . W przeciwieństwie do opróżniania danych do partycji wymiany w odpowiedzi na małą ilość pamięci, TMO opróżnia dane na podstawie przewidywania predykcyjnego.

Brak dostępu do strony pamięci w ciągu 5 minut jest używany jako jedno z kryteriów preferencji. Strony te nazywane są stronami zimnymi i zajmują średnio około 35% pamięci aplikacji (w zależności od typu aplikacji występuje różnica od 19% do 65%).

Preferencja uwzględnia aktywność związaną z anonimowymi stronami pamięci (pamięć przydzieloną przez aplikację) oraz pamięć używaną do buforowania plików (przydzieloną przez jądro). W niektórych aplikacjach głównym zużyciem jest pamięć anonimowa, ale w innych bardzo ważna jest również pamięć podręczna plików.

Aby uniknąć braku równowagi podczas opróżniania pamięci do pamięci podręcznej, TMO używa nowego algorytmu stronicowania, który proporcjonalnie opróżnia strony anonimowe i strony skojarzone z pamięcią podręczną plików.

Wypychanie rzadko używanych stron do wolniejszej pamięci nie ma dużego wpływu na wydajność, ale może znacznie obniżyć koszty sprzętu. Dane są wysyłane na dyski SSD lub skompresowaną przestrzeń wymiany w pamięci RAM. Kosztem przechowywania jednego bajta danych korzystanie z dysków SSD NVMe jest do 10 razy tańsze niż stosowanie kompresji w pamięci RAM.

Na koniec, jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami W poniższym linku.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Elian powiedział

    czy można tego używać na normalnych komputerach z normalnymi aplikacjami?