Firma Red Hat opracowuje nowy system plików NVFS, który będzie wydajny w przypadku pamięci NVM

Mikuláš Patočka, jeden z twórców LVM i autor wielu wynalazkizwiązany z optymalizacją systemów magazynowych, pracując w Red Hat, wprowadzono na liście mailingowej programistów jądra Linux nowy system plików NVFS, mający na celu stworzenie kompaktowego i szybkiego FS dla układów pamięci nieulotnej (NVM, pamięć nieulotna, np. NVDIMM), łączącego wydajność pamięci RAM z możliwością trwałego przechowywania treści.

Przy opracowywaniu NVFS wzięto pod uwagę doświadczenia FS NOVA, stworzony w 2017 roku specjalnie dla pamięci NVM, ale nieakceptowany w jądrze Linux и ograniczony obsługa jądra Linux od 4.13 do 5.1.
Proponowany FS NVFS jest znacznie prostszy niż NOVA (4972 linii kodu w porównaniu z 21459), zapewnia narzędzie fsck, ma wyższą wydajność, obsługuje rozszerzone atrybuty (xattrs), etykiety bezpieczeństwa, listy ACL i przydziały, ale nie obsługuje migawek. Architektura NVFS jest blisko
System plików Ext4 dobrze wpisuje się w model systemów plików opartych na podsystemie VFS, co pozwala zminimalizować liczbę warstw i zadowolić się modułem nie wymagającym łatek do jądra.

NVFS korzysta z interfejsu jądra DAX w celu uzyskania bezpośredniego dostępu do urządzeń pamięci trwałej z pominięciem pamięci podręcznej stron. Aby zoptymalizować działanie adresowalnej bajtowo pamięci NVM, zawartość dysku jest mapowana do liniowej przestrzeni adresowej jądra bez użycia tradycyjnej warstwy urządzeń blokowych i pośredniej pamięci podręcznej. Służy do przechowywania zawartości katalogu drzewo bazowe (drzewo radix), w którym każda nazwa pliku jest zahaszowana, a wartość skrótu jest używana podczas przeszukiwania drzewa.

Integralność danych jest zapewniona za pomocą „miękkie aktualizacje„(jak w UFS z FreeBSD i FFS z OpenBSD) bez użycia dziennika. Aby uniknąć uszkodzenia plików w systemie NVFS, operacje zmiany danych są pogrupowane w taki sposób, aby awaria nie mogła spowodować utraty bloków ani i-węzłów, a integralność struktur przywracana jest za pomocą narzędzia fsck. Narzędzie fsck działa w trybie wielowątkowym i zapewnia wydajność typu brute-force na poziomie 1.6 miliona i-węzłów na sekundę.

В Testy wydajności System plików NVFS wykonał operację kopiowania drzewa źródłowego jądra. Linux W pamięci NVM system NOVA jest o około 10% szybszy, ext4 o 30% szybszy, a XFS o 37%. W teście wyszukiwania danych w systemie plików, NVFS był o 3% szybszy niż NOVA, a ext4 i XFS były o 15% szybsze (ale z aktywną pamięcią podręczną dysku, NOVA była o 15% wolniejsza).
W teście miliona operacji katalogowych NVFS uzyskał lepsze wyniki niż NOVA o 40%, ext4 o 22%, a XFS o 46%. Podczas symulacji aktywności DBMS system plików NVFS uzyskał lepsze wyniki niż NOVA o 20%, ext4 18 razy i XFS 5 razy. W teście fs_mark wydajność NVFS i NOVA okazała się w przybliżeniu na tym samym poziomie, podczas gdy ext4 i XFS pozostawały w tyle około 3 razy.

Opóźnienie tradycyjnych systemów plików w pamięci NVM wynika z faktu, że nie są one przeznaczone do adresowania bajtów, które jest wykorzystywane w pamięci nieulotnej, która wygląda jak zwykła pamięć RAM. Odczyt z dysków konwencjonalnych zapewnia atomowość operacji na poziomie odczytu/zapisu sektora, natomiast pamięć NVM zapewnia dostęp na poziomie pojedynczych słów maszynowych. Ponadto tradycyjne systemy plików starają się zmniejszać intensywność dostępu do nośnika, który jest uważany za oczywiście wolniejszy niż pamięć RAM, a także starają się grupować operacje, aby zapewnić sekwencyjny odczyt podczas korzystania z dysków twardych, przetwarzać kolejki żądań, zwalczać fragmentację i oddzielać priorytety różnych operacji. W przypadku pamięci NVM takie komplikacje są niepotrzebne, ponieważ prędkość dostępu do danych jest porównywalna z pamięcią RAM, a kolejność dostępu nie ma znaczenia.

Źródło: opennet.ru

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster