Jie siūlo naują „Linux“ branduolio atminties valdiklį

Linux Kernel

Atminties tvarkyklė yra sistemos pogrupis veiklos Jis dalijasi atmintimi tarp operacinės sistemos ir įvairių programų. Terminas atmintis daugiausia reiškia pagrindinę atmintį (RAM), tačiau jos valdymui reikalingas papildomos atminties ir talpyklos atmintis.

Atminties tvarkyklė yra ypač atsakingas už efektyvų atminties paskirstymą procesams, o tai reiškia, kad jūs turite sugebėti išvardyti laisvas laisvos atminties vietas, paskirstyti naujiems procesams reikalingą atmintį ir susigrąžinti atmintį iš procesų, kurie baigiasi. „Linux“ branduolio procesų dispečeris yra SLAB dispečeris.

PLOKŠTĖ remiasi blokavimo ir talpyklos sistema, kuri optimizuoja atminties užklausas. Šio tipo atminties valdymas sumažina susiskaidymą, kurį sukelia paskirstymo ir perkėlimo operacijos.

Blokų paskirstymas apima talpyklą tam tikram objekto tipui / dydžiui, kuriame yra keli iš anksto priskirti atminties blokai, supjaustyti į fiksuoto dydžio dalis, tinkamas konkretiems objektams.

SLAB tvarko kūrinius taip, kad kai branduolio bus paprašyta skirti objektui atmintį, Tą užklausą galite patenkinti atsargine dalimi iš esamo bloko. SLAB išlaiko paskirtą atmintį pakartotiniam naudojimui, kai paskiriami panašūs objektai, ir taip sumažina pridėtines išlaidas, susijusias su objekto inicijavimu.

Jie ketina pakeisti SLAB

Romanas Gushchinas, „Linux“ branduolio inžinerijos komandos narys „Facebook“ tinkle jis atrado, jo manymu, „rimtą trūkumą“ dabartiniame atminties tvarkyklėje / valdiklyje. Ir rneseniai pasiūlė naują atminties valdiklį blokuoti tai žada žymiai pagerinti atminties panaudojimą tarp kelių „grupių“ (arba kontrolines grupes) iš atminties.

Atsižvelgiant į tai, svarbu pažymėti, kad „cgroups“ nurodo „Linux“ branduolio ypatybę, leidžiančią apriboti, suskaičiuoti ir izoliuoti sistemos išteklių (procesoriaus, atminties, disko naudojimo ir kt.) Naudojimą ir terminą „plokštės puslapis“. SLAB galėtų prilyginti atminties paskirstymo procesui.

Pasak Gushchino:

„Tikroji priežastis, dėl kurios esamas dizainas lemia mažą SLAB naudojimą, yra paprasta: plokščių puslapius naudoja tik vienas atminties telkinys.

Jei grupėje yra tik keli tam tikro dydžio priskyrimai arba jei pašalinus grupę lieka keletas aktyvių objektų arba jei grupėje yra viena srieginė programa, kuri praktiškai neskiria branduolių, tačiau tai daro kiekvieną kartą naujas procesorius: visais šiais atvejais dėl to SLAB naudojama labai mažai.

Jei kmem skaičiavimas išjungtas, branduolys gali naudoti laisvą vietą plytelių puslapiuose kitiems paskirstymams «.

Gushchinas teigia, kad tai nebuvo problema, kai „kmem“ tvarkyklė buvo pristatyta kaip pasirinktinė funkcija, kurią reikėjo įjungti kiekvienam atminties telkiniui.

Tačiau dabar, kmem tvarkyklė yra įjungta pagal numatytuosius nustatymus grupėms v1 ir v2. Kadangi šiuolaikinės sistemos dažniausiai sukuria daug c grupių, SLAB naudojimas yra ne toks efektyvus.

Anot jo, dalijantis plokščių puslapiais tarp įvairių atminties grupių ir naudojant pertvarkytą sistemą, kai apskaita vykdoma pagal objektą, o ne pagal puslapį, „Linux“ branduolyje būtų optimizuotas atminties valdiklis kuris siūlo daug efektyvesnį naudojimo lygį.

Gushchino siūlomame pleistre yra du pusiau nepriklausomi elementai: antrinio puslapio apkrovos API, kuri ateityje gali būti naudojama apskaitos tikslais, ir mem_cgroup_ptr API.

Testai atlikti su nauju valdikliu Guščino atminimas parodė, kad „Linux“ galima gauti nuo 35% iki 42% daugiau atminties priekiniame žiniatinklyje, duomenų bazės talpykloje ir DNS serveryje bei daugelyje kitų darbo krūvių.

Gushchino pasiūlymas šiuo metu yra „prašymo pakomentuoti“ ženklas. Jei jis bus priimtas, jis gali būti integruotas į 2020 m. „Linux“ branduolio leidimą.

Fuente: https://lkml.org/


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.