Red Hat Ngembangkeun NVFS Anyar, Éfisién pikeun Mémori NVM

Mikuláš Patočka, salah sahiji pamekar LVM sarta panulis sajumlah pamanggihanpatali jeung optimasi sistem gudang, gawe di Red Hat, ngenalkeun sistem file anyar dina milis pamekar kernel Linux NVFS, aimed dina nyieun hiji FS ci tur gancang pikeun chip memori non-volatile (NVM, memori non-volatile, contona NVDIMM), ngagabungkeun kinerja RAM kalawan kamampuhan pikeun nyimpen eusi permanén.

Pangalaman FS dicandak nalika ngembangkeun NVFS Nova, dijieun husus pikeun memori NVM di 2017, tapi teu ditarima kana kernel Linux Ubuntu jeung terbatas rojongan pikeun kernels Linux Ubuntu ti 4.13 nepi ka 5.1.
FS NVFS diusulkeun loba basajan ti NOVA (4972 garis kode versus 21459), nyadiakeun utiliti fsck, boga kinerja luhur, ngarojong atribut nambahan (xattrs), labél kaamanan, ACLs jeung kuota, tapi teu ngarojong snapshots. Arsitéktur NVFS deukeut ka
Sistem file Ext4 cocog pisan kana modél sistem file dumasar kana subsistem VFS, anu ngamungkinkeun anjeun ngaleutikan jumlah lapisan sareng ngadamel modul anu henteu meryogikeun patch kana kernel.

NVFS ngagunakeun panganteur kernel DAX pikeun aksés langsung ka alat memori pengkuh, bypassing cache kaca. Pikeun ngaoptimalkeun operasi mémori NVM anu dialamatkeun bait, eusi drive dipetakeun kana rohangan alamat linier kernel tanpa nganggo lapisan alat blok tradisional sareng cache perantara. Dipaké pikeun nyimpen eusi diréktori tangkal dasar (tangkal radix) dimana unggal nami file hash sareng nilai hash dianggo nalika milarian tangkal.

Integritas data dipastikeun nganggo "apdet lemes"(sapertos dina UFS ti FreeBSD sareng FFS ti OpenBSD) tanpa nganggo journaling. Pikeun ngahindarkeun korupsi file dina NVFS, operasi parobahan data dikelompokkeun ku cara anu kacilakaan teu tiasa ngakibatkeun leungitna blok atanapi inode, sareng integritas struktur dibalikeun nganggo utilitas fsck. Utilitas fsck beroperasi dina modeu multi-threaded sareng nyayogikeun kinerja brute-force 1.6 juta inode per detik.

В tés kinerja NVFS ngalaksanakeun operasi salinan tangkal sumber kernel Linux dina mémori NVM sakitar 10% langkung gancang tibatan NOVA, 30% langkung gancang tibatan ext4, sareng 37% langkung gancang tibatan XFS. Dina tes dimeunangkeun data, NVFS leuwih gancang ti NOVA ku 3%, sarta ext4 na XFS ku 15% (tapi jeung cache disk aktip, NOVA 15% laun).
Dina uji operasi jutaan diréktori, NVFS ngaleuwihan NOVA ku 40%, ext4 ku 22%, sareng XFS ku 46%. Nalika simulasi kagiatan DBMS, sistem file NVFS ngaleuwihan NOVA ku 20%, ext4 ku 18 kali, sareng XFS ku 5 kali. Dina uji fs_mark, kinerja NVFS sareng NOVA tétéla kira-kira dina tingkat anu sami, sedengkeun ext4 sareng XFS katinggaleun sakitar 3 kali.

The lag sistem file tradisional dina mémori NVM téh alatan kanyataan yén maranéhna teu dirancang pikeun bait alamat, nu dipaké dina mémori non-volatile, nu Sigana mah RAM biasa. Maca tina drive konvensional ensures atomicity tina operasi di sektor baca / tingkat nulis, bari memori NVM nyadiakeun aksés dina tingkat kecap mesin individu. Salaku tambahan, sistem file tradisional nyobian ngirangan inténsitas aksés ka média, anu dianggap langkung laun tibatan RAM, sareng ogé nyobian operasi grup pikeun mastikeun bacaan sequential nalika nganggo hard drive, prosés antrian pamundut, fragméntasi tempur sareng misahkeun. prioritas operasi béda. . Pikeun memori NVM, komplikasi sapertos teu perlu, saprak laju aksés data comparable RAM, sarta urutan aksés henteu masalah.

sumber: opennet.ru

Tambahkeun komentar