Red Hat ngembangake sistem file NVFS anyar sing efisien kanggo memori NVM

Mikuláš Patočka, salah sawijining pangembang LVM lan penulis sawetara panemugegandhengan karo optimalisasi sistem panyimpenan, kerja ing Red Hat, ngenalake sistem file anyar ing dhaptar milis pangembang kernel Linux NVFS, ngarahke ing nggawe FS kompak lan cepet kanggo chip memori non-molah malih (NVM, memori non-molah malih, contone NVDIMM), nggabungke kinerja RAM karo kemampuan kanggo nyimpen isi permanen.

Pengalaman FS dianggep nalika ngembangake NVFS NOVA, digawe khusus kanggo memori NVM ing 2017, nanging ora ditampa menyang kernel Linux lan winates dhukungan kanggo kernel Linux saka 4.13 nganti 5.1.
FS NVFS sing diusulake luwih prasaja tinimbang NOVA (4972 baris kode lawan 21459), nyedhiyakake sarana fsck, nduweni kinerja sing luwih dhuwur, ndhukung atribut lengkap (xattrs), label keamanan, ACL lan kuota, nanging ora ndhukung jepretan. Arsitektur NVFS cedhak
Sistem file Ext4 pas karo model sistem file adhedhasar subsistem VFS, sing ngidini sampeyan nyilikake jumlah lapisan lan nggawe modul sing ora mbutuhake patch ing kernel.

NVFS nggunakake antarmuka kernel Dax kanggo akses langsung menyang piranti memori sing terus-terusan, ngliwati cache kaca. Kanggo ngoptimalake operasi memori NVM sing dialamatake byte, isi drive dipetakan menyang ruang alamat linier kernel tanpa nggunakake lapisan piranti blok tradisional lan cache penengah. Digunakake kanggo nyimpen isi direktori pokok dhasar (wit radix) ing ngendi saben jeneng berkas di-hash lan nilai hash digunakake nalika nggoleki wit kasebut.

Integritas data dipesthekake nggunakake "nganyari alus"(kaya ing UFS saka FreeBSD lan FFS saka OpenBSD) tanpa nggunakake jurnal. Kanggo ngindhari korupsi file ing NVFS, operasi pangowahan data diklompokake kanthi cara sing kacilakan ora bisa nyebabake ilang blok utawa inode, lan integritas struktur dibalekake nggunakake sarana fsck. Utilitas fsck beroperasi ing mode multi-threaded lan nyedhiyakake kinerja brute-force 1.6 yuta inode per detik.

В tes kinerja NVFS nindakake operasi salinan wit sumber kernel Linux ing memori NVM babagan 10% luwih cepet tinimbang NOVA, 30% luwih cepet tinimbang ext4, lan 37% luwih cepet tinimbang XFS. Ing test retrieval data, NVFS luwih cepet tinimbang NOVA kanthi 3%, lan ext4 lan XFS kanthi 15% (nanging kanthi cache disk aktif, NOVA 15% luwih alon).
Ing tes operasi direktori yuta, NVFS ngluwihi NOVA kanthi 40%, ext4 kanthi 22%, lan XFS kanthi 46%. Nalika simulasi aktivitas DBMS, sistem file NVFS ngluwihi NOVA kanthi 20%, ext4 kaping 18, lan XFS kaping 5. Ing tes fs_mark, kinerja NVFS lan NOVA dadi kira-kira ing tingkat sing padha, dene ext4 lan XFS ketinggalan udakara 3 kali.

Lag saka sistem file tradisional ing memori NVM amarga kasunyatan sing padha ora dirancang kanggo alamat byte, kang digunakake ing memori non-molah malih, kang katon kaya RAM biasa. Maca saka drive conventional njamin atomicity saka operasi ing sektor maca / tingkat nulis, nalika memori NVM menehi akses ing tingkat tembung mesin individu. Kajaba iku, sistem file tradisional nyoba nyuda intensitas akses menyang media, sing dianggep luwih alon tinimbang RAM, lan uga nyoba nglumpukake operasi kanggo mesthekake maca urutan nalika nggunakake hard drive, proses antrian panjaluk, fragmentasi pertempuran lan misahake. prioritas operasi beda.. Kanggo memori NVM, komplikasi kasebut ora perlu, amarga kecepatan akses data bisa dibandhingake karo RAM, lan urutan akses ora masalah.

Source: opennet.ru

Add a comment