TMO – „Facebook“ mechanizmas, taupantis RAM serveriuose

„Facebook“ inžinieriai atskleidė, per ataskaitą, technologijų diegimą TMO (Transparent Memory Offloading) pernai, kuri leidžia žymiai sutaupyti RAM serveriuose perkeliant antrinius duomenis, kurių nereikia, kad veiktų pigesniuose diskuose, pvz., NVMe SSD.

Facebook apskaičiavo, kad TMO kiekviename serveryje sutaupo 20–32 % RAM. Sprendimas skirtas naudoti infrastruktūrose, kuriose programos veikia izoliuotuose konteineriuose. TMO branduolio pusės komponentai jie jau įtraukti į Linux branduolį.

„Linux“ branduolio pusėje operacija technologijos teikia PSI posistemis (Pressure Stall Information), pateikta nuo 4.20 versijos.

PSI jau naudojamas įvairiose be atminties tvarkyklėse ir leidžia analizuoti informaciją apie įvairių išteklių (procesoriaus, atminties, I/O) laukimo laiką. Naudodami PSI, naudotojų erdvės procesoriai gali tiksliau įvertinti sistemos apkrovos ir sulėtėjimo modelius, todėl anomalijas galima aptikti dar prieš tai, kai jos pastebimai veikia našumą.

Vartotojo erdvėje Senpai komponentas paleidžia TMO, kuri dinamiškai koreguoja programų konteinerių atminties limitą per cgroup2 pagal duomenis, gautus iš PSI.

Senpai analizuoja resursų trūkumo pradžios požymius per PSI, įvertina programų jautrumą lėtai prieigai prie atminties ir bando nustatyti minimalų reikalingą atminties dydį konteineriui, kuriame darbui reikalingi duomenys lieka RAM, o susiję duomenys, kurie buvo failo talpykloje arba šiuo metu nėra tiesiogiai naudojami, yra priverstinai iškeliami į apsikeitimo skaidinį.

Transparent Memory Offload (TMO) – tai „Meta“ sprendimas, skirtas heterogeniškoms duomenų centrų aplinkoms. Jame pristatomas naujas „Linux“ branduolio mechanizmas, kuris realiuoju laiku matuoja darbą, prarastą dėl procesoriaus, atminties ir I/O išteklių trūkumo. Remdamasis šia informacija ir neturėdamas jokių išankstinių žinių apie programą, TMO automatiškai koreguoja atminties kiekį, kad būtų galima perkelti į nevienalytį įrenginį, pvz., suspaustą atmintį arba SSD. Tai daroma atsižvelgiant į įrenginio veikimo charakteristikas ir programos jautrumą lėtesnėms atminties prieigoms.

Todėl TMO esmė yra išlaikyti procesus „griežtoje dietoje“ atminties suvartojimo atžvilgiu, verčiant nepanaudotus atminties puslapius perkelti į apsikeitimo skaidinį, kurio pašalinimas neturi pastebimos įtakos našumui (pavyzdžiui, puslapiai, kurių kodas naudojamas tik inicijavimo metu ir vienkartiniai duomenys talpykloje saugomi diske). Skirtingai nuo informacijos išplovimo į apsikeitimo skaidinį, kai trūksta atminties, TMO išplauna duomenis remdamasis nuspėjamuoju numatymu.

Prieigos prie atminties puslapio nebuvimas per 5 minutes naudojamas kaip vienas iš pirmenybės kriterijų. Šie puslapiai vadinami šaltaisiais puslapiais ir vidutiniškai sudaro apie 35% programos atminties (priklausomai nuo programos tipo, skiriasi nuo 19% iki 65%).

Nustatant pirmenybę atsižvelgiama į veiklą, susijusią su anoniminiais atminties puslapiais (programos paskirta atmintimi) ir atmintimi, naudojama failų kaupimui talpykloje (paskirta branduolio). Kai kuriose programose daugiausia sunaudojama anoniminė atmintis, tačiau kitose failų talpykla taip pat yra labai svarbi.

Kad būtų išvengta disbalanso, kai išplaunama atmintis talpykloje, TMO naudoja naują puslapių paieškos algoritmą, kuris proporcingai išplauna anoniminius puslapius ir su failo talpykla susijusius puslapius.

Nedažnai naudojamų puslapių perkėlimas į atmintį sulėtindamas neturi didelio poveikio našumui, tačiau gali žymiai sumažinti aparatinės įrangos sąnaudas. Duomenys siunčiami į SSD arba suspaustą apsikeitimo vietą RAM. Vieno baito duomenų saugojimo kaina NVMe SSD diskų naudojimas yra iki 10 kartų pigesnis nei RAM suspaudimas.

Galiausiai, jei jus domina daugiau apie tai sužinoti, galite susipažinti su išsamia informacija Šioje nuorodoje.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   elianas sakė

    Ar tai galima naudoti įprastuose kompiuteriuose su įprastomis programomis?