Red Hat vyvíjí nový souborový systém NVFS, který je účinný pro paměť NVM

Mikuláš Patočka, jeden z vývojářů LVM a autor řady vynálezy, související s optimalizací úložných systémů, práce ve společnosti Red Hat, představen na mailing listu vývojářů jádra Linux nový souborový systém NVFS, jehož cílem bylo vytvořit kompaktní a rychlý souborový systém pro energeticky nezávislé paměťové čipy (NVM, non-volatile memory, například NVDIMM), kombinující výkon paměti RAM s možností trvalého ukládání obsahu.

Při vývoji NVFS byly zohledněny zkušenosti Federální bezpečnostní služby. NEW, vytvořený v roce 2017 speciálně pro paměti NVM, ale nebyl přijat do jádra Linux и omezené podpora jádra Linux od 4.13 do 5.1.
Navrhovaný NVFS je výrazně jednodušší než NOVA (4972 řádků kódu oproti 21459), poskytuje utilitu fsck, má vyšší výkon, podporuje rozšířené atributy (xattrs), bezpečnostní štítky, ACL a kvóty, ale nepodporuje snapshoty. Architektura NVFS je blízko
Souborový systém Ext4 dobře zapadá do modelu souborového systému založeného na VFS, který umožňuje minimální počet vrstev a použití modulu, který nevyžaduje záplatování jádra.

NVFS používá rozhraní jádra DAX pro přímý přístup k trvalým úložným zařízením, obejdením mezipaměti stránek. Pro optimalizaci přístupu k paměti NVM, která používá bajtové adresování, je obsah úložiště mapován do lineárního adresního prostoru jádra bez tradiční vrstvy blokových zařízení a mezipaměti. Obsah adresářů je uložen pomocí základní strom (radixový strom), ve kterém je každý název souboru hašován a hodnota hash se používá při prohledávání stromu.

Integrita dat je zajištěna pomocí „měkké aktualizace(jako UFS ve FreeBSD a FFS v OpenBSD) bez žurnálování. Aby se zabránilo poškození souborů, NVFS seskupuje operace modifikace dat tak, aby havárie nemohla vést ke ztrátě bloků nebo inodů, a integrita struktury je obnovena pomocí utility fsck. Utilita fsck pracuje ve vícevláknovém režimu a poskytuje propustnost 1.6 milionu inodů za sekundu.

В výkonnostní testy NVFS provedl operaci kopírování zdrojového stromu jádra. Linux Na NVM paměti je NOVA přibližně o 10 % rychlejší, ext4 o 30 % rychlejší a XFS o 37 % rychlejší. V testu vyhledávání dat v souborovém systému byl NVFS o 3 % rychlejší než NOVA a ext4 i XFS byly oba o 15 % rychlejší (ale s aktivní mezipamětí disku byl NOVA o 15 % pomalejší).
V testu milionu operací s adresáři NVFS překonal NOVA o 40 %, ext4 o 22 % a XFS o 46 %. V simulaci aktivity databáze NVFS překonal NOVA o 20 %, ext4 18krát a XFS 5krát. V testu fs_mark si NVFS a NOVA vedly zhruba stejně, zatímco ext4 a XFS zaostávaly přibližně 3krát.

Zpoždění tradičních souborových systémů v paměti NVM je způsobeno tím, že nejsou navrženy pro bajtové adresování, které se používá v energeticky nezávislé paměti, jež se podobá běžné paměti RAM. Čtení z běžných paměťových zařízení zajišťuje atomické operace na úrovni čtení/zápisu sektorů, zatímco paměť NVM poskytuje přístup na úrovni jednotlivých strojových slov. Tradiční souborové systémy se dále snaží snížit intenzitu přístupu k paměťovému médiu, které je ze své podstaty považováno za pomalejší než paměť RAM, a také se snaží seskupovat operace, aby zajistily sekvenční čtení při použití pevných disků, zpracovávaly fronty požadavků, bojovaly proti fragmentaci a upřednostňovaly různé operace. U paměti NVM jsou takové složitosti zbytečné, protože rychlost přístupu k datům je srovnatelná s pamětí RAM a pořadí přístupu je irelevantní.

Zdroj: opennet.ru

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster