PC パーツ入替えで 40GB という微妙な容量の SSD が余ったので,この SSD を HDD キャッシュに使えないかいろいろ調べてみた.
ReadyBoost はシステムドライブが SSD の場合は有効にできなかったが,AMD StoreMI という仕組みがあることがわかったので,早速インストール.
ストレージのベンチマークで数値的に効果があるのは他のサイトの計測で分かっているので,自分の使用シーンでどれだけ効果があるか試してみる.
お題は Cygwin 上で SystemC ライブラリのビルドで,configure ~ make の時間を time コマンドで計測する.make は disk 負荷を高めるために -j 16 で 16スレッド実行する.
で,結果は…
HDD のみ | StoreMI | |
---|---|---|
1回目 | 2:29.24 | 2:38.47 |
2回目 | 1:55.97 | 1:56.61 |
3回目 | 1:55.36 | 1:56.00 |
全く有意な差なしwww.考えられる原因を推測してみると,
・キャッシュアルゴリズムとしてはおそらくライトスルー制御を行っていると思われるので,ライトには効果がない
・SystemC ライブラリビルドでは,データ量が少な過ぎて OS の DRAM キャッシュが効いてしまっている?
・SSD がそんなに速くない (リード 190MB/s ほど).
StoreMI のいいところを挙げるとすれば,
・HDD が特殊なディスクにならない.HDD のデータは常に最新なので,キャッシュ SSD がおもむろに壊れたとしても,普通の HDD として読めてデータ破壊を起こすことがない
・PC 再起動無しでキャッシュ構築・解除ができる.ちなみに解除時も特にデータを HDD に書き戻してる様子がないので,この点からもライトスルー制御を行っているのは間違いないと思われる.
自分の使い方としてはライトバック制御を実装してほしいところ.ゲームとか大量の ReadOnly データを読み込むと効果あったりするんかな.
0 件のコメント:
コメントを投稿