Po ulepszeniach systemu Windows ReFS, Linux uzyskujący F2FS, Btrfs, EXT4 zwiększa wydajność

Po ulepszeniach systemu Windows ReFS, Linux uzyskujący F2FS, Btrfs, EXT4 zwiększa wydajność

Microsoft stopniowo rozszerza wsparcie dla ReFS (Resilient File System) w ostatnich kompilacjach Windows 11 Insider. Po raz pierwszy zauważono w styczniu, że ukryta funkcja w kompilacji deweloperskiej 25281 umożliwiłaby użytkownikom zainstalowanie systemu Windows 11 na woluminie ReFS . Od tego czasu firma dodała więcej funkcji opartych na ReFS, takich jak woluminy VHD „Dev Drive” . Firma Microsoft zaktualizowała również podstawową wersję ReFS do wersji 3.10 w jednej z ostatnich kompilacji kanału Canary.

Podczas gdy wykorzystanie ReFS w systemie Windows rośnie, Linux z drugiej strony również czyni pewne postępy w niektórych swoich systemach plików. Z niektórych ostatnich poprawek jądra Linuksa wynika, że ​​niektóre z najpopularniejszych systemów plików Linuksa, Flash-Friendly File System (F2FS), B-Tree Filesystem (Btrfs) i czwarty rozszerzony system plików (EXT4), uzyskują znaczny wzrost wydajności .

Na przykład Btrfs zwiększa wydajność o około 10% na dyskach SSD SATA. Być może poprawa na dyskach NVMe może być nawet wyższa:

Zawsze czytaj w rozmiarze bloku 64KiB Rzeczywisty rozmiar bloku odczytu zaczyna się od 64KiB, a kończy na 512KiB. To już skutkuje lepszą wydajnością nawet w najgorszym przypadku:

  • Z zestawem poprawek: 404,81 MiB/s
  • Bez zestawu poprawek: 369,30 MiB/s

Około 10% poprawa wydajności na dysku SSD SATA.

Przechodząc do EXT4, wprowadzono szereg optymalizacji:

W tym cyklu w ext4 jest kilka poważnych porządków:

  • Ścieżka zapisu data=journal została znacznie oczyszczona i uproszczona, a także zredukowała dużą liczbę specjalnych przypadków data=journal autorstwa Jana Kary.
  • Ojaswin Muhoo zastąpił połączoną listę używaną do śledzenia zakresów, które były używane do wstępnej alokacji i-węzłów, drzewem czerwono-czarnym w alokatorze wieloblokowym. Poprawia to wydajność obciążeń, które wykonują dużą liczbę losowych zapisów przydzielających.
  • Podziękowania dla Kemeng Shi za wiele porządków i poprawek błędów w alokatorze wielu bloków.
  • Matthew Wilcox przekonwertował ścieżki kodu do odczytu i zapisu stron ext4, aby używać folio. * Jason Yan nadal dzieli ext4_fill_super() na mniejsze funkcje, aby ułatwić konserwację i zrozumienie.
  • Josh Triplett stworzył nagłówek uapi dla interfejsów API przestrzeni użytkownika ext4.

Wreszcie, oto ulepszenia w F2FS:

Wzmocnienie:

  • obsługuje rozmiar strefy bez potęgi dwóch dla strefowego urządzenia
  • usuń udostępnianie struktury rb_entry w pamięci podręcznej ekstentów
  • refaktor f2fs_gc do wywołania punktu kontrolnego w pilnym stanie – wsparcie iopoll

Ogólnie wygląda na to, że jądro Linuksa w wersji 6.4 będzie całkiem przyzwoite pod względem wydajności.

Źródło: LKML (1) , (2) , (3) przez Phoronix

Dodaj komentarz

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