Viņi piedāvā jaunu atmiņas kontrolleri Linux kodolam

Linux Kernel

Atmiņas pārvaldnieks ir sistēmas apakškopa darba Tas koplieto atmiņu starp operētājsistēmu un dažādām lietojumprogrammām. Termins atmiņa galvenokārt attiecas uz galveno atmiņu (RAM), taču tās pārvaldībai ir nepieciešama papildu atmiņa un kešatmiņa.

Atmiņas pārvaldnieks ir īpaši atbildīgs par efektīvu atmiņas piešķiršanu procesiem, kas nozīmē, ka jums jāspēj uzskaitīt pieejamās atmiņas brīvās vietas, piešķirt jaunajiem procesiem nepieciešamo atmiņu un atgūt atmiņu no procesiem, kas beidzas. Procesu dispečers Linux kodolā ir SLAB dispečers.

Plātne paļaujas uz bloku un kešatmiņas sistēmu, kas optimizē atmiņas pieprasījumus. Šis atmiņas pārvaldības veids samazina sadrumstalotību, ko izraisa piešķiršanas un pārvietošanas darbības.

Bloku piešķiršana ietver kešatmiņas ieviešanu noteiktam objekta tipam / izmēram, kuram ir vairāki iepriekš piešķirti atmiņas bloki, kas sagriezti fiksēta izmēra gabalos, kas piemēroti konkrētiem objektiem.

SLAB pārvalda gabalus tā, ka tad, kad kodolam tiek prasīts piešķirt atmiņu objektam, Jūs varat apmierināt šo pieprasījumu ar rezerves daļu no esoša bloka. SLAB saglabā piešķirto atmiņu atkārtotai izmantošanai, kad pēc tam tiek piešķirti līdzīgi objekti, un tādējādi samazina ar objekta inicializēšanu saistītās pieskaitāmās izmaksas.

Viņi plāno aizstāt SLAB

Romāns Guščins, Būdams Linux kodola inženieru komandas loceklis Facebook, viņš atklāja pašreizējā atmiņas pārvaldniekā / kontrolierī to, ko viņš uzskata par "nopietnu trūkumu". Un rnesen ierosināja jaunu atmiņas kontrolieri bloķēt kas sola dramatiski uzlabot atmiņas izmantošanu starp vairākām "grupām" (vai kontroles grupas) no atmiņas.

Ņemot to vērā, ir svarīgi atzīmēt, ka cgroups attiecas uz Linux kodola iezīmi, kas ļauj ierobežot, skaitīt un izolēt sistēmas resursu (procesora, atmiņas, diska izmantošanas utt.) Izmantošanu un terminu "plāksnes lapa" SLAB varētu pielīdzināt atmiņas piešķiršanas procesam.

Pēc Guščina teiktā:

“Patiesais iemesls, kāpēc esošais dizains noved pie zemas SLAB izmantošanas, ir vienkāršs: plātņu lapas izmanto tikai viens atmiņas kopums.

Ja grupā ir tikai daži noteikta lieluma piešķīrumi vai pēc grupas noņemšanas ir palikuši daži aktīvi objekti vai ja grupā ir viena vītņota lietojumprogramma, kurā praktiski nav piešķirti kodoli, bet tas tiek darīts katru reizi jauns centrālais procesors: visos šajos gadījumos iegūtais SLAB lietojums ir ļoti mazs.

Ja kmem aprēķināšana ir atspējota, kodols var izmantot brīvu vietu flīžu lapās citiem piešķīrumiem.

Guščins apgalvo, ka tā nebija problēma, kad kmem draiveris tika ieviests kā papildu funkcija, kas bija jāiespējo katram atmiņas krājumam.

Tagad tomēr, kmem draiveris pēc noklusējuma ir iespējots grupām v1 un v2. Tā kā mūsdienu sistēmas mēdz izveidot lielu skaitu c grupu, SLAB izmantošana ir mazāk efektīva.

Pēc viņa teiktā, koplietojot plākšņu lapas starp dažādām atmiņu grupām un izmantojot pārstrādātu sistēmu, kur grāmatvedība tiek veikta pēc objekta, nevis pēc lappuses, Linux kodolā būtu optimizēts atmiņas kontrolieris kas piedāvā daudz efektīvāku izmantošanas līmeni.

Guščina piedāvātais plāksteris satur divus daļēji neatkarīgus elementus: apakšlapas ielādes API, kuru nākotnē var izmantot grāmatvedības vajadzībām, un mem_cgroup_ptr API.

Testi veikti ar jauno kontrolieri atmiņa par Guščinu ir parādījuši, ka Linux ir iespējams iegūt no 35% līdz 42% vairāk atmiņas priekšgala tīmeklī, DNS servera un datu bāzes kešatmiņā un daudzās citās slodzēs.

Guščina priekšlikums pašlaik atrodas zem “komentāru pieprasīšanas” karoga. Ja tas tiks pieņemts, to varētu integrēt 2020. gada Linux kodola laidienā.

Fuente: https://lkml.org/


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: AB Internet Networks 2008 SL
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.