サイト内検索

DAXFS:Linux向けゼロコピー共有メモリファイルシステムとして提案


新しいLinuxの提案として、DAXFSという読み取り専用のファイルシステムが登場しました。これは、共有メモリへの直接アクセスのためにページキャッシュを回避します。

Multikernelのカーネル開発者であるCong Wangは、LinuxカーネルのメーリングリストでDAXFSという新しいLinuxファイルシステムを紹介しました。その名前が示すように、DAXFSはLinuxカーネルのDirect Access(DAX)インフラストラクチャ上に構築されており、ファイルシステムが従来のブロックI/Oスタックを経由せずに共有物理メモリに直接アクセスできるようにしています。

発表によると、よく知られているRAMFSやTMPFSとは異なり、これらはページキャッシュに依存し、インスタンスごとにメモリを割り当てますが、DAXFSは連続する物理メモリ領域を直接ファイルシステムにマッピングします。ファイルの読み取りは直接メモリのロードとして解決されるため、同一の読み取り専用データがRAMに複製される環境でもメモリのオーバーヘッドを削減できます。

新しいファイルシステムは、GPU、FPGA、またはCXL接続デバイスによってエクスポートされたメモリをdma-buf APIを介してサポートするよう設計されており、デバイスバックメモリに直接保存されたデータへの読み取り専用アクセスを可能にします。

意図的に範囲を最小限に抑えたDAXFSは、自己完結型の読み取り専用イメージ形式を使用し、実行時の割り当て、複雑なメタデータ管理、デバイス処理のロジックを避けることで、特定のユースケースに適しています。

これには、独立したカーネルインスタンス間で共通のコンテナや Docker ベースイメージを共有すること、CXL メモリプーリングのシナリオでネットワーク転送ではなく共有メモリを使用すること、共有 DAXFS ベースイメージとコンテナ用の OverlayFS を組み合わせて RAM 使用量を削減すること、アクセラレータメモリに格納された静的データへのゼロコピーアクセスを提供することが含まれます。

このコードはGitHubで公開されており、著者はDAXFSが実験的な提案であることを強調しています。上流に取り込まれるかどうかは、Linuxカーネル開発コミュニティ内でのさらなる議論とレビューに依存します。

詳細については、カーネルのメーリングリストのメッセージを参照してください。