Windows ReFS の改善に続いて、Linux は F2FS、Btrfs、EXT4 のパフォーマンスを向上させます

Windows ReFS の改善に続いて、Linux は F2FS、Btrfs、EXT4 のパフォーマンスを向上させます

Microsoft は、最近の Windows 11 Insider ビルドで ReFS (Resilient File System) のサポートを徐々に拡大しています。1 月に最初に気付いたのは、Dev ビルド 25281内の隠された機能により、ユーザーはReFS ボリュームに Windows 11 をインストールできるようになるというものでした。同社はその後、「Dev Drive」VHD ボリュームなどの ReFS ベースの機能をさらに追加しました。Microsoft はまた、最近の Canary チャネル ビルドの 1 つで、基になるReFS バージョンを 3.10 に更新しました。

Windows での ReFS の使用が増加する一方で、Linux も一部のファイル システムで一定の進歩を遂げています。最近の Linux カーネル パッチのいくつかから、最も人気のある Linux ファイル システム、Flash-Friendly File System (F2FS)、B-Tree Filesystem (Btrfs)、および 4 番目の拡張ファイル システム (EXT4) のパフォーマンスが大幅に向上しているようです。 .

たとえば、Btrfs は SATA SSD で約 10% パフォーマンスが向上しています。おそらく、NVMe ドライブでの改善はさらに高くなる可能性があります。

常に 64KiB のブロック サイズで読み取る 読み取りの実際のブロック サイズは 64KiB で始まり、512K で終わります。これにより、最悪のケースでもパフォーマンスが向上します。

  • パッチセットあり: 404.81MiB/s
  • パッチセットなし: 369.30MiB/s

SATA SSD で約 10% のパフォーマンス向上。

EXT4 に移ると、いくつかの最適化が行われています。

このサイクルでは、ext4 にいくつかの主要なクリーンアップがあります。

  • data=journal の書き込みパスが大幅にクリーンアップおよび簡素化され、Jan Kara による多数の data=journal の特殊なケースが削減されました。
  • Ojaswin Muhoo は、inode の事前割り当てに使用されたエクステントを追跡するために使用されるリンク リストを、マルチブロック アロケータの赤黒ツリーに置き換えました。これにより、多数のランダム割り当て書き込みを行うワークロードのパフォーマンスが向上します。
  • マルチブロック アロケータの多くのクリーンアップとバグ修正について、Kemeng Shi に感謝します。
  • Matthew wilcox は、ext4 ページを読み書きするためのコード パスを Folio を使用するように変換しました。* Jason Yan は、メンテナンスと理解を容易にするために、ext4_fill_super() をより小さな関数に分解し続けました。
  • Josh Triplett は、ext4 ユーザー空間 API の uapi ヘッダーを作成しました。

最後に、F2FS の改善点を次に示します。

強化:

  • ゾーン化されたデバイスの 2 の累乗以外のゾーン サイズをサポート
  • エクステント キャッシュ内の rb_entry 構造体の共有を削除
  • 緊急状態でチェックポイントを呼び出すように f2fs_gc をリファクタリング – iopoll をサポート

全体として、Linux カーネル バージョン 6.4 は、パフォーマンスの点でかなり優れているようです。

出典: LKML (1)(2)(3) Phoronix経由

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です