TMO, një mekanizëm në Facebook që kursen RAM në serverë

Inxhinierët e Facebook zbuluan, përmes një raporti, futja e teknologjisë TMO (Transparent Memory Offloading) vitin e kaluar, i cili ju lejon të kurseni ndjeshëm RAM-in në serverë duke lëvizur të dhëna dytësore që nuk kërkohen për të punuar në disqe më të lira si NVMe SSD.

Facebook vlerëson se TMO kursen midis 20% dhe 32% të RAM-it në çdo server. Zgjidhja është projektuar për përdorim në infrastrukturat ku aplikacionet funksionojnë në kontejnerë të izoluar. Komponentët nga ana e kernelit të TMO ato tashmë janë përfshirë në kernelin Linux.

Në anën e kernelit Linux, operacioni të teknologjisë ofrohet nga nënsistemi PSI (Informacionet e stallës së presionit), të ofruara në versionin 4.20.

PSI përdoret tashmë në drejtues të ndryshëm jashtë memorie dhe ju lejon të analizoni informacionin rreth kohës së pritjes për të marrë burime të ndryshme (CPU, memorie, I/O). Me PSI, procesorët e hapësirës së përdoruesit mund të vlerësojnë më saktë modelet e ngarkesës dhe ngadalësimit të sistemit, duke lejuar që anomalitë të zbulohen përpara se ato të kenë një ndikim të dukshëm në performancë.

Në hapësirën e përdoruesit, komponenti Senpai ekzekuton TMO, i cili rregullon në mënyrë dinamike kufirin e memories për kontejnerët e aplikacioneve nëpërmjet cgroup2 bazuar në të dhënat e marra nga PSI.

Senpai analizon shenjat e fillimit të mungesës së burimeve nëpërmjet PSI, vlerëson ndjeshmërinë e aplikacioneve për të ngadalësuar aksesin në kujtesë dhe përpiqet të përcaktojë madhësinë minimale të memories së kërkuar për një kontejner, në të cilin të dhënat e kërkuara për punën mbeten në RAM, dhe të dhënat e lidhura që kanë qenë të vendosura në cache-in e skedarit ose që aktualisht nuk përdoren drejtpërdrejt, detyrohen të dalin në ndarjen e shkëmbimit.

Transparent Memory Offload (TMO) është zgjidhja e Meta për mjedise heterogjene të qendrave të të dhënave. Ai prezanton një mekanizëm të ri kernel Linux që mat punën e humbur për shkak të mungesës së burimeve në CPU, memorie dhe I/O në kohë reale. I udhëhequr nga ky informacion dhe pa ndonjë njohuri paraprake për aplikacionin, TMO rregullon automatikisht sasinë e memories për t'u shkarkuar në një pajisje heterogjene, si një memorie e ngjeshur ose SSD. Ai e bën këtë bazuar në karakteristikat e performancës së pajisjes dhe ndjeshmërinë e aplikacionit ndaj akseseve më të ngadalta të kujtesës.

Prandaj, Thelbi i TMO është të mbajë proceset në një "dietë të rreptë" për sa i përket konsumit të kujtesës, duke detyruar faqet e memories së papërdorur të zhvendosen në ndarjen e shkëmbimit, heqja e së cilës nuk ndikon dukshëm në performancën (për shembull, faqet me kod të përdorur vetëm gjatë inicializimit dhe të dhëna një herë të ruajtur në disk). Ndryshe nga shpëlarja e të dhënave në ndarjen e shkëmbimit në përgjigje të memories së ulët, TMO pastron të dhënat bazuar në parashikimin parashikues.

Mungesa e aksesit në një faqe memorie brenda 5 minutave përdoret si një nga kriteret e preferencës. Këto faqe quhen faqe të ftohta dhe, mesatarisht, përbëjnë rreth 35% të memories së aplikacionit (në varësi të llojit të aplikacionit, ka një variacion nga 19% në 65%).

Preferenca merr parasysh aktivitetin e lidhur me faqet anonime të memories (memoria e alokuar nga aplikacioni) dhe memorien e përdorur për cachimin e skedarëve (të alokuara nga kerneli). Në disa aplikacione, memoria anonime është konsumi kryesor, por në disa të tjera cache-i i skedarëve është gjithashtu shumë i rëndësishëm.

Për të shmangur çekuilibrin gjatë shkarkimit të memories në cache, TMO përdor një algoritëm të ri paging që pastron në mënyrë proporcionale faqet anonime dhe faqet e lidhura me cache-in e skedarit.

Shtyrja e faqeve të përdorura rrallë në memorie më të ngadaltë nuk ka një ndikim të madh në performancën, por mund të zvogëlojë ndjeshëm kostot e harduerit. Të dhënat dërgohen në SSD ose në hapësirën e kompresuar të shkëmbimit në RAM. Me koston e ruajtjes së një bajt të të dhënave, përdorimi i SSD-ve NVMe është deri në 10 herë më i lirë se përdorimi i kompresimit në RAM.

Së fundi, nëse jeni të interesuar të dini më shumë për të, mund të konsultoheni me detajet Në lidhjen vijuese.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: AB Internet Networks 2008 SL
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.

  1.   elian dijo

    a mund të përdoret kjo në kompjuterë normalë me aplikacione normale?