TMO, un mecanisme de Facebook que permet estalviar RAM a servidors

Els enginyers de Facebook van donar a conèixer, mitjançant un informe, la introducció de la tecnologia TMO (Transparent Memory Offloading) l'any passat, que permet estalviar significativament RAM als servidors en desplaçar dades secundàries que no es requereixen per treballar en unitats més econòmiques, com a discos SSD NVMe.

Facebook estima que TMO estalvia entre un 20% i un 32% de RAM a cada servidor. La solució està dissenyada per a ús en infraestructures on les aplicacions s'executen en contenidors aïllats. Els components del costat del nucli de TMO ja estan inclosos al kernel de Linux.

Al costat del nucli de Linux, l'operació de la tecnologia és proporcionada pel subsistema PSI (Pressure Stall Information), subministrat a partir de la versió 4.20.

PSI ja es fa servir en diversos controladors de memòria insuficient i permet analitzar informació sobre el temps despera per obtenir diversos recursos (CPU, memòria, E / S). Amb PSI, els processadors d'espai d'usuari poden avaluar amb més precisió la càrrega del sistema i els patrons d'alentiment, cosa que permet detectar anomalies abans que tinguin un impacte notable en el rendiment.

A l'espai de l'usuari, el component Senpai executa TMO, que ajusta dinàmicament el límit de memòria per als contenidors d'aplicacions a través de cgroup2 en funció de les dades rebudes del PSI.

Senpai analitza els signes del començament d'una escassetat de recursos a través de PSI, avalua la sensibilitat de les aplicacions a l'accés lent a la memòria i intenta determinar la mida mínima de memòria requerida per a un contenidor, on les dades requerides per al treball romanen en RAM, i relacionades les dades que s'han establert a la memòria cau de l'arxiu o que no s'utilitzen directament actualment, es forcen a sortir a la partició d'intercanvi.

La descàrrega transparent de memòria (TMO) és la solució de Meta per a entorns de centres de dades heterogenis. Introdueix un nou mecanisme del nucli de Linux que mesura la feina perduda a causa de l'escassetat de recursos en CPU, memòria i E/S en temps real. Guiat per aquesta informació i sense cap coneixement previ de l'aplicació, TMO ajusta automàticament la quantitat de memòria per descarregar en un dispositiu heterogeni, com ara una memòria comprimida o un SSD. Ho fa dacord amb les característiques de rendiment del dispositiu i la sensibilitat de laplicació als accessos de memòria més lents.

Per tant, l'essència de TMO és mantenir els processos a «dieta estricta» en termes de consum de memòria, obligant que les pàgines de memòria no utilitzades es moguin a la partició d'intercanvi, l'eliminació de les quals no afecta notablement el rendiment (per exemple, pàgines amb codi utilitzat només durant la inicialització i dades d'un sol ús a la memòria cau del disc) . A diferència d'expulsar informació a la partició d'intercanvi en resposta a poca memòria, TMO expulsa dades segons la predicció predictiva.

L'absència d'accés a una pàgina de memòria dins dels 5 minuts s'utilitza com a un dels criteris de preferència. Aquestes pàgines s'anomenen fredes i, de mitjana, constitueixen al voltant del 35% de la memòria de l'aplicació (segons el tipus d'aplicació hi ha una variació del 19% al 65%).

La preferència té en compte l'activitat associada amb les pàgines anònimes de memòria (memòria assignada per l'aplicació) i la memòria utilitzada per a l'emmagatzematge a la memòria cau de fitxers (assignada pel nucli). En algunes aplicacions la memòria anònima és el consum principal, però en altres la memòria cau d'arxius també és molt important.

Per evitar el desequilibri en buidar la memòria a la memòria cau, TMO utilitza un nou algorisme de paginació que buida les pàgines anònimes i les pàgines associades amb la memòria cau de fitxers de manera proporcional.

Empenyar les pàgines que es fan servir amb poca freqüència a una memòria més lenta no té un gran impacte en el rendiment, però pot reduir significativament els costos de maquinari. Les dades s'envien a SSD o espai d'intercanvi comprimit a la RAM. A costa demmagatzemar un byte de dades, lús de SSD NVMe és fins a 10 vegades més econòmic que utilitzar compressió en RAM.

Finalment si estàs interessat en poder conèixer més a l'respecte, pots consultar els detalls en el següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   elian va dir

    can this be used in normal computers with normal apps ?