拡張読み取り専用ファイルシステム(EROFS)は、コンテナ化環境でのメモリ使用量を大幅に削減するため、ページキャッシュ共有を導入した。この機能により、複数のコンテナが同一ファイルシステムイメージのキャッシュページを共有でき、メモリ廃棄を40~60%削減する。元々Huaweiが開発したEROFSは、クラウドおよびエッジコンピューティングのシナリオで注目を集めている。
元々Huaweiがモバイルデバイス向けに作成したEROFSは、クラウドおよびエッジ環境でのコンテナオーケストレーションの重要なツールへと進化した。新たなページキャッシュ共有機能により、同一ファイルシステムイメージの複数インスタンスがメモリキャッシュを共有でき、リソース需要を膨張させる冗長なコピーを回避する。Kubernetesなどのコンテナ中心のワークロードでは、ポッドの高速スピンアップ時のパフォーマンスを阻害する重複キャッシュ問題を解決する。
Hongzhen LuoやHongbo Liらカーネル貢献者がLinux Kernel Mailing Listに提出したパッチシリーズにより、この開発を推進した。最新版v11は、初期プロトタイプを洗練し、バグ修正、readaheadサポート追加、fscacheモードおよび匿名ファイルとの互換性向上を図った。これらのパッチは年初の作業を基盤とし、バージョン5.16以降のカーネルへの統合を目指し、効率的なメモリ管理のためのfolioインフラを活用する。
ベンチマークは明確な利点を証明する。Androidコンテナイメージのテストでは、マウント間のキャッシュ共有でメモリが大幅に削減された。例えば、1ノード上で類似のTensorFlowコンテナを展開すると最大20%のメモリ節約を実現し、より広範なコンテナシナリオではブートストームなどのピーク負荷時に40~60%の削減を達成した。Phoronixのレポートでは、機械学習ワークフローの重複データで読み取りスループット向上とメモリ消費低減が強調されている。
'm/sharecache'マウントオプションでこの機能を有効化し、コピーオンライトなどの手法で安全な共有アクセスを保証する。Xなどのプラットフォームでのコミュニティ議論ではその可能性を称賛し、ある投稿では「コンテナメモリ廃棄を40-60%削減」と指摘し、ハイパースケール事業者のコスト低減を期待する。Huaweiを超えAlibabaらからの貢献者を引きつけ、SquashFSなどのシステムと優れた圧縮・キャッシングで競合する。
課題として、コンテナ間のデータ漏洩防止のための共有キャッシュの保護があり、メーリングリストで維持者がエッジケースを議論中。将来的にcgroupsやCRI-O、Dockerとの統合により、マイクロサービスやIoTゲートウェイの密度向上を図り、データ集約環境での持続可能なコンピューティングを促進する。