chintaro3の日記 

基本、チラ裏です。書いておくと頭の中が整理できますゆえ。

Optane続き。

 
4TBのHDDをOptaneで高速化してみた。
手順は以下の記事参照
http://ascii.jp/elem/000/001/502/1502632/
 
もうちょっと詳しく書いてほしい気はするが、この内容で理解できない人をサポートしようとするとサポートの難易度がいきなり1000倍ぐらいになると思われるので、まぁしょうがなかろう。
 
ポイント:
 ・16GBのやつは使えない。32GB以上が使える。自分は60GBで試した。効果は 32GBとほぼ同等。
 ・連続書き込みは、30GBぐらいまでは素のOpteane相当の速度が出る。それ以上はがくっとおちるが、素のHDDよりはまし
  だが、60GB書き込み切ったらどのみちHDDと等価になるのは原理上仕方ないね。
 ・この挙動から、ふだんは容量の半分ぐらいを書き込みキャッシュに、残りを読みだしキャッシュに割り当てているのではないかと推定
 ・キャッシュがほぼ満杯(のはず)の状況下で並行してベンチマークを走らせると、おもしろいことに読み出し速度はほぼ素のHDDだが、書き込み速度はそれでもかなり高速化された。Optaneのキャッシュは書き込み優先で効いてくるのかも。これはありがたい仕様。
 ・これはベンチマークの条件を32GBにしてもほぼ同等。
 ・マルチタスクで大容量のファイルの並行書き込みをテストすると、がくっと速度が落ちる。タスク1本で150MB/s出るランダム書きこみが、2本並列だと 30MB/sぐらいに落ちる場合がある。下手に並列処理するより1本のタスクにまとめたほうが早い。

=====================
 
その後、意地悪なテストをしてみた。1MBの画像を3万枚コピーして、さらに1枚づつ書き足しながら一番古いファイルを1枚づつ消して行ったらどうなるか、とか。
結論からいうと、ワースト性能はHDDと同じ。うっかり3万枚の画像フォルダを開くと何分もフリーズしたあげくエクスプローラが落ちたりする。Win10 64bitなのに。なので、絶対的に応答速度を守る必要がある用途では、キャッシュしても根本的には解決しない。
もっとも、ストレージの問題以前に、NTFSの仕組みが、そんな状況を想定してない可能性もあって、NTFSアルゴリズム的に、ストレージがどんなに高速でもNTFSボトルネックになるのかもしれない。そこの切り分けはまだできてない。
 
よっぽど用心深く使えば、常にキャッシュが満杯にならないようにコントロールすることで、良い状況を保つことも不可能ではないかもしれない。が、キャッシュデータのやりくりがブラックボックスでは、現実的には統計的な話しかできない。システム的にきっちり組むなら、Optane単独でストレージとして使って、そこに一時保管し、バックグラウンドで動くサービスを自分で立ちあげてHDDにぼちぼち移動する、としたほうがましだな。HDDを同一PCに積むと、HDDが固まるせいでPCのJob全てが一時停止してしまう危険があるので、HDDのサーバーを別に立ちあげればなおましかもしれない。金に糸目をつけずにBestを目指すなら、全部Optaneで構成するか、だな。マザボが大変な事になるが。
 
Optane 100% のPCIeボードとHDDを比べたら、ジェット機と自転車ぐらいの差がある。自転車にジェットエンジン付けても無理があるってこった。
 
PCIeのテスト、24時間連続書き込みで、100〜300MB/sの範囲にだいたい収まる。数回だけ 20MB/s程度まで落ちた。それでも20MB/s出る
バスがテストに占有されてしまうので、PCとしてのパフォーマンスはめっちゃ下がる。その辺のバランスは難しいもんだな。