He ehdottavat uutta muistinohjainta Linux-ytimelle

Linux-ydin

Muistinhallinta on järjestelmän osajoukko käyttö- Se jakaa muistia käyttöjärjestelmän ja eri sovellusten välillä. Termi muisti viittaa pääasiassa päämuistiin (RAM), mutta sen hallinta vaatii lisämuistin ja välimuistin.

Muistinhallinta on erityisen vastuussa muistin tehokkaasta allokoinnista prosesseille, mikä tarkoittaa, että sinun on voitava luetella vapaana olevan muistin sijainnit, allokoida uusille prosesseille tarvittava muisti ja palauttaa muisti päättyvistä prosesseista. Linux-ytimen prosessin välittäjä on SLAB-välittäjä.

LAATTA perustuu lohko- ja välimuistijärjestelmään, joka optimoi muistipyynnöt. Tämän tyyppinen muistinhallinta vähentää jakamisen ja uudelleensijoittamisen aiheuttamaa pirstoutumista.

Lohkojen allokointi sisältää välimuistin toteuttamisen tietylle objektityypille / koolle, jossa on useita ennalta varattuja muistilohkoja, jotka on leikattu kiinteäkokoisiksi paloiksi, jotka soveltuvat tietyille kohteille.

SLAB hallitsee kappaleita siten, että kun ydintä pyydetään varaamaan muistia objektille, Voit tyydyttää pyynnön olemassa olevan lohkon varaosalla. SLAB säilyttää allokoidun muistin uudelleenkäyttöä varten, kun myöhemmät varaukset samankaltaisille kohteille, ja vähentää siten objektin alustamiseen liittyviä yleiskustannuksia.

He aikovat korvata SLAB: n

Roman Gushchin, Facebookin Linux-ytimen suunnittelutiimin jäsen, hän huomasi nykyisen muistinhallinnan / ohjaimen "vakavan puutteen". Ja rehdotti äskettäin uutta muistiohjainta lohko mikä lupaa parantaa dramaattisesti muistin käyttöä useiden "ryhmien" keskuudessa (tai ohjausryhmät) muistista.

Tämän vuoksi on tärkeää huomata, että ryhmät viittaavat Linux-ytimen ominaisuuteen, jonka avulla voidaan rajoittaa, laskea ja eristää järjestelmän resurssien (prosessori, muisti, levyn käyttö jne.) Käyttöä ja termiä "levyn sivu» SLAB voisi rinnastaa muistin allokointiprosessiin.

Gushchinin mukaan:

”Todellinen syy, miksi nykyinen muotoilu johtaa vähäiseen SLAB-käyttöön, on yksinkertainen: Levysivuja käyttää yksinomaan yksi muistialue.

Jos ryhmässä on vain muutama tietyn kokoinen allokointi tai jos aktiivisia objekteja on jäljellä sen jälkeen, kun ryhmä on poistettu, tai jos ryhmässä on yksi langoitettu sovellus, joka varaa käytännöllisesti katsoen ei ytimiä, mutta tekee sen joka kerta uusi CPU: Kaikissa näissä tapauksissa tuloksena oleva SLAB-käyttö on hyvin vähäistä.

Jos kmem-laskenta on poistettu käytöstä, ydin voi käyttää vapaata tilaa ruutujen sivuilla muihin allokointeihin.

Gushchin väittää, että tämä ei ollut ongelma, kun kmem-ajuri otettiin käyttöön valinnaisena ominaisuutena, joka oli otettava käyttöön jokaiselle muistialueelle.

Nyt kuitenkin, kmem-ohjain on oletusarvoisesti käytössä ryhmille v1 ja v2. Ja koska nykyaikaisilla järjestelmillä on taipumus luoda suuri määrä c-ryhmiä, SLAB: n käyttö on vähemmän tehokasta.

Hänen mukaansa jakamalla levysivut eri muistiryhmien välillä ja käyttämällä uudistettua järjestelmää, jossa kirjanpito tapahtuu objektin eikä sivun mukaan, yhdellä olisi Linux-ytimessä optimoitu muistinohjain joka tarjoaa paljon tehokkaamman käytön.

Gushchinin ehdottama korjaustiedosto sisältää kaksi osittain itsenäistä elementtiä: alasivun lataussovellusliittymä, jota voidaan käyttää tulevaisuudessa kirjanpitotarkoituksiin, ja mem_cgroup_ptr-sovellusliittymä.

Testit suoritettiin uudella ohjaimella muisto Gushchinista ovat osoittaneet, että Linuxissa on mahdollista saada 35–42% enemmän muistia käyttöliittymässä, DNS-palvelimen ja tietokannan välimuisti sekä monia muita kuormia.

Gushchinin ehdotus on tällä hetkellä "kommentointipyynnön" alla. Jos se hyväksytään, se voidaan integroida vuoden 2020 Linux-ytimen versioon.

lähde: https://lkml.org/


Ole ensimmäinen kommentti

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.