Nad pakuvad Linuxi tuuma jaoks välja uue mälukontrolleri

Linux Kernel

Mäluhaldur on süsteemi alamhulk operatiivne See jagab operatsioonisüsteemi ja erinevate rakenduste vahel mälu. Mõiste mälu viitab peamiselt põhimälule (RAM), kuid selle haldamine nõuab lisamälu ja vahemälu panust.

Mäluhaldur on eriti vastutav protsesside jaoks mälu efektiivse jaotamise eest, mis tähendab, et peate saama loetleda vaba mälu vabu asukohti, eraldada uuteks protsessideks vajaliku mälu ja nõuda mälu lõppevatest protsessidest. Linuxi tuuma protsessidispetšer on SLAB-dispetšer.

Plaat tugineb ploki- ja vahemälusüsteemile, mis optimeerib mälupäringuid. Seda tüüpi mäluhaldus vähendab jaotamise ja ümberpaigutamise toimingutest tingitud killustatust.

Plokkide eraldamine hõlmab vahemälu juurutamist teatud objekti tüübi / suuruse jaoks, millel on mitu eelnevalt eraldatud mäluplokki, mis on lõigatud kindla suurusega tükkideks, mis sobivad konkreetsete objektide jaoks.

SLAB haldab tükke nii, et kui tuumal palutakse objektile mälu eraldada, Selle taotluse saate rahuldada olemasoleva ploki varuosaga. SLAB säilitab eraldatud mälu taaskasutamiseks sarnaste objektide hilisema eraldamise korral ja vähendab seeläbi objekti initsialiseerimisega seotud üldkulusid.

Nad kavatsevad SLAB-i asendada

Roman Guštšin, Facebooki Linuxi kerneli insenerimeeskonna liige avastas ta praeguses mäluhalduris / kontrolleris "tõsise vea". Ja rtegi hiljuti ettepaneku uueks mälupuldiks blokeerida mis lubab dramaatiliselt parandada mälu kasutamist mitme "rühma" seas (või kontrollrühmad) mälust.

Seda arvestades on oluline märkida, et rühmad viitavad Linuxi tuuma funktsioonile, mis võimaldab piirata, loendada ja isoleerida süsteemi ressursside (protsessor, mälu, kettakasutus jne) kasutamist ja terminit "tahvli leht" SLAB võiks samastada mälu eraldamise protsessiga.

Gushchini sõnul:

„Tegelik põhjus, miks olemasolev disain vähese SLAB-i kasutamiseni viib, on lihtne: tahvlilehti kasutab ainult üks mälupulk.

Kui grupis on ainult mõned kindla suurusega eraldised või kui pärast grupi eemaldamist on mõni aktiivne objekt jäänud või kui grupis on üks keermestatud rakendus, mis eraldab praktiliselt mitte ühtegi tuuma, kuid teeb seda iga kord uus protsessor: kõigil neil juhtudel on sellest tulenev SLAB-i kasutamine väga madal.

Kui kmemi arvutamine on keelatud, võib kern kasutada muude jaotuste jaoks paanilehtedel olevat vaba ruumi.

Gushchin väidab, et see polnud probleem, kui kmemi draiver lisati valikulise funktsioonina, mis tuli lubada iga mälupargi jaoks.

Nüüd aga, on kmemi draiver vaikimisi lubatud gruppidele v1 ja v2. Kuna tänapäevased süsteemid loovad suure hulga c-gruppe, on SLAB-i kasutamine vähem efektiivne.

Tema sõnul jagades tahvlilehti erinevate mälugruppide vahel ja kasutades ümbertöödeldud süsteemi, kus raamatupidamine toimub objekti, mitte lehe kaupa, ühel oleks Linuxi tuumas optimeeritud mälukontroller mis pakub palju tõhusamat kasutustaset.

Gushchini pakutud plaaster sisaldab kahte poolisõltumatut elementi: alamlehe laadimise API, mida saab tulevikus kasutada raamatupidamise eesmärgil, ja mem_cgroup_ptr API.

Uue kontrolleriga tehtud katsed mälestus Gushchinist on näidanud, et Linuxis on võimalik saada 35–42% rohkem mälu esiveebis, DNS-serveri ja andmebaasi vahemälu ning paljud muud töökoormused.

Gushchini ettepanek on praegu "kommentaaritaotluse" sildi all. Kui see aktsepteeritakse, võib selle integreerida 2020. aasta Linuxi kerneli väljaandesse.

allikas: https://lkml.org/


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutav: AB Internet Networks 2008 SL
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.