TMO, un mecanism Facebook care economisește RAM pe servere

Inginerii Facebook au dezvăluit, printr-un raport, introducerea tehnologiei TMO (Transparent Memory Offloading) anul trecut, care permite salvarea semnificativă a memoriei RAM pe servere prin mutarea datelor secundare care nu sunt necesare pentru a funcționa pe unități mai ieftine, cum ar fi SSD-urile NVMe.

Facebook estimează că TMO economisește între 20% și 32% din RAM pe fiecare server. Soluția este concepută pentru utilizarea în infrastructuri în care aplicațiile rulează în containere izolate. Componentele din partea nucleului ale TMO sunt deja incluse în nucleul Linux.

Pe partea nucleului Linux, operațiunea de tehnologie este furnizat de subsistemul PSI (Informații privind blocarea presiunii), furnizate începând cu versiunea 4.20.

PSI folosit deja în diverse drivere fără memorie și permite analizarea informațiilor despre timpul de așteptare pentru a obține diverse resurse (CPU, memorie, I/O). Cu PSI, procesoarele din spațiul utilizatorului pot evalua mai precis încărcarea sistemului și modelele de încetinire, permițând detectarea anomaliilor înainte ca acestea să aibă un impact vizibil asupra performanței.

În spațiul utilizatorului, componenta Senpai rulează TMO, care ajustează dinamic limita de memorie pentru containerele de aplicații prin cgroup2 pe baza datelor primite de la PSI.

Senpai analizează semnele începutului unui deficit de resurse prin PSI, evaluează sensibilitatea aplicațiilor de a încetini accesul la memorie și încearcă să determine dimensiunea minimă de memorie necesară pentru un container, în care datele necesare pentru lucrare rămân în RAM și datele aferente care au stat în memoria cache a fișierelor sau nu sunt utilizate direct în prezent, sunt forțate să iasă în partiția de swap.

Transparent Memory Offload (TMO) este soluția Meta pentru medii eterogene de centre de date. Introduce un nou mecanism de nucleu Linux care măsoară munca pierdută din cauza lipsei de resurse în CPU, memorie și I/O în timp real. Ghidat de aceste informații și fără cunoștințe prealabile despre aplicație, TMO ajustează automat cantitatea de memorie pentru a se descărca pe un dispozitiv eterogen, cum ar fi o memorie comprimată sau SSD. Face acest lucru pe baza caracteristicilor de performanță ale dispozitivului și a sensibilității aplicației la accesări mai lente la memorie.

În consecință, esența TMO este de a menține procesele pe o „dietă strictă” în ceea ce privește consumul de memorie, forțând paginile de memorie neutilizate să fie mutate în partiția de swap, eliminarea căreia nu afectează în mod semnificativ performanța (de exemplu, pagini cu cod folosit doar în timpul inițializării și date unice stocate în cache pe disc) . Spre deosebire de spălarea datelor către partiția de swap ca răspuns la memoria scăzută, TMO șterge datele pe baza predicției predictive.

Absența accesului la o pagină de memorie în decurs de 5 minute este folosită ca unul dintre criteriile de preferință. Aceste pagini se numesc pagini reci și, în medie, reprezintă aproximativ 35% din memoria aplicației (în funcție de tipul de aplicație, există o variație de la 19% la 65%).

Preferința ia în considerare activitatea asociată cu paginile anonime de memorie (memorie alocată de aplicație) și memoria utilizată pentru stocarea în cache a fișierelor (alocată de kernel). În unele aplicații memoria anonimă este principalul consum, dar în altele cache-ul fișierelor este și el foarte important.

Pentru a evita dezechilibrul la golirea memoriei în cache, TMO folosește un nou algoritm de paginare care șterge proporțional paginile anonime și paginile asociate cu memoria cache a fișierelor.

Împingerea paginilor utilizate rar la o memorie mai lentă nu are un impact mare asupra performanței, dar poate reduce semnificativ costurile hardware. Datele sunt trimise către SSD-uri sau spațiu de schimb comprimat în RAM. Cu prețul stocării unui octet de date, utilizarea SSD-urilor NVMe este de până la 10 ori mai ieftină decât utilizarea compresiei pe RAM.

În cele din urmă, dacă sunteți interesat să aflați mai multe despre aceasta, puteți consulta detaliile În următorul link.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   elian el a spus

    poate fi folosit pe computere normale cu aplicații normale?