Navrhujú nový radič pamäte pre jadro Linuxu

Linux Kernel

Správca pamäte je podmnožinou systému prevádzkové Zdieľa pamäť medzi operačným systémom a rôznymi aplikáciami. Pojem pamäť sa vzťahuje hlavne na hlavnú pamäť (RAM), ale na jej správu je potrebný príspevok pomocnej pamäte a medzipamäte.

Správca pamäte je obzvlášť zodpovedný za efektívne prideľovanie pamäte procesom, čo znamená, že musíte byť schopní uviesť zoznam voľných umiestnení dostupnej pamäte, prideliť pamäť potrebnú pre nové procesy a získať späť pamäť z ukončených procesov. Dispečerom procesu v jadre Linuxu je dispečer SLAB.

SLAB spolieha sa na systém blokov a vyrovnávacej pamäte, ktorý optimalizuje požiadavky na pamäť. Tento typ správy pamäte znižuje fragmentáciu spôsobenú operáciami pridelenia a premiestnenia.

Alokácia blokov zahŕňa implementáciu medzipamäte pre určitý typ / veľkosť objektu, ktorá má niekoľko vopred pridelených pamäťových blokov rozrezaných na kúsky pevnej veľkosti, ktoré sú vhodné pre konkrétne objekty.

SLAB spravuje jednotlivé časti tak, že keď sa od jadra požaduje pridelenie pamäte objektu, Túto požiadavku môžete uspokojiť náhradným dielom z existujúceho bloku. SLAB zachováva pridelenú pamäť na opätovné použitie pri následnom pridelení podobných objektov, a tým znižuje režijné náklady spojené s inicializáciou objektu.

Majú v úmysle nahradiť SLAB

Roman Gushchin, Člen tímu inžinierstva pre jadro Linuxu na Facebooku zistil, čo považuje za „vážnu chybu“ v súčasnom správcovi / radiči pamäte. A rnedávno navrhla nový radič pamäte blokovať čo sľubuje výrazné zlepšenie využitia pamäte vo viacerých „skupinách“ (alebo kontrolné skupiny) z pamäte.

Vzhľadom na to je dôležité poznamenať, že cgroups sa odvoláva na vlastnosť jadra Linuxu, ktorá umožňuje obmedziť, spočítať a izolovať použitie systémových zdrojov (procesor, pamäť, využitie disku atď.) A výraz „stránka dosky» by sa dal prispôsobiť procesu prideľovania pamäte pomocou SLAB.

Podľa Gushchina:

„Skutočný dôvod, prečo súčasný dizajn vedie k nízkemu použitiu protokolu SLAB, je jednoduchý: Stránky Slab sú využívané výlučne jednou pamäťovou oblasťou.

Ak cgroup urobí iba niekoľko alokácií určitej veľkosti alebo ak po odstránení cgroup zostanú nejaké aktívne objekty alebo ak cgroup obsahuje jednu aplikáciu so závitom, ktorá alokuje prakticky žiadne jadrá, robí to vždy v nový CPU: Vo všetkých týchto prípadoch je výsledné využitie SLAB veľmi nízke.

Ak je výpočet kmem vypnutý, jadro môže použiť voľné miesto na stránkach dlaždíc pre ďalšie pridelenia «.

Gushchin tvrdí, že to nebol problém, keď bol ovládač kmem predstavený ako voliteľná funkcia, ktorú bolo treba povoliť pre každú pamäťovú oblasť.

Teraz však, ovládač kmem je predvolene povolený pre cgroup v1 a v2. A keďže moderné systémy majú tendenciu vytvárať veľké množstvo c skupín, je použitie SLAB menej efektívne.

Podľa neho zdieľaním slabých stránok medzi rôznymi pamäťovými skupinami a použitím prepracovaného systému, kde sa účtovníctvo vykonáva podľa objektu a nie podľa stránky, jeden by mal v linuxovom jadre optimalizovaný radič pamäte ktorá ponúka oveľa efektívnejšiu úroveň použitia.

Oprava navrhnutá Gushchinom obsahuje dva polonezávislé prvky: API načítania podstránok, ktoré bude možné v budúcnosti použiť na účtovné účely, a API mem_cgroup_ptr.

Testy vykonané s novým radičom spomienka na Guščina preukázali, že v systéme Linux je možné získať o 35% až 42% viac pamäte na serveri front-end, medzipamäťi serverov DNS a databáz a mnohých ďalších pracovných zaťaženiach.

Guščin návrh je momentálne pod hlavičkou „žiadosť o komentár“. Ak bude prijatý, môže byť integrovaný do vydania jadra Linuxu do roku 2020.

Fuente: https://lkml.org/


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.