Red Hat, NVM belleği için verimli yeni bir NVFS dosya sistemi geliştiriyor

Mikuláš Patočka, LVM'nin geliştiricilerinden biri ve çok sayıda kitabın yazarı icatlarDepolama sistemlerinin optimizasyonu ile ilgili, Red Hat'te çalışan, gönderilen Linux çekirdeği geliştirici posta listesindeki yeni dosya sistemi NVFS, kalıcı bellek yongaları (NVM, kalıcı bellek, örneğin NVDIMM) için kompakt ve hızlı bir FS oluşturmayı amaçlayarak RAM performansını kalıcı olarak içerik depolama yeteneğiyle birleştirir.

NVFS geliştirilirken FS'nin deneyimi dikkate alındı YENİ2017'de NVM belleği için özel olarak oluşturulmuş ancak Linux çekirdeğine kabul edilmemiş ve sınırlı 4.13'ten 5.1'e kadar Linux çekirdekleri desteği.
Önerilen FS NVFS, NOVA'dan çok daha basittir (4972'a karşı 21459 kod satırı), fsck yardımcı programını sağlar, daha yüksek performansa sahiptir, genişletilmiş öznitelikleri (xattrs), güvenlik etiketlerini, ACL'leri ve kotaları destekler, ancak anlık görüntüleri desteklemez. Mimari NVFS yakın
Ext4 dosya sistemi, VFS alt sistemini temel alan dosya sistemleri modeline iyi uyum sağlar; bu, katman sayısını en aza indirmenize ve çekirdeğe yama gerektirmeyen bir modülle yetinmenize olanak tanır.

NVFS çekirdek arayüzünü kullanır DAX sayfa önbelleğini atlayarak kalıcı bellek aygıtlarına doğrudan erişim için. Bayt adresli NVM belleğin çalışmasını optimize etmek için sürücünün içerikleri, geleneksel blok aygıt katmanı ve ara önbellek kullanılmadan çekirdeğin doğrusal adres alanına eşlenir. Dizin içeriğini depolamak için kullanılır temel ağaç (radix ağacı) her dosya adının karma hale getirildiği ve karma değerinin ağaçta arama yaparken kullanıldığı.

Veri bütünlüğü “” kullanılarak sağlanır.yumuşak güncellemeler"(FreeBSD'den UFS'de ve OpenBSD'den FFS'de olduğu gibi) günlük kaydı kullanmadan. NVFS'de dosya bozulmasını önlemek için, veri değiştirme işlemleri, bir çökmenin blok veya inode kaybına yol açmayacağı şekilde gruplandırılır ve fsck yardımcı programı kullanılarak yapıların bütünlüğü geri yüklenir. Fsck yardımcı programı çok iş parçacıklı modda çalışır ve saniyede 1.6 milyon düğümlük kaba kuvvet performansı sağlar.

В performans testleri NVFS, Linux çekirdeği kaynak ağacı kopyalama işlemini NVM belleği üzerinde NOVA'dan yaklaşık %10, ext30'ten %4 ve XFS'den %37 daha hızlı gerçekleştirdi. Veri alma testinde NVFS, NOVA'dan %3, ext4 ve XFS'den %15 daha hızlıydı (ancak aktif disk önbelleğiyle NOVA %15 daha yavaştı).
Milyon dizin işlemi testinde NVFS, NOVA'yı %40, ext4'ü %22 ve XFS'yi %46 oranında geride bıraktı. DBMS etkinliğini simüle ederken, NVFS dosya sistemi NOVA'dan %20, ext4'ten 18 kat ve XFS'den 5 kat daha iyi performans gösterdi. Fs_mark testinde NVFS ve NOVA'nın performansı yaklaşık olarak aynı seviyede çıkarken ext4 ve XFS'nin yaklaşık 3 kat gerisinde kaldığı görüldü.

Geleneksel dosya sistemlerinin NVM belleğindeki gecikmesi, normal RAM'e benzeyen kalıcı bellekte kullanılan bayt adresleme için tasarlanmamalarından kaynaklanmaktadır. Geleneksel sürücülerden okuma, sektör okuma/yazma düzeyinde işlemin atomik olmasını sağlarken, NVM belleği bireysel makine sözcükleri düzeyinde erişim sağlar. Ek olarak, geleneksel dosya sistemleri, RAM'den açıkça daha yavaş olduğu düşünülen medyaya erişim yoğunluğunu azaltmaya çalışmakta ve ayrıca sabit diskleri kullanırken sıralı okumayı sağlamak, istek kuyruklarını işlemek, parçalanmayla mücadele etmek ve verileri ayırmak için işlemleri gruplandırmaya çalışmaktadır. Farklı operasyonların öncelikleri. NVM belleği için, veri erişim hızı RAM ile karşılaştırılabilir olduğundan ve erişim sırası önemli olmadığından bu tür karmaşıklıklar gereksizdir.

Kaynak: opennet.ru

Yorum ekle