TMO, isang mekanismo ng Facebook na nagtitipid ng RAM sa mga server

Inihayag ng mga inhinyero ng Facebook, sa pamamagitan ng isang ulat, ang pagpapakilala ng teknolohiya TMO (Transparent Memory Offloading) noong nakaraang taon, na nagbibigay-daan upang makabuluhang i-save ang RAM sa mga server sa pamamagitan ng paglipat ng pangalawang data na hindi kinakailangan upang gumana sa mas murang mga drive gaya ng mga NVMe SSD.

Facebook tinatantya na ang TMO ay nakakatipid sa pagitan ng 20% ​​at 32% ng RAM sa bawat server. Ang solusyon ay idinisenyo para magamit sa mga imprastraktura kung saan tumatakbo ang mga application sa mga nakahiwalay na lalagyan. Ang mga bahagi ng kernel-side ng TMO sila ay kasama na sa Linux kernel.

Sa Linux kernel side, ang operasyon ng teknolohiya ay ibinigay ng PSI subsystem (Pressure Stall Information), na ibinigay sa bersyon 4.20.

PSI na ginagamit na sa iba't ibang out of memory driver at nagbibigay-daan upang suriin ang impormasyon tungkol sa oras ng paghihintay upang makakuha ng iba't ibang mga mapagkukunan (CPU, memorya, I/O). Sa PSI, mas tumpak na maa-assess ng mga user space processor ang system load at slowdown patterns, na nagpapahintulot sa mga anomalya na matukoy bago sila magkaroon ng kapansin-pansing epekto sa performance.

Sa espasyo ng gumagamit, ang bahagi ng Senpai ay nagpapatakbo ng TMO, na dynamic na inaayos ang limitasyon ng memorya para sa mga container ng application sa pamamagitan ng cgroup2 batay sa data na natanggap mula sa PSI.

Sinusuri ni Senpai ang mga palatandaan ng pagsisimula ng kakulangan ng mga mapagkukunan sa pamamagitan ng PSI, sinusuri ang sensitivity ng mga application upang mapabagal ang pag-access sa memorya at sinusubukan upang matukoy ang pinakamababang laki ng memorya na kinakailangan para sa isang lalagyan, kung saan ang data na kinakailangan para sa trabaho ay nananatili sa RAM, at ang mga nauugnay na data na nakaupo sa cache ng file o hindi kasalukuyang direktang ginagamit, ay sapilitang lumabas sa swap partition.

Ang Transparent Memory Offload (TMO) ay ang solusyon ng Meta para sa magkakaibang kapaligiran ng data center. Ipinakilala nito ang isang bagong mekanismo ng kernel ng Linux na sumusukat sa pagkawala ng trabaho dahil sa mga kakulangan sa mapagkukunan sa CPU, memorya, at I/O sa real time. Ginagabayan ng impormasyong ito at nang walang anumang paunang kaalaman sa application, awtomatikong inaayos ng TMO ang dami ng memory na ia-offload sa isang heterogenous na device, gaya ng isang naka-compress na memory o SSD. Ginagawa nito ito batay sa mga katangian ng pagganap ng device at sensitivity ng application sa mas mabagal na pag-access sa memorya.

Samakatuwid, ang kakanyahan ng TMO ay panatilihin ang mga proseso sa isang "mahigpit na diyeta" sa mga tuntunin ng pagkonsumo ng memorya, pinipilit ang mga hindi nagamit na memory page na ilipat sa swap partition, ang pag-alis nito ay hindi kapansin-pansing nakakaapekto sa performance (halimbawa, mga page na may code na ginagamit lamang sa panahon ng pagsisimula at isang beses na data na naka-cache sa disk) . Hindi tulad ng pag-flush ng data sa swap partition bilang tugon sa mababang memory, ang TMO ay nag-flush ng data batay sa predictive na hula.

Ang kawalan ng access sa isang memory page sa loob ng 5 minuto ay ginagamit bilang isa sa mga pamantayan para sa kagustuhan. Ang mga pahinang ito ay tinatawag na mga malamig na pahina at, sa karaniwan, bumubuo sila ng humigit-kumulang 35% ng memorya ng application (depende sa uri ng aplikasyon, mayroong pagkakaiba-iba mula 19% hanggang 65%).

Isinasaalang-alang ng kagustuhan ang aktibidad na nauugnay sa hindi kilalang mga pahina ng memorya (memorya na inilalaan ng application) at memorya na ginagamit para sa pag-cache ng file (inilalaan ng kernel). Sa ilang mga aplikasyon ang hindi kilalang memorya ay ang pangunahing pagkonsumo, ngunit sa iba ang cache ng file ay napakahalaga din.

Upang maiwasan ang imbalance kapag nag-flush ng memory sa cache, gumagamit ang TMO ng bagong paging algorithm na nag-flush ng mga hindi kilalang page at page na nauugnay sa file cache nang proporsyonal.

Ang pagtulak ng mga hindi madalas na ginagamit na pahina sa mas mabagal na memorya ay walang malaking epekto sa pagganap, ngunit maaari itong makabuluhang bawasan ang mga gastos sa hardware. Ipinapadala ang data sa mga SSD o naka-compress na swap space sa RAM. Sa halaga ng pag-iimbak ng isang byte ng data, ang paggamit ng NVMe SSDs ay hanggang 10 beses na mas mura kaysa sa paggamit ng compression sa RAM.

Panghuli, kung interesado kang malaman ang tungkol dito, maaari kang kumunsulta sa mga detalye Sa sumusunod na link.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: AB Internet Networks 2008 SL
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   elian dijo

    magagamit ba ito sa mga normal na computer na may mga normal na app?