Red Hat disvolvas novan NVFS-dosiersistemon efikan por NVM-memoro

Mikuláš Patočka, unu el la programistoj de LVM kaj aŭtoro de kelkaj inventojrilata al optimumigo de stokadsistemoj, laborante ĉe Red Hat, enkondukita nova dosiersistemo en la dissendolisto de Linuksaj kernaj programistoj NVFS, celita al kreado de kompakta kaj rapida FS por nevolatilaj memorpecoj (NVM, nevolatila memoro, ekzemple NVDIMM), kombinante RAM-efikecon kun la kapablo konstante stoki enhavon.

La sperto de la FS estis enkalkulita dum evoluigado de NVFS NOVA, kreita specife por NVM-memoro en 2017, sed ne akceptita en la Linukso-kerno kaj limigita subteno por Linukso-kernoj de 4.13 ĝis 5.1.
La proponita FS NVFS estas multe pli simpla ol NOVA (4972 linioj de kodo kontraŭ 21459), disponigas la fsck-servaĵon, havas pli altan efikecon, subtenas plilongigitajn atributojn (xattrs), sekurecetikedojn, ACLojn kaj kvotojn, sed ne subtenas momentfotojn. Arkitekturo NVFS estas proksima al
Ext4-dosiersistemo bone taŭgas en la modelo de dosiersistemoj bazitaj sur la subsistemo VFS, kiu ebligas al vi minimumigi la nombron da tavoloj kaj fariĝi kun modulo, kiu ne postulas flikojn al la kerno.

NVFS uzas la kernan interfacon DAX por rekta aliro al persistaj memoraj aparatoj, preterirante la paĝkaŝmemoron. Por optimumigi operacion de bajt-adresebla NVM-memoro, la enhavo de la veturado estas mapita al la linia adresspaco de la kerno sen la uzo de tradicia blokaparatavolo kaj meza kaŝmemoro. Uzita por stoki dosierujan enhavon baza arbo (radix-arbo) en kiu ĉiu dosiernomo estas haŝita kaj la hashvaloro estas uzata dum serĉado de la arbo.

Datuma integreco estas certigita uzante la "molaj ĝisdatigoj"(kiel en UFS de FreeBSD kaj FFS de OpenBSD) sen uzi journaling. Por eviti dosiero-korupton en NVFS, datumŝanĝaj operacioj estas grupigitaj tiel, ke kraŝo ne povas kaŭzi perdon de blokoj aŭ inodoj, kaj la integreco de strukturoj estas restarigita per la fsck-utilo. La fsck-ilaĵo funkcias en multfadena reĝimo kaj disponigas brutfortan rendimenton de 1.6 milionoj da inodoj sekundo.

В agado-testoj NVFS faris la Linukso-kernan fontarban kopioperacion sur NVM-memoro proksimume 10% pli rapide ol NOVA, 30% pli rapide ol ext4, kaj 37% pli rapide ol XFS. En la provo de rehavigo de datumoj, NVFS estis pli rapida ol NOVA je 3%, kaj ext4 kaj XFS je 15% (sed kun aktiva diskmemoro, NOVA estis 15% pli malrapida).
En la provo de miliono-operacioj, NVFS superis NOVA je 40%, ext4 je 22% kaj XFS je 46%. Dum simulado de DBMS-agado, la dosiersistemo NVFS superis NOVA je 20%, ext4 je 18 fojojn, kaj XFS je 5 fojojn. En la fs_mark-testo, la agado de NVFS kaj NOVA montriĝis proksimume je la sama nivelo, dum ext4 kaj XFS postrestis ĉirkaŭ 3 fojojn.

La malfruo de tradiciaj dosiersistemoj sur NVM-memoro ŝuldiĝas al la fakto, ke ili ne estas dezajnitaj por bitokadresado, kiu estas uzata en nevolatila memoro, kiu aspektas kiel regula RAM. Legado de konvenciaj diskoj certigas atomecon de la operacio ĉe la sektoro legado/skriba nivelo, dum NVM-memoro disponigas aliron je la nivelo de individuaj maŝinvortoj. Krome, tradiciaj dosiersistemoj provas redukti la intensecon de aliro al la amaskomunikilaro, kiu estas konsiderata kiel evidente pli malrapida ol RAM, kaj ankaŭ provas grupigi operaciojn por certigi sinsekvan legadon kiam vi uzas malmolajn diskojn, procesi petajn atendovicojn, batali fragmentiĝon kaj apartigi la. prioritatoj de malsamaj operacioj. . Por NVM-memoro, tiaj komplikaĵoj estas nenecesaj, ĉar la rapideco de datuma aliro estas komparebla al RAM, kaj la alirordo ne gravas.

fonto: opennet.ru

Aldoni komenton