Red Hat po zhvillon një sistem të ri skedarësh NVFS që është efikas për memorien NVM

Mikuláš Patočka, një nga zhvilluesit e LVM dhe autor i një numri të shpikjetlidhur me optimizimin e sistemeve të ruajtjes, duke punuar në Red Hat, paraqitur sistemi i ri i skedarëve në listën e postimeve të zhvilluesve të kernel Linux NVFS, që synon krijimin e një FS kompakte dhe të shpejtë për çipat e memories jo të paqëndrueshme (NVM, memorie jo e paqëndrueshme, për shembull NVDIMM), duke kombinuar performancën e RAM-it me aftësinë për të ruajtur në mënyrë të përhershme përmbajtjen.

Përvoja e FS u mor parasysh gjatë zhvillimit të NVFS NEW, krijuar posaçërisht për memorien NVM në 2017, por nuk u pranua në kernelin Linux dhe i kufizuar mbështetje për kernelet Linux nga 4.13 në 5.1.
FS NVFS i propozuar është shumë më i thjeshtë se NOVA (4972 rreshta kodi kundrejt 21459), ofron shërbimin fsck, ka performancë më të lartë, mbështet atributet e zgjeruara (xattrs), etiketat e sigurisë, ACL-të dhe kuotat, por nuk mbështet fotografitë e çastit. Arkitekturë NVFS është afër
Sistemi i skedarëve Ext4 përshtatet mirë me modelin e sistemeve të skedarëve të bazuar në nënsistemin VFS, i cili ju lejon të minimizoni numrin e shtresave dhe të kënaqeni me një modul që nuk kërkon arna në kernel.

NVFS përdor ndërfaqen e kernelit DAX për qasje të drejtpërdrejtë në pajisjet e memories së vazhdueshme, duke anashkaluar cache-in e faqeve. Për të optimizuar funksionimin e memories NVM të adresuar me bajt, përmbajtja e diskut është hartuar në hapësirën lineare të adresave të kernelit pa përdorimin e një shtrese tradicionale të pajisjes bllok dhe cache të ndërmjetme. Përdoret për të ruajtur përmbajtjen e drejtorisë pemë bazë (pema e rrënjës) në të cilën çdo emër skedari është hash dhe vlera hash përdoret kur kërkohet pema.

Integriteti i të dhënave sigurohet duke përdorur "përditësime të buta"(si në UFS nga FreeBSD dhe FFS nga OpenBSD) pa përdorur ditar. Për të shmangur korrupsionin e skedarëve në NVFS, operacionet e ndryshimit të të dhënave grupohen në atë mënyrë që një përplasje nuk mund të çojë në humbjen e blloqeve ose inodes, dhe integriteti i strukturave rikthehet duke përdorur mjetin fsck. Shërbimi fsck funksionon në modalitetin me shumë fije dhe siguron performancë me forcë brutale prej 1.6 milion inode në sekondë.

В testet e performancës NVFS kreu operacionin e kopjimit të pemës me burim kernel Linux në memorien NVM rreth 10% më shpejt se NOVA, 30% më shpejt se ext4 dhe 37% më shpejt se XFS. Në testin e rikthimit të të dhënave, NVFS ishte më i shpejtë se NOVA me 3%, dhe ext4 dhe XFS me 15% (por me cache aktive të diskut, NOVA ishte 15% më i ngadalshëm).
Në testin e operacioneve me miliona direktoriume, NVFS e tejkaloi NOVA-n me 40%, ext4 me 22% dhe XFS me 46%. Gjatë simulimit të aktivitetit të DBMS, sistemi i skedarëve NVFS e tejkaloi NOVA me 20%, ext4 me 18 herë dhe XFS me 5 herë. Në testin fs_mark, performanca e NVFS dhe NOVA rezultoi të jetë afërsisht në të njëjtin nivel, ndërsa ext4 dhe XFS mbetën prapa me rreth 3 herë.

Vonesa e sistemeve tradicionale të skedarëve në memorien NVM është për faktin se ato nuk janë të dizajnuara për adresimin e bajtit, i cili përdoret në memorien jo të paqëndrueshme, e cila duket si RAM i rregullt. Leximi nga disqet konvencionale siguron atomicitetin e funksionimit në nivelin e sektorit të leximit/shkrimit, ndërsa memoria NVM siguron akses në nivelin e fjalëve individuale të makinës. Përveç kësaj, sistemet tradicionale të skedarëve përpiqen të zvogëlojnë intensitetin e aksesit në media, i cili konsiderohet dukshëm më i ngadalshëm se RAM, dhe gjithashtu përpiqen të grupojnë operacionet për të siguruar leximin vijues kur përdorin disqet e ngurtë, përpunojnë radhët e kërkesave, luftojnë fragmentimin dhe veçojnë prioritetet e operacioneve të ndryshme. . Për memorien NVM, komplikime të tilla janë të panevojshme, pasi shpejtësia e aksesit të të dhënave është e krahasueshme me RAM-in dhe rendi i hyrjes nuk ka rëndësi.

Burimi: opennet.ru

Shto një koment