Facebook het 'n nuwe plak geheue bestuur meganisme vir die Linux kern voorgestel

Roman Gushchin (Romeinse Gushchin) van Facebook af опубликовал op die poslys van Linux-kernontwikkelaars 'n stel pleisters met die implementering van 'n nuwe geheuetoewysingsbeheerder blad (plaat geheue kontroleerder). Die nuwe beheerder is opvallend vir die verskuiwing van bladrekeningkunde van die geheuebladsyvlak na die kernobjekvlak, wat dit moontlik maak om bladbladsye in verskillende cgroups te deel, in plaas daarvan om aparte bladkase vir elke cgroup toe te ken.

Die voorgestelde benadering maak dit moontlik om die doeltreffendheid van die gebruik van blad te verhoog, die grootte van geheue wat vir blad gebruik word met 30-45% te verminder, en die algehele geheueverbruik van die kern aansienlik te verminder. Deur die aantal nie-verskuifbare blaaie te verminder, is daar ook 'n positiewe effek in die vermindering van geheuefragmentasie. Die nuwe geheuebeheerder vereenvoudig die kode vir die rekening van blaaie aansienlik en vereis nie die gebruik van ingewikkelde algoritmes vir die dinamiese skep en verwydering van plaatkas vir elke cgroup nie. Alle geheue cgroups in die nuwe implementering gebruik 'n gemeenskaplike stel plaatkas, en die leeftyd van bladkas is nie meer gekoppel aan die leeftyd van dié wat deur die cgroup geïnstalleer is nie beperkings oor geheuegebruik.

Die meer akkurate hulpbronrekeningkunde wat in die nuwe bladbeheerder geïmplementeer is, behoort teoreties die SVE meer te laai, maar in die praktyk het die verskille geblyk onbeduidend te wees. Die nuwe bladbeheerder word veral vir 'n paar maande gebruik op Facebook-produksiebedieners wat verskillende tipes werklading hanteer, en geen merkbare regressies is nog geïdentifiseer nie. Terselfdertyd is daar 'n aansienlike vermindering in geheueverbruik - op sommige leërskare was dit moontlik om tot 1 GB geheue te bespaar, maar hierdie aanwyser hang baie af van die aard van die vrag, die totale grootte van RAM, die aantal SVE's en die kenmerke van werk met geheue. Vorige toetse show vermindering in geheueverbruik met 650-700 MB (42% van plaatgeheue) op die webvoorkant, 750-800 MB (35%) op die bediener met 'n DBMS-kas en 700 MB (36%) op die DNS-bediener.

Bron: opennet.ru

Voeg 'n opmerking