私は常に約50 MB / sの速度でRAID 10 HDD構成にデータを順番に書き込むリアルタイムアプリケーションを持っています。 mmapを使用し、書き込みはI / Oを待ってブロックされません。
その後、時には多くの読み取りが発生します。たとえば、ドライブから500GBの順次データをできるだけ早く読みたいとします。ただし、書き込みアプリケーションがI / Oでブロックされていない可能性があります。
現在、書き込みアプリケーションをSCHED_FIFOに設定してから、読み取りアプリケーションでCFQ I / O Scheduler + I / O Niceを使用してこの問題を解決しています。これはうまく機能しますが、ドライブへの書き込みと読み取りには前後に多くの時間が必要なため、少し非効率的です。
これを改善するための戦略があるかどうか疑問に思います。システムドライブは高速256GB SSDドライブです。スペースがあり、SSDを読み込んでいるときにLinuxにSSDに書き込むことができますか? bcache、dmcache、または他のモジュールでこれを達成できますか?つまり、HDDから読み取ったときだけSSDに書き込んでからHDDにフラッシュします。 SSD キャッシュが「フル」の場合、HDD への書き込みは読み出しよりも優先されます。