En ny metode til hukommelsesstyring fra Facebook

Et medlem af udviklingsteamet for det sociale netværk Facebook, Roman Gushchin, foreslog i en e-mail til udviklerne et sæt patches til Linux-kernen, der sigter mod at forbedre hukommelsesstyringen gennem implementeringen af en ny kontrolmekanisme — slab (slab memory controller).

Slab-fordeling –– er en hukommelsesstyringsmekanisme, der er designet til at fordele hukommelse mere effektivt og eliminere betydelig fragmentering. Grundlaget for denne algoritme er at bevare den tildelte hukommelse, som indeholder et objekt af en bestemt type, og genbruge denne hukommelse ved den næste tildeling til et objekt af samme type. Denne metode blev først introduceret i SunOS af Jeff Bonwick og bruges nu bredt i kernerne af mange Unix-operativsystemer, herunder FreeBSD og Linux.

I den nye kontrolmekanisme er registreringen af slab flyttet fra sideniveauet til niveauet af kerneobjekter, hvilket muliggør deling af en slab-side mellem forskellige cgroups i stedet for at tildele en separat cache til hver cgroup.

Ifølge testresultaterne tillader den foreslåede hukommelsesstyring at forbedre effektiviteten af slab-brugen op til 45%, samt reducere det samlede hukommelsesforbrug i operativsystemets kerne. Desuden mindsker reduktionen i antallet af tildelte slab-sider fragmenteringen af hukommelsen som helhed, hvilket ikke kan undgå at påvirke systemets ydeevne.

Den nye kontrolmekanisme er allerede blevet testet i flere måneder på Facebooks arbejdsservere, og indtil videre kan denne test kaldes succesfuld: uden tab i ydeevne eller stigning i antallet af fejl er der observeret en markant reduktion i hukommelsesforbruget — på nogle servere med op til 1 GB. Dette tal er ganske subjektivt; tidligere gennemførte tests viste lidt lavere resultater:

  • 650-700 MB på webfrontend
  • 750-800 MB på databascache-serveren
  • 700 MB på DNS-serveren

>>> Forfatterens side på GitHub


>>> Resultaterne af tidlige tests

Kilde: linux.org.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster