Hlavní navigace

Názor ke zprávičce Intel pracuje na pětiúrovňové tabulce stránek od Milan Keršláger - 1) Označení "rozbije" neznamenalo, že něco přestane fungovat,...

  • Aktualita je stará, nové názory již nelze přidávat.
  • 17. 12. 2016 11:56

    Milan Keršláger

    1) Označení "rozbije" neznamenalo, že něco přestane fungovat, nýbrž že vznikají další rizika, která za to nestojí (uváznutí, souběh, nutnost zamykání)
    2) Větší stránky při alokaci paměti pro aplikaci není třeba řešit, protože nevzniká problém přepočtu, ale maximálně vnitřní fragmentace. Otázka je, co se bude dít při page-out.
    3) Na 4KiB stránce je závislá pouze x86 architektura, o které se zde bavíme
    4) Pokud vytvořím souborový systém na architektuře s 8KiB stránkou, bude cluster stejný právě kvůli výhodám situace velikost stránky = cluster, takže problém nevznikne. Změnila-li by architektura velikost stránky, data na discích by zůstala, takže by skokově vzrostl výše zmíněný problém s přepočty, což jsem pouze okrajově a hypoteticky zmínil jako málo pravděpodobné.
    5) Stránkování je a bude potřeba při jakékoliv práci s pamětí ve víceúlohovém systému (tj. existence virtuálního adresního prostoru, který netrpí fragmentací). Odkládání nepoužívaných stránek na disk je přidružená a jiná věc. Obecně nemá smysl vypínat swap, protože se okradete o (nepoužívanou) RAM a narazíte na velmi tvrdou zeď OOM (Out Of Memory).
    6) Množství reálně adresovatelné (osaditelné) RAM skutečně závisí na počtu vyvedených linek, ale to nesouvisí s interní podporou virtuální paměti v CPU, s čímž zase pracuje jádro OS. Takže dnes máme v jádře a CPU 48bitovou podporu adresace fyzické paměti, ale kupujeme CPU nebo základní desky, u kterých je osaditelnost RAM mnohem menší (chybí piny na CPU nebo dráty na desce). Ovšem bylo by nevýhodné mít jiné jádro (resp. jinou implementaci) pro tuto omezenou variantu a jinou implementaci pro stroje v high-endu. Na druhou stranu se v jádře záměrně používala méněúrovňová implementace, aby se složitost překladu adres snížila. Je pravděpodobné, že i tohle pětiúrovňové bude konfigurovatelné při překladu.
    7) Zarovnání je skutečně must-have, protože případné navýšení režie je dramatické a klade se na to důraz nejen při vytváření FS (souborového systému), ale i při vytváření pole nebo LVM. Zarovnání zde není totéž, co identická/násobná velikost stránky a clusteru.
    8) Použití jiné, než standardní velikosti stránky má význam ve speciálních případech a i v nich půjde o tradeoff (přinese to jiné problémy a bude otázka, zda se to vyplatí). Reálně bych viděl použití u výpočetních clusterů a velkých databází.
    9) Nasaditelnost alternativních souborových systémů, které nepoužívají cluster (alokační jednotku), je a bude zřejmě marginální. Extenty jsou násobky clusterů. Je však pravda, že SSD pracují interně s většími bloky dat (IIRC 128, 256 KiB), ovšem to platí hlavně pro mazání/relokace (při aktualizaci obsahu) a je to víceméně interní záležitost jednotky.