物理ディスクに分散して最大I/O性能を維持するRAMベースのファイルシステム

物理ディスクに分散して最大I/O性能を維持するRAMベースのファイルシステム

tmpfsについて読んだすべての制限に遭遇する問題に直面しました。考えられる解決策について誰かがコメントを聞いてとても嬉しいです。
実行時に大きなファイルを生成するアプリケーションがあります。このファイルは数ギガバイトまで大きくなる可能性があります。
プログラムの実行中、このファイルに対する I/O 操作は非常に集約的であり、すべてのパイプラインは実行中のアプリケーションのパフォーマンスに大きな影響を与えます。
作業速度を上げるためにtmpfsを作成し、正常に動作し、パフォーマンスが大幅に向上しました。ただし、tmpfsの物理RAM使用量が不足すると(〜50%)、アプリケーションがクラッシュします。これは驚くべきことではありません。
アプリケーションによって生成されたデータは、データを生成したプロセスが完了した場合にのみ必要です。だから私に必要なのは、アプリケーションのデータで埋められるRAMベースのファイルシステムです。この RAM ベースのファイルシステムがいっぱいになると、RAM ベースの tmpfs の内容全体を物理ディスクにプッシュして RAM を完全に空にし、アプリケーションからデータを引き続き RAM を再充填します。これにより、アプリケーションが実行されるほとんどの時間の間にI / Oパイプラインの待ち時間が最小限に抑えられます。
プロセスが完了すると、部分的にはディスクに、部分的にはRAMに存在する1つの大きなファイルが見つかると予想されます。
どんなアイデアがありますか?

ベストアンサー1

おすすめ記事