TMO, een Facebook-mechanisme dat RAM op servers bespaart

Facebook-ingenieurs onthulden, door middel van een rapport, de introductie van technologie TMO (Transparent Memory Offloading) vorig jaar, wat: maakt het mogelijk om aanzienlijk RAM op servers te besparen door secundaire gegevens te verplaatsen die niet nodig zijn om te werken op goedkopere schijven zoals NVMe SSD's.

Facebook schat dat TMO tussen de 20% en 32% RAM op elke server bespaart. De oplossing is ontworpen voor gebruik in infrastructuren waar applicaties in geïsoleerde containers draaien. De kernel-side componenten van TMO ze zijn al opgenomen in de Linux-kernel.

Aan de kant van de Linux-kernel is de bewerking van technologie wordt geleverd door het PSI-subsysteem (Pressure Stall Information), geleverd vanaf versie 4.20.

PSI al gebruikt in verschillende stuurprogramma's met onvoldoende geheugen en maakt het mogelijk om informatie over de wachttijd te analyseren om verschillende bronnen te verkrijgen (CPU, geheugen, I/O). Met PSI kunnen gebruikersruimteprocessors de systeembelasting en vertragingspatronen nauwkeuriger beoordelen, waardoor afwijkingen kunnen worden gedetecteerd voordat ze een merkbare invloed hebben op de prestaties.

In de gebruikersruimte draait de Senpai-component TMO, die de geheugenlimiet voor applicatiecontainers dynamisch aanpast via cgroup2 op basis van gegevens die zijn ontvangen van de PSI.

Senpai analyseert de tekenen van het begin van een tekort aan middelen via PSI, evalueert de gevoeligheid van applicaties voor trage geheugentoegang en probeert de minimaal vereiste geheugengrootte te bepalen voor een container, waarin de gegevens die nodig zijn voor de taak in het RAM blijven en gerelateerde gegevens die in de bestandscache hebben gezeten of momenteel niet direct worden gebruikt, naar de swappartitie worden gedwongen.

Transparent Memory Offload (TMO) is Meta's oplossing voor heterogene datacenteromgevingen. Het introduceert een nieuw Linux-kernelmechanisme dat in realtime het verloren werk meet als gevolg van een tekort aan bronnen in CPU, geheugen en I/O. Geleid door deze informatie en zonder enige voorkennis van de applicatie, past TMO automatisch de hoeveelheid geheugen aan die moet worden overgedragen aan een heterogeen apparaat, zoals een gecomprimeerd geheugen of SSD. Het doet dit op basis van de prestatiekenmerken van het apparaat en de gevoeligheid van de applicatie voor tragere geheugentoegangen.

Daarom de essentie van TMO is om processen op een "streng dieet" te houden in termen van geheugengebruik, waardoor ongebruikte geheugenpagina's naar de swappartitie worden verplaatst, waarvan de verwijdering geen merkbare invloed heeft op de prestaties (bijvoorbeeld pagina's met code die alleen wordt gebruikt tijdens initialisatie en eenmalige gegevens in de cache op schijf). In tegenstelling tot het wissen van gegevens naar de swappartitie als reactie op een laag geheugen, spoelt TMO gegevens op basis van voorspellende voorspellingen.

Het ontbreken van toegang tot een geheugenpagina binnen 5 minuten wordt als een van de voorkeurscriteria gehanteerd. Deze pagina's worden koude pagina's genoemd en nemen gemiddeld zo'n 35% van het applicatiegeheugen in beslag (afhankelijk van het type applicatie is er een afwijking van 19% tot 65%).

De voorkeur houdt rekening met activiteiten die verband houden met anonieme geheugenpagina's (geheugen toegewezen door de toepassing) en geheugen dat wordt gebruikt voor bestandscaching (toegewezen door de kernel). In sommige toepassingen is het anonieme geheugen het belangrijkste verbruik, maar in andere is de bestandscache ook erg belangrijk.

Om onbalans te voorkomen bij het leegmaken van geheugen naar de cache, gebruikt TMO een nieuw paging-algoritme dat anonieme pagina's en pagina's die zijn gekoppeld aan de bestandscache proportioneel leegmaakt.

Het pushen van weinig gebruikte pagina's naar een langzamer geheugen heeft geen grote invloed op de prestaties, maar kan de hardwarekosten aanzienlijk verlagen. Gegevens worden verzonden naar SSD's of gecomprimeerde swapruimte in RAM. Ten koste van het opslaan van één byte aan gegevens, is het gebruik van NVMe SSD's tot 10 keer goedkoper dan het gebruik van compressie op RAM.

Ten slotte, als u geïnteresseerd bent om er meer over te weten, kunt u de details raadplegen In de volgende link.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Elian zei

    kan dit worden gebruikt op normale computers met normale apps?