Facebook paraqiti mekanizmin TMO, i cili lejon kursimin e 20-32% të memories në serverë

Inxhinierët nga kompania Facebook (e ndaluar në RF) publikuan një raport mbi implementimin vitin e kaluar të teknologjisë TMO (Transparent Memory Offloading), e cila lejon kursimin e rëndësishëm të memorie operative në servera duke zhvendosur të dhënat dytësore që nuk kërkohen për ekzekutimin e punës në ruajtës më të lirë, siç janë disqet NVMe SSD. Sipas vlerësimeve të Facebook, përdorimi i TMO mund të kursejë nga 20 në 32% RAM në çdo server. Zgjidhja është parashikuar për t'u përdorur në infrastruktura ku aplikacionet ekzekutohen në kontejnerë të izoluar. Komponentët që punojnë në anën e bërthamës TMO tashmë janë përfshirë në bërthamën Linux.

Në anën e bërthamës Linux, funksionimi i teknologjisë sigurohet nga nënsistemi PSI (Pressure Stall Information), i cili është i disponueshëm që nga lëshimi 4.20. PSI tashmë përdoret në trajtues të ndryshëm të mungesës së memories dhe lejon analizimin e informacionit në lidhje me kohën e pritjes për marrjen e resurseve të ndryshme (CPU, memorie, hyrje/ dalje). Me ndihmën e PSI, trajtuesit në hapësirën e përdoruesit mund të vlerësojnë më saktë nivelin e ngarkesës së sistemit dhe natyrën e ngadalësimit të punës, duke lejuar identifikimin e devijimeve në fazën më të hershme, kur ato ende nuk ndikojnë në performancë.

Në hapësirën e përdoruesit, funksionin e TMO e siguron komponenti Senpai, i cili përmes cgroup2 rregullon dinamikisht kufirin e memories për kontejnerët e aplikacioneve në bazë të të dhënave të marra nga PSI. Senpai analizon shenjat e fillimit të mungesës së resurseve përmes PSI, vlerëson ndjeshmërinë e aplikacioneve ndaj ngadalësimit të aksesit në memorie dhe përpiqet të përcaktojë atë përmasë minimale të memories e nevojshme për kontejnerin, kur të dhënat e kërkuara për operim mbeten në RAM, ndërsa të dhënat e ngjashme, që janë mbyllur në cache të skedarëve ose nuk përdoren drejtpërdrejt në atë moment, zhvendosen në seksionin e këmbimit.

Facebook paraqiti mekanizmin TMO, i cili lejon kursimin e 20-32% të memories në serverë

Pra, thelbi i TMO është që të mbajë proceset në një dietë strikte në termen e konsumit të memories, duke detyruar zhvendosjen në seksionin e këmbimit të faqeve të memories që nuk përdoren, zhvendosje e cila nuk ndikon ndjeshëm në performancë (p.sh., faqet me kod që përdoren vetëm gjatë inicializimit dhe të dhëna që përdoren pak në cache të disqeve). Ndryshe nga zhvendosja e informacionit në seksionin e këmbimit në përgjigje të mungesës së memories, në TMO të dhënat zhvendosen në bazë të parashikimit proaktiv.

Si një nga kriteret për zhvendosjen përdoret mungesa e qasjes në një faqe memories për një periudhë prej 5 minutash. Faqet e tilla quhen të ftohta (cold memory page) dhe në mesatare përbëjnë rreth 35% të memories së aplikacioneve (varësisht nga lloji i aplikacioneve, vërehet një shpërndarje nga 19% deri në 65%). Gjatë zhvendosjes merret parasysh aktiviteti i lidhur me faqet e memories anonime (memoria e caktuar nga aplikacioni) dhe memoria e përdorur gjatë caching të skedarëve (e caktuar nga bërthama). Në disa aplikacione konsumi kryesor lidhet me memorien anonime, por në të tjera, caching i skedarëve ka rëndësi të madhe. Për të shmangur disbalancin gjatë zhvendosjes së memories në cache, në TMO aplikohet një algoritëm i ri i këmbimit, i cili zhvendos faqet anonime dhe faqet që lidhen me caching të skedarëve në proporcione proporcionale.

Zhvendosja e faqeve të pak përdorura në memorinë më të ngadalshme nuk ndikon ndjeshëm në performancë, por lejon një reduktim të konsiderueshëm të shpenzimeve për pajisjet. Të dhënat zhvendosen në ruajtës SSD ose në një zonë të comprimit në memory operative. Sa i përket kostos së ruajtjes së një byte të të dhënave, përdorimi i NVMe SSD është deri në 10 herë më i lirë se përdorimi i comprimit në memory operative.

Facebook paraqiti mekanizmin TMO, i cili lejon kursimin e 20-32% të memories në serverë


Burimi: opennet.ru
Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster