Inżynierowie z firmy macierzystej Facebooka, Meta, ujawnili, w jaki sposób byli w stanie zaoferować wolną pamięć za pomocą oprogramowania o nazwie Transparent Memory Offloading (TMO).

Jest teraz częścią jądra Linuksa i po prostu automatycznie przenosi dane na inne poziomy pamięci masowej (na przykład ekspander pamięci CX firmy Samsung), które są tańsze i wydajniejsze niż pamięć.

Oszczędności są znaczne; TMO działa na milionach serwerów Facebooka od ponad roku, oszczędzając prawie jedną trzecią pamięci na serwer. Chociaż prawdopodobnie byłoby to nieistotne na dziesiątkach, a nawet setkach serwerów, sama skala Facebooka stanowi wyjątkowe wyzwanie.

Analiza: gigantyczny apetyt Facebooka na RAM

Największa na świecie sieć społecznościowa ma prawie trzy miliardy aktywnych użytkowników miesięcznie i miliony serwerów w 21 lokalizacjach na całym świecie. Gdyby każdy serwer miał średnio 128 GB pamięci RAM, oznaczałoby to 256 milionów GB (lub 256 PB) pamięci RAM, co przy średnim koszcie 4 EUR za GB (DDR4 ECC RAM) odpowiada około 1 miliardowi EUR pamięci To przy założeniu, że Facebook ma co najmniej dwa miliony serwerów (blog Facebooka cytował „miliony serwerów” już w lipcu 2018 r.), a rzeczywista liczba prawdopodobnie będzie znacznie wyższa.

Dane przedstawione przez zespół pracujący nad TMO pokazały, że koszt pamięci stanowi jedną trzecią BOM serwera Meta, przy czym skompresowana pamięć RAM i SSD stanowią mniej niż 11%. Co bardziej niepokojące, koszt pamięci RAM (jako procent całej infrastruktury) wzrósł ponad dwukrotnie, odkąd Facebook uruchomił swoją pierwszą generację serwerów (obecnie jest to czwarta).

Przyjęcie TMO ma pewne wady; dokładniej mówiąc, pogorszenie wydajności. Jednak zyski w zakresie oszczędności energii i pamięci znacznie przewyższają wady, a przyszłe iteracje w połączeniu z ulepszeniami sprzętowymi (na przykład szybszymi dyskami SSD lub CXL) zapewnią dalsze łagodzenie skutków.

Udostępnij to