Red Hat już pracuje nad nowym systemem plików NVFS, wydajnym dla NVM

Logo Red Hat

Mikulasz Patocka, jeden z twórców LVM i wynalazca kilku wynalazków optymalizujących pamięć masową w firmie Red Hat, wprowadził nowy system plików NVFS na listę mailingową jądra Linuksa.

Ten nowy system ma na celu stworzenie szybkiego i kompaktowego systemu plików dla układów pamięci nieulotnej (NVM, np. NVDIMM), która łączy w sobie wydajność pamięci RAM z możliwością trwałego przechowywania zawartości.

Podczas opracowywania NVFS wzięto pod uwagę doświadczenie FS NOVA, w 2017 roku zbudowany specjalnie dla pamięci NVM, ale nie jest zawarty w jądrze Linuksa iz ograniczoną obsługą jąder Linuksa od 4.13 do 5.1.

Proponowany NVFS FS jest o wiele prostszy niż NOVA (4972 linii kodu vs 21459), zapewnia narzędzie fsck, ma lepszą wydajność, obsługuje atrybuty rozszerzone (xattrs), znaczniki bezpieczeństwa, listy ACL i limity, ale nie obsługuje migawek.

Architektura NVFS jest zbliżona do FS Ext4 i dobrze wpisuje się w model systemów plików opartych na podsystemie VFS, dzięki czemu można zminimalizować liczbę warstw pośrednich i obejść się z modułem niewymagającym poprawek jądra.

NVFS korzysta z interfejsu jądra języka DAX, aby uzyskać bezpośredni dostęp do urządzeń trwałe przechowywanie, z pominięciem pamięci podręcznej strony. Aby zoptymalizować pracę z pamięcią NVM, która wykorzystuje adresowanie bajtowe, zawartość dysku jest odwzorowywana na liniową przestrzeń adresową jądra bez użycia tradycyjnej warstwy urządzenia blokowego i pośredniej pamięci podręcznej. Służy do przechowywania zawartości katalogów drzewa głównego (drzewa głównego), w których każda nazwa pliku proheshirovano i wartość skrótu jest używana do przeszukiwania drzewa.

Integralność danych jest zapewniona poprzez mechanizm „aktualizacji” (jak w UFS FreeBSD i FFS OpenBSD) bez użycia dziennika.

Aby uniknąć uszkodzenia plików w NVFS, lOperacje zmiany danych są pogrupowane taki, że awaria nie może prowadzić do utraty bloków lub i-węzłów, a integralność struktur jest przywracana przez narzędzie fsck.

Narzędzie fsck jest wielowątkowe i zapewnia wydajność brutalnej siły na poziomie 1,6 miliona i-węzłów na sekundę.

  • W testach porównawczych NVFS wykonał operację kopiowania drzewa ze źródłami jądra Linuksa w pamięci NVM o około 10% szybciej niż NOVA, 30% szybciej niż ext4 i 37% szybciej niż XFS.
  • W teście wyszukiwania danych NVFS był szybszy niż NOVA o 3%, a ext4 i XFS o 15% (ale przy aktywnej pamięci podręcznej dysku NOVA okazała się o 15% wolniejsza).
  • W teście Million Directory Operations NVFS pokonał NOVA o 40%, ext4 o 22%, a XFS o 46%. Podczas symulacji aktywności DBMS system plików NVFS był lepszy od NOVA o 20%, ext4 18 razy, a XFS 5 razy. W teście fs_mark NVFS i NOVA były mniej więcej równe, podczas gdy ext4 i XFS były około 3 razy w tyle.

Opóźnienie tradycyjnych FS w pamięci NVM wynika z faktu, że nie są one przystosowane do adresowania bajtów stosowanego w pamięci nieulotnej, która przypomina zwykłą pamięć RAM.

Odczyt ze zwykłych dysków zapewnia atomowość operacji na poziomie odczytu/zapisu sektora, podczas gdy pamięć NVM zapewnia dostęp na poziomie poszczególnych słów maszynowych.

Ponadto tradycyjne systemy plików starają się zmniejszyć intensywność dostępu do nośnika, który jest oczywiście uważany za wolniejszy niż pamięć RAM, a także próbują łączyć operacje w celu zapewnienia sekwencyjnego odczytu podczas korzystania z dysków twardych, kolejek żądań przetwarzania, fragmentacji walki i oddzielnych priorytetów do wykonywania różnych operacje.

W przypadku pamięci NVM takie komplikacje są niepotrzebne, ponieważ szybkość dostępu do danych jest porównywalna z pamięcią RAM.

źródło: https://lkml.org/lkml/2020/9/15/517


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.