2019年9月17日火曜日

VROCによるM.2 SSD RAID構築(ベンチマーク編)

Intel製CPUのCore XやXeonでは,VROCと呼ばれる技術によってCPUに統合されたRAIDコントローラを用いたRAID構築を行うことができます.本テーマでは,X299プラットフォーム上で,M.2 NVMe SSDを4枚使用したRAID0ボリュームを構築します.今回は構築したRAIDのベンチマークを行います.


 ベンチマークは定番のCrystalDiskMarkCMD)と,実用的な性能を評価するためにファイルのコピー時間計測を行いました.

ベンチマーク環境
・CPUCore i7 9800X(定格)
・MBAsrock X299 Extreme Pro4
・RAMDDR4-240064GB
・OSWindows10pro 1809

※ベンチマークを行うときはWindowsの電源プランを高パフォーマンスに変更しました.バランスなどほかのプランではスコアが落ちる場合があるためです.

Crystal Disk Markの結果

まず,intel760p512GB単体の場合は,CMDのスコアは以下になりました.

 次にRAID0を構築した時のスコアの変化を調べ結果をグラフにしました.シーケンシャルアクセスのスコアは読み書きともにディスク枚数に比例して大きくなっていますが,ランダムアクセスのスコアはほとんど変化しません.
CMDのReadスコア


CMDのWriteスコア
 

ファイルのコピー時間計測の結果

 CMDの結果では,RAIDによりシーケンシャル性能が向上することが確認できたため,実用面でのシーケンシャル読み書き速度性能をテストします.
 このテストでは,40GBの単一ファイルのコピー速度を計測します.計測はコピー先とコピー元を変えて,以下の2条件で行います.また,今回はWindowsOSの機能によりRAIDを構築して同様の計測を行いました.

1)コピー元:WD BLACK SN750 500GB,

  コピー先:RAIDボリューム
2)コピー元:RAIDボリューム
  コピー先:RAMディスク


 RAMディスクとSN750のCMDスコアは以下になります.
RAMディスクのCMDスコア(ImDsikにより作成)



WD BLACK SN750 500GBのCMDスコア

(CPU側PCIE3x4に接続)

 コピー先をRAMディスクとしているのは,書き込み量による速度低下がないことと,シーケンシャル書き込み速度がRAIDボリュームのシーケンシャル読み出しと同程度となるためです.コピー元もRAMディスクにしたかったのですが,そうするとなぜかRAIDボリュームへの書き込み速度が不安定になるため,コピー元にはSN750を使用しました


 コピー先がRAIDボリュームの場合の結果は以下になります.
 コピー時間は,RAID0x2では単体に比べて約半分に短くなっています.しかしながら,x2以上では2/3程度の短縮にとどまり,x3とx4ではほとんど変化していません.
 
 コピー中の転送速度の挙動は以下になります.SSD単体の場合は後半キャッシュ切れにより転送速度が540MB/sに落ち込みますが,RAID0x2ではキャッシュ切れ後も1GB/s以上を維持しています.x3以降はキャッシュ切れによる速度低下がほとんどありませんが,転送速度は1.6GB/sで頭打ちになっています.
intel 760px1


intel 760p RAID0x2 by VROC


 intel 760p RAID0x3 by VROC


intel 760p RAID0x4 by VROC


 コピー元がRAIDボリュームの場合の結果は以下になります.
  SSD単体とRAIDボリュームとで,コピー時間にほとんど変化がありません.コピー元,コピー先ともに高速なため,CPUなどがボトルネックになっているのでしょうか.

 コピー中の転送速度の挙動は以下になります.

intel 760px1

intel 760p RAID0x4 by VROC

 

 まとめ

 今回のベンチマークで分かったことは以下の通りです.

1)CMDのシーケンシャルスコアはRAIDを構成するSSD枚数に比例するが,ランダム性能はほとんど変化しない.

2)大容量単体ファイルのコピーでは,ファイルのコピー先がRAIDボリュームの場合,RAID0x2ではSSD単体に比べてコピー時間が半分に短縮されるが,x3以降では短縮効果が低下する.

3)大容量単体ファイルのコピーでは,ファイルのコピー元がRAIDボリュームの場合,コピー時間はSSD単体の性能に依存し,RAIDの構成枚数との相関はない.

4)本文では言及していないがRAID構築手法がVROCとWinOSとでは,コピー時間にほとんど差はない.

 以上のことから,速度向上を目的とするならRAID0x2まで,それ以上はコストパフォーマンスが悪いため,市販されていない大容量のSSDを構築することを目的に構築するのがよさそうです.
 また,RAID構築手法がVROCでもWinOSでも実性能にほとんど差はなさそうなため,Z390マザーボードでもPCIE帯域をx8/x4/x4などに分割できるタイプであれば,WinOSによるRAIDで高速なストレージを構築できると考えられます.