Red Hat sedang mengembangkan sistem file NVFS baru yang efisien untuk memori NVM

Mikuláš Patočka, salah satu pengembang LVM dan penulis sejumlah penemuanterkait dengan optimalisasi sistem penyimpanan, bekerja di Red Hat, diperkenalkan sistem file baru di milis pengembang kernel Linux NVFS, bertujuan untuk menciptakan FS yang ringkas dan cepat untuk chip memori non-volatil (NVM, memori non-volatil, misalnya NVDIMM), menggabungkan kinerja RAM dengan kemampuan menyimpan konten secara permanen.

Pengalaman FS diperhitungkan ketika mengembangkan NVFS BARU, dibuat khusus untuk memori NVM pada tahun 2017, tetapi tidak diterima di kernel Linux dan terbatas dukungan untuk kernel Linux dari 4.13 hingga 5.1.
FS NVFS yang diusulkan jauh lebih sederhana daripada NOVA (4972 baris kode versus 21459), menyediakan utilitas fsck, memiliki kinerja lebih tinggi, mendukung atribut yang diperluas (xattrs), label keamanan, ACL dan kuota, tetapi tidak mendukung snapshot. Arsitektur NVFS sudah dekat
Sistem file Ext4 cocok dengan model sistem file berdasarkan subsistem VFS, yang memungkinkan Anda meminimalkan jumlah lapisan dan puas dengan modul yang tidak memerlukan patch pada kernel.

NVFS menggunakan antarmuka kernel DAX untuk akses langsung ke perangkat memori persisten, melewati cache halaman. Untuk mengoptimalkan pengoperasian memori NVM beralamat byte, konten drive dipetakan ke ruang alamat linier kernel tanpa menggunakan lapisan perangkat blok tradisional dan cache perantara. Digunakan untuk menyimpan isi direktori pohon dasar (pohon radix) di mana setiap nama file di-hash dan nilai hash digunakan saat mencari pohon.

Integritas data dipastikan menggunakan “pembaruan lembut"(seperti pada UFS dari FreeBSD dan FFS dari OpenBSD) tanpa menggunakan journaling. Untuk menghindari kerusakan file di NVFS, operasi perubahan data dikelompokkan sedemikian rupa sehingga kerusakan tidak dapat mengakibatkan hilangnya blok atau inode, dan integritas struktur dipulihkan menggunakan utilitas fsck. Utilitas fsck beroperasi dalam mode multi-threaded dan memberikan kinerja brute force sebesar 1.6 juta inode per detik.

В tes kinerja NVFS melakukan operasi penyalinan pohon sumber kernel Linux pada memori NVM sekitar 10% lebih cepat dari NOVA, 30% lebih cepat dari ext4, dan 37% lebih cepat dari XFS. Dalam uji pengambilan data, NVFS lebih cepat dari NOVA sebesar 3%, dan ext4 dan XFS sebesar 15% (tetapi dengan cache disk aktif, NOVA lebih lambat 15%).
Dalam uji operasi jutaan direktori, NVFS mengungguli NOVA sebesar 40%, ext4 sebesar 22%, dan XFS sebesar 46%. Saat mensimulasikan aktivitas DBMS, sistem file NVFS mengungguli NOVA sebesar 20%, ext4 sebanyak 18 kali, dan XFS sebanyak 5 kali. Pada pengujian fs_mark, performa NVFS dan NOVA ternyata berada pada level yang kurang lebih sama, sedangkan ext4 dan XFS tertinggal sekitar 3 kali lipat.

Kelambatan sistem file tradisional pada memori NVM disebabkan oleh fakta bahwa sistem tersebut tidak dirancang untuk pengalamatan byte, yang digunakan dalam memori non-volatile, yang terlihat seperti RAM biasa. Membaca dari drive konvensional memastikan atomisitas operasi pada tingkat baca/tulis sektor, sementara memori NVM menyediakan akses pada tingkat kata-kata mesin individual. Selain itu, sistem file tradisional mencoba mengurangi intensitas akses ke media, yang dianggap jelas lebih lambat daripada RAM, dan juga mencoba mengelompokkan operasi untuk memastikan pembacaan berurutan saat menggunakan hard drive, memproses antrian permintaan, memerangi fragmentasi, dan memisahkan file. prioritas operasi yang berbeda. . Untuk memori NVM, komplikasi seperti itu tidak diperlukan, karena kecepatan akses data sebanding dengan RAM, dan urutan akses tidak menjadi masalah.

Sumber: opennet.ru

Tambah komentar