Red Hat qed tiżviluppa sistema ġdida ta' fajls NVFS li hija effiċjenti għall-memorja NVM

Mikuláš Patočka, wieħed mill-iżviluppaturi ta 'LVM u awtur ta' numru ta ' invenzjonijietrelatati mal-ottimizzazzjoni tas-sistemi tal-ħażna, li jaħdmu fir-Red Hat, daħħal sistema ta' fajls ġdida fuq il-lista tal-posta tal-iżviluppaturi tal-kernel Linux NVFS, immirat lejn il-ħolqien ta 'FS kompatt u veloċi għal ċipep tal-memorja mhux volatili (NVM, memorja mhux volatili, pereżempju NVDIMM), li tgħaqqad il-prestazzjoni tar-RAM mal-kapaċità li taħżen il-kontenut b'mod permanenti.

L-esperjenza tal-FS ġiet ikkunsidrata meta żviluppat NVFS NEW, maħluqa speċifikament għall-memorja NVM fl-2017, iżda mhux aċċettata fil-kernel Linux u limitat appoġġ għall-kernels Linux minn 4.13 sa 5.1.
L-FS NVFS propost huwa ħafna aktar sempliċi minn NOVA (4972 linji ta 'kodiċi kontra 21459), jipprovdi l-utilità fsck, għandu prestazzjoni ogħla, jappoġġja attributi estiżi (xattrs), tikketti ta' sigurtà, ACLs u kwoti, iżda ma jappoġġjax snapshots. Arkitettura NVFS huwa qrib
Sistema ta 'fajls Ext4 tidħol sew fil-mudell ta' sistemi ta 'fajls ibbażati fuq is-subsistema VFS, li tippermettilek timminimizza n-numru ta' saffi u tagħmel tajjeb ma 'modulu li ma jeħtieġx garża għall-qalba.

NVFS juża l-interface tal-kernel DAX għal aċċess dirett għal apparati tal-memorja persistenti, billi tevita l-cache tal-paġna. Biex tiġi ottimizzata l-operat tal-memorja NVM indirizzata bil-byte, il-kontenut tad-drajv huwa mmappjat mal-ispazju tal-indirizz lineari tal-qalba mingħajr l-użu ta 'saff ta' apparat ta 'blokk tradizzjonali u cache intermedju. Użat biex jaħżen il-kontenut tad-direttorju siġra bażi (siġra radix) li fiha kull isem tal-fajl huwa hashed u l-valur hash huwa użat meta tfittex is-siġra.

L-integrità tad-dejta hija żgurata bl-użu tal-“aġġornamenti artab"(bħal fl-UFS minn FreeBSD u FFS minn OpenBSD) mingħajr ma tuża ġurnaling. Biex tiġi evitata l-korruzzjoni tal-fajls fl-NVFS, l-operazzjonijiet tal-bidla tad-dejta huma miġbura b'tali mod li ħabta ma tistax twassal għat-telf ta 'blokki jew inodes, u l-integrità tal-istrutturi tiġi restawrata bl-użu tal-utilità fsck. L-utilità fsck topera f'modalità multi-threaded u tipprovdi prestazzjoni ta 'forza bruta ta' 1.6 miljun inodes kull sekonda.

В testijiet tal-prestazzjoni NVFS wettaq l-operazzjoni tal-kopja tas-siġra tas-sors tal-kernel Linux fuq il-memorja NVM madwar 10% aktar mgħaġġla minn NOVA, 30% aktar mgħaġġla minn ext4, u 37% aktar mgħaġġla minn XFS. Fit-test tal-irkupru tad-dejta, NVFS kien aktar mgħaġġel minn NOVA bi 3%, u ext4 u XFS bi 15% (iżda b'diska cache attiva, NOVA kienet 15% aktar bil-mod).
Fit-test tal-miljun operazzjonijiet tad-direttorju, NVFS qabeż lil NOVA b'40%, ext4 bi 22%, u XFS b'46%. Meta ssimulat l-attività DBMS, is-sistema tal-fajls NVFS qabżet lil NOVA b'20%, ext4 bi 18-il darba, u XFS b'5 darbiet. Fit-test fs_mark, il-prestazzjoni ta 'NVFS u NOVA rriżulta li kienet bejn wieħed u ieħor fl-istess livell, filwaqt li ext4 u XFS baqgħu lura b'madwar 3 darbiet.

Id-dewmien tas-sistemi ta 'fajls tradizzjonali fuq il-memorja NVM huwa dovut għall-fatt li mhumiex iddisinjati għall-indirizzar tal-byte, li tintuża f'memorja mhux volatili, li tidher qisha RAM regolari. Il-qari minn drives konvenzjonali jiżgura l-atomiċità tal-operazzjoni fil-livell tal-qari/kitba tas-settur, filwaqt li l-memorja NVM tipprovdi aċċess fil-livell ta 'kliem tal-magni individwali. Barra minn hekk, is-sistemi tal-fajls tradizzjonali jippruvaw inaqqsu l-intensità tal-aċċess għall-midja, li hija meqjusa bħala ovvjament aktar bil-mod minn RAM, u jippruvaw ukoll jiġbru operazzjonijiet biex jiżguraw qari sekwenzjali meta jużaw hard drives, jipproċessaw kjuwijiet ta 'rikjesti, jiġġieldu l-frammentazzjoni u jisseparaw il- prijoritajiet ta' operazzjonijiet differenti. Għall-memorja NVM, kumplikazzjonijiet bħal dawn mhumiex meħtieġa, peress li l-veloċità tal-aċċess għad-dejta hija komparabbli ma 'RAM, u l-ordni tal-aċċess ma jimpurtax.

Sors: opennet.ru

Żid kumment