Facebook heeft het TMO-mechanisme gepresenteerd, waarmee 20-32% van het geheugen op servers kan worden bespaard

Ingenieurs van Facebook (verboden in Rusland) publiceerden een rapport over de implementatie vorig jaar van de TMO-technologie (Transparent Memory Offloading), waarmee aanzienlijke besparingen op het RAM-geheugen van servers mogelijk zijn door onbenodigde secundaire gegevens naar goedkopere opslagmedia, zoals NVMe SSD's, te verplaatsen. Volgens Facebook maakt het gebruik van TMO het mogelijk om 20 tot 32% RAM op elke server te besparen. De oplossing is ontworpen voor gebruik in infrastructuren waarin applicaties in geïsoleerde containers draaien. De kernelcomponenten van TMO zijn al geïntegreerd in de Linux-kernel.

Aan de kant van de Linux-kernel wordt de werking van de technologie verzorgd door het PSI-systeem (Pressure Stall Information), dat vanaf versie 4.20 beschikbaar is. PSI wordt al gebruikt in verschillende geheugenbeheerprocessen en stelt ons in staat informatie te analyseren over de wachttijden voor verschillende middelen (CPU, geheugen, invoer/uitvoer). Met behulp van PSI kunnen beheerders in de gebruikersruimte beter inschatten hoe druk het systeem is en wat de aard van de vertraging is, wat helpt om afwijkingen in een vroeg stadium te identificeren, voordat deze een merkbare impact op de prestaties hebben.

In de gebruikersruimte wordt de werking van TMO mogelijk gemaakt door de component Senpai, die via cgroup2 dynamisch de geheugenlimiet voor applicatiecontainers aanpast op basis van gegevens van PSI. Senpai analyseert signalen van toenemende resource-tekorten via PSI, beoordeelt de gevoeligheid van applicaties voor vertraagd geheugen toegang en probeert de minimaal benodigde geheugengrootte voor de container vast te stellen, zodat de benodigde gegevens in RAM blijven, terwijl bijkomende gegevens die in de bestandscache zijn opgeslagen of momenteel niet direct worden gebruikt, naar de swap worden verplaatst.

Facebook heeft het TMO-mechanisme gepresenteerd, waarmee 20-32% van het geheugen op servers kan worden bespaard

Het doel van TMO is om processen strikt te beperken wat betreft geheugengebruik, waardoor inactieve geheugenpagina's geforceerd naar de swapruimte worden verplaatst, wiens verdringing nauwelijks invloed heeft op de prestaties (bijvoorbeeld pagina's met code die alleen tijdens de initialisatie worden gebruikt en data die slechts sporadisch in de schijfcache worden gebruikt). In tegenstelling tot het verplaatsen van informatie naar de swapruimte als reactie op een gebrek aan geheugen, worden in TMO gegevens verplaatst op basis van voorspellende analyses.

Een van de criteria voor verdringing is het ontbreken van toegang tot een geheugenpagina gedurende 5 minuten. Dergelijke pagina's worden koude geheugenpagina's (cold memory page) genoemd en vormen gemiddeld ongeveer 35% van het geheugen van applicaties (afhankelijk van het type applicatie varieert dit van 19% tot 65%). Bij verdringing wordt ook rekening gehouden met activiteiten gerelateerd aan anonieme geheugenpagina's (geheugen toegewezen door de applicatie) en geheugen dat wordt gebruikt voor het cachen van bestanden (toegewezen door de kernel). In sommige applicaties is het primaire gebruik gerelateerd aan anoniem geheugen, terwijl in andere het bestandscache ook een grote rol speelt. Om onevenwichtigheden bij het verplaatsen van geheugen naar de cache te voorkomen, wordt in TMO een nieuw swapalgoritme gebruikt, dat anonieme pagina's en pagina's gerelateerd aan bestandscaching proportioneel verdringt.

Het verplaatsen van zelden gebruikte pagina's naar langzamere geheugen heeft nauwelijks invloed op de prestaties, maar stelt ons in staat om aanzienlijk te besparen op hardwarekosten. Gegevens worden verplaatst naar SSD-opslag of naar een gecomprimeerde swapruimte in het RAM-geheugen. Wat betreft de kosten van opslag per byte zijn NVMe SSD's tot 10 keer goedkoper dan het gebruik van compressie in RAM.

Facebook heeft het TMO-mechanisme gepresenteerd, waarmee 20-32% van het geheugen op servers kan worden bespaard


Bron: opennet.ru
Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster