Mikulas Patocka, yksi LVM: n kehittäjistä ja Red Hatin useiden tallennustilan optimointikeksintöjen keksijä, on ottanut käyttöön uuden NVFS-tiedostojärjestelmän Linux-ytimen postituslistalle.
Tämä uusi järjestelmä Tavoitteena on luoda nopea ja kompakti tiedostojärjestelmä haihtumattomille muistisiruille (NVM, esimerkiksi NVDIMM), jossa yhdistyvät RAM-muistin suorituskyky ja kyky tallentaa sisältöä pysyvästi.
NVFS: ää kehitettäessä FS NOVA: n kokemus otettiin huomioon, vuonna 2017 luotu nimenomaan NVM-muistille, mutta ei sisälly Linux-ytimeen ja rajoitetulla tuella Linux-ytimille välillä 4.13 - 5.1.
Ehdotettu FS NVFS se on paljon yksinkertaisempi kuin NOVA (4972 riviä koodia vs. 21459), tarjoaa fsck-apuohjelman, sillä on parempi suorituskyky, tukee laajennettuja määritteitä (xattrs), suojaustunnisteita, ACL-luetteloita ja kiintiöitä, mutta ei tue tilannekuvia.
NVFS-arkkitehtuuri on lähellä FS Ext4: ää ja se sopii hyvin VFS-alijärjestelmään perustuvaan tiedostojärjestelmämalliin, mikä mahdollistaa välikerrosten määrän minimoinnin ja pääsyn moduulilla, joka ei vaadi ytimen korjauksia.
NVFS käyttää DAX-ytimen käyttöliittymää laitteiden suoraan käyttämiseen jatkuva tallennus, sivun välimuistin ohittaminen. Tavuosoitetta käyttävän NVM-muistin kanssa tehtävän työn optimoimiseksi aseman sisältö yhdistetään ytimen lineaariseen osoiteavaruuteen käyttämättä perinteistä lohkolaitekerrosta ja välimuistia. Sitä käytetään juuripuun (juuripuun) hakemistojen sisällön tallentamiseen, joissa kutakin proheshirovano-tiedostonimeä ja hash-arvoa käytetään puun hakemiseen.
Tietojen eheys varmistetaan "päivitys" -mekanismin avulla (kuten FreeBSD UFS: ssä ja OpenBSD FFS: ssä) käyttämättä päiväkirjaa.
Tiedostojen vioittumisen välttämiseksi julkaisussa NVFS, lTiedonvaihtotoiminnot on ryhmitelty siten, että kaatuminen ei voi johtaa lohkojen tai inodien menetykseen, ja fsck-apuohjelma palauttaa rakenteiden eheyden.
Fsck-apuohjelma on monisäikeinen ja tarjoaa raakaa voimaa 1,6 miljoonaa inodia sekunnissa.
- Vertailuarvoissa NVFS suoritti puukopioinnin Linux-ytimen lähteillä NVM-muistissa noin 10% nopeammin kuin NOVA, 30% nopeammin kuin ext4 ja 37% nopeammin kuin XFS.
- Tiedonhakutestissä NVFS oli nopeampi kuin NOVA 3% ja ext4 ja XFS 15% (mutta aktiivisella levyvälimuistilla NOVA havaittiin 15% hitaammaksi).
- Million Directory Operations -testissä NVFS ylitti NOVA: n 40%, ext4: n 22% ja XFS: n 46%. Simuloitaessa DBMS-toimintaa NVFS-tiedostojärjestelmä ylitti NOVA: n 20%, ext4 18 kertaa ja XFS viisi kertaa. Fs_mark-testissä NVFS ja NOVA olivat suunnilleen samat, kun taas ext5 ja XFS olivat noin kolme kertaa jäljessä.
NVM-muistin perinteisten FS-tiedostojen viive johtuu siitä, että niitä ei ole suunniteltu tavallista RAM-muistia muistuttavaan tavutonta osoitetta varten.
Tavallisten asemien lukeminen tarjoaa toiminnan atomiteettiä sektorin luku- / kirjoitus tasolla, kun taas NVM-muisti tarjoaa pääsyn yksittäisten konesanojen tasolla.
Lisäksi perinteiset tiedostojärjestelmät yrittävät vähentää median käytön intensiteettiä, jota pidetään ilmeisesti hitaampana kuin RAM-muistia, ja yritetään myös niputtaa operaatioita varmistaakseen peräkkäiset lukemat kiintolevyjä käytettäessä, prosessointipyyntöjonoja, torjumalla pirstoutumista ja erillisiä prioriteetteja erilaisten toimintojen suorittamiseksi. .
NVM-muistille tällaiset komplikaatiot ovat tarpeettomia, koska tiedonsiirtonopeus on verrattavissa RAM-muistiin.
lähde: https://lkml.org/lkml/2020/9/15/517