Red Hat töötab välja uut NVFS-failisüsteemi, mis on NVM-mälu jaoks tõhus

Mikuláš Patočka, üks LVM-i arendajatest ja mitmete raamatute autor leiutisiseotud salvestussüsteemide optimeerimisega, töötades Red Hatis, tutvustatud uus failisüsteem Linuxi kerneli arendajate meililistis NVFS, mille eesmärk on luua kompaktne ja kiire FS püsimälukiipide jaoks (NVM, püsimälu, näiteks NVDIMM), mis ühendab RAM-i jõudluse võimalusega sisu püsivalt salvestada.

NVFS-i väljatöötamisel võeti arvesse FS-i kogemusi UUED, mis loodi spetsiaalselt NVM-mälu jaoks 2017. aastal, kuid mida ei võetud Linuxi kernelisse ja piiratud Linuxi tuumade tugi 4.13 kuni 5.1.
Kavandatud FS NVFS on palju lihtsam kui NOVA (4972 koodirida versus 21459), pakub fsck utiliiti, on suurema jõudlusega, toetab laiendatud atribuute (xattrs), turvasilte, ACL-e ja kvoote, kuid ei toeta hetktõmmiseid. Arhitektuur NVFS on lähedal
Ext4 failisüsteem sobib hästi VFS-i alamsüsteemil põhinevate failisüsteemide mudeliga, mis võimaldab minimeerida kihtide arvu ja leppida mooduliga, mis ei vaja kernelile paikasid.

NVFS kasutab kerneli liidest DAX otseseks juurdepääsuks püsimäluseadmetele, lehe vahemälust mööda minnes. Baiti aadressiga NVM-mälu töö optimeerimiseks vastendatakse draivi sisu kerneli lineaarsesse aadressiruumi ilma traditsioonilist plokkseadme kihti ja vahemälu kasutamata. Kasutatakse kataloogi sisu salvestamiseks aluspuu (radiksipuu), milles iga failinimi räsitakse ja puu otsimisel kasutatakse räsiväärtust.

Andmete terviklikkus tagatakse kasutades "pehmed värskendused"(nagu FreeBSD UFS-is ja OpenBSD FFS-is) ilma päevitamist kasutamata. Failide kahjustamise vältimiseks NVFS-is on andmete muutmise toimingud rühmitatud nii, et krahh ei saaks põhjustada plokkide või inoodide kadumist ning struktuuride terviklikkus taastatakse utiliidi fsck abil. Utiliit fsck töötab mitme keermega režiimis ja pakub 1.6 miljonit inoodi sekundis jõhkra jõuga jõudlust.

В jõudlustestid NVFS teostas Linuxi kerneli lähtepuu kopeerimise toimingu NVM-mälus umbes 10% kiiremini kui NOVA, 30% kiiremini kui ext4 ja 37% kiiremini kui XFS. Andmete otsimise testis oli NVFS 3% kiirem kui NOVA ning ext4 ja XFS 15% (aga aktiivse ketta vahemälu korral oli NOVA 15% aeglasem).
Miljoni kataloogioperatsiooni testis edestas NVFS NOVA-d 40%, ext4 22% ja XFS-i 46%. DBMS-i tegevuse simuleerimisel ületas NVFS-failisüsteem NOVA-d 20 korda, ext4 18 korda ja XFS-i 5 korda. Fs_mark testis osutus NVFS-i ja NOVA jõudlus ligikaudu samal tasemel, samas kui ext4 ja XFS jäid maha umbes 3 korda.

Traditsiooniliste failisüsteemide mahajäämus NVM-mälus on tingitud sellest, et need ei ole mõeldud bait-aadressi jaoks, mida kasutatakse püsimälus, mis näeb välja nagu tavaline RAM. Tavalistelt draividelt lugemine tagab toimingu atomaalsuse sektori lugemise/kirjutamise tasemel, samas kui NVM-mälu võimaldab juurdepääsu üksikute masinsõnade tasemel. Lisaks püüavad traditsioonilised failisüsteemid vähendada meediumile juurdepääsu intensiivsust, mida peetakse RAM-ist ilmselgelt aeglasemaks, ning rühmitada toiminguid, et tagada kõvaketaste kasutamisel järjestikune lugemine, töödelda päringu järjekordi, võidelda killustatuse vastu ja eraldada erinevate toimingute prioriteedid. NVM-mälu puhul pole sellised komplikatsioonid vajalikud, kuna andmetele juurdepääsu kiirus on võrreldav RAM-iga ja juurdepääsu järjekord ei oma tähtsust.

Allikas: opennet.ru

Lisa kommentaar