Facebook heeft een nieuw geheugenbeheersysteem 'slab' voorgesteld voor de Linux-kernel

Roman Gushchin (Roman Gushchin) van Facebook gepubliceerd in de mailinglijst van de Linux kernel ontwikkelaars met een set patches voor de implementatie van een nieuwe geheugen distributiecontroller slab (slab geheugencontroller). De nieuwe controller valt op vanwege het verplaatsen van de slab-accounting van het paginaniveau naar het objectniveau in de kernel, wat de mogelijkheid biedt om slab-pagina's gezamenlijk te gebruiken in verschillende cgroups, in plaats van afzonderlijke slab-caches voor elke cgroup aan te maken.

De voorgestelde benadering maakt het mogelijk om de efficiƫntie van het gebruik van slab te verhogen, het gebruik van slab-geheugen met 30-45% te verminderen en het totale geheugengebruik door de kernel aanzienlijk te verlagen. Door het verminderen van het aantal niet-verplaatsbare slabs is er ook een positief effect op het gebied van het verminderen van geheugenfragmentatie. De nieuwe geheugencontroller vereenvoudigt de code voor de slab-accounting aanzienlijk en vereist geen gecompliceerde algoritmes voor het dynamisch aanmaken en verwijderen van slab-caches voor elke cgroup. Alle cgroups voor geheugen in de nieuwe implementatie gebruiken een gezamenlijke set slab-caches, en de levensduur van de slab-caches is niet langer gebonden aan de levensduur van de cgroup. beperkingen voor geheugengebruik.

De nauwkeuriger resource-accounting in de nieuwe slab-controller zou theoretisch meer CPU-belasting met zich mee kunnen brengen, maar in de praktijk zijn de verschillen onbeduidend gebleken. In het bijzonder wordt de nieuwe slab-controller al enkele maanden gebruikt op werkservers van Facebook die verschillende soorten belasting verwerken, en er zijn nog geen significante regressies vastgesteld. Tegelijkertijd is er een aanzienlijke vermindering van het geheugengebruik waargenomen — op sommige hosts is tot 1 GB geheugen bespaard, maar dit cijfer hangt sterk af van de aard van de belasting, de totale hoeveelheid RAM, het aantal CPU's en de specifieke kenmerken van het geheugengebruik. Eerder uitgevoerde tests aangetoond toonden een vermindering van het geheugengebruik met 650-700 MB (42% van het slab-geheugen) op de web-frontend, 750-800 MB (35%) op de server met de database-cache en 700 MB (36%) op de DNS-server.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster