高速化路線 m.2 RAID に乗る
お品書き
パフォーマンスと予算のクロスポイントを見極める
まだすべてのパーツを選び終わってないから、新しい PC が組みあがるまでに半月以上はかかる見込み。それだけの間 PC が使えなくなるのは痛いので、既存 CPU (Intel Core i7 860) には分不相応な簡易水冷クーラーを取り付けて動作確認を行った。
延長コードがそろっていないので簡易的な配線になっているが、時代遅れになっていた PC ケースがちょっとした?筐体加工で現代風になった。
古い Core i7 860 BOX にはオーバースペックな簡易水冷が搭載され、 LED ファンがケース内を無意味に彩る。
- PCケース(旧システム仮組み)
ちなみに MasterLiquid Pro 240 のラジエーターのフィンはペラペラのアルミであり、すこしひっかけただけで曲がってしまうので取扱いには細心の注意が必要だ。曲がった部分を直すには先の細いピンセットが必要だった。ラジオペンチだと太いうえに力加減が強すぎて直しようがない。
CM Stacker STC-T01-UW1 を加工して水冷を取り付けるという人はなかなかいないだろうが、百万が一やるつもりなら、マザボ側からではなく、 PC ケースの後ろ側からヘッド、ラジエーターの順にを入れていくのが良いと思う。
ドレインパイプは結構曲げられるから、思い切ってやっていい。銅のヘッドを傷つけないように布で保護するのが上策。
上下に存在する鉄のフレームを 2 箇所切断すれば、内側からでも楽に設置できるようになるが、フレームらへんに配線を隠したいので下段フレームはあえて残してある。
ここでマザボの PCI Express スロットについて復習しておこう。
テストに出ると宣言した通り、 Core i7 7800X のレーン数は 28 本。
一方で ASUS TUF X299 MARK 1 の PCIe スロットは以下の通り。
ASUS TUF X299 MARK 1 の 28 レーンの時のスロット利用
スロット名 | 動作 | 備考 |
---|---|---|
PCIEX16_1 | x16 | グラボ用 |
PCIEX4_1 | – | PCIEX16_3 とは排他関係にあり、どちらか一方しか使えない。グラボに高さがあるので使わない方向で。 |
PCIEX16_2 | x8 | 利用可能 |
PCIEX4_2 | x4 | 利用するなら SATA 6G の 5~8 番ポートは使えなくなる |
PCIEX16_3 | ??? | PCIEX4_1とは排他関係にある。レーン数は上記で 16 + 8 + 4 = 28 レーン使われている計算なのだが、本当にここも使えるのか? |
PCIe レーンの速度は PCI Express 1本 (x1) の物理帯域が 8 [GB/s] であるから、 x4 だと 32 [GB/s] になる。
PCIe レーン数 | 物理帯域 | 実効速度 |
---|---|---|
x1 | 8 [GB/s] | 0.6 [GB/s] |
x4 | 32 [GB/s] | 2.4 [GB/s] |
※ m.2 スロットは x4 相当
m.2 ストレージに 960EVO MZ-V6E250B/IT を選べば、実測で Read 1.5 [GB/s]、 Write 3.2 [GB/s] が出るらしい。
ふと思った。果たしてそんな簡単なことでいいのだろうか。金属を削ったり、はんだ付けとかいらないか?
考えよう。
RAID への誘惑
ASUS TUF X299 MARK 1 の m.2 スロットは 2 本ある。 m.2 の 2 台で RAID 0 を組めば、 Read 3 [GB/s]。かつて ramdisk でとったベンチマークが Read 4.5 [GB/s]、 Write 6.0 [GB/s] くらいなので、DDR3 メモリのベンチを超えることすら可能!?
おいおい、そんな馬鹿な……
調べていくうちに、 m.2 スロットを拡張する ASUS HYPER M.2 X16 なる製品を知った。 PCIe スロット用 m.2 拡張ボードで、 m.2 スロットを 4 個増やすことができる。
m.2 の 4 台で RAID 0 が組んだベンチが Read 6 [GB/s] になって、かつて DDR3 で取った ramdisk のベンチ超えちゃってるよ……
もしかしたら既存の m.2 スロット 2 個と組み合わせて、 m.2 ストレージ 6 台で RAID 0 が組めるか? Read 9 [GB/s] だと……
お、落ち着け。過去の苦い経験からあまり故障確率を増やすような暴挙はしない方が良いと身に染みているはずだ。
HYPER M.2 X16 とマザボの m.2 スロットで RAID が作れるかどうかも分からない。やるなら RAID 0 (4台) でいいだろう。
HYPER M.2 X16 は PCIe x16 の拡張ボードだが、 x16 スロットはグラボに使っているので、空いている x8 スロットに刺すことになる。
PCIe x8 の実行速度は 0.6 [GB/s] * 8 = 4.8 [GB/s] だ。一方、 m.2 × 4 台で RAID 組んだ時のベンチが Read 6 [GB/s] だから、やばい、 1.2 [GB/s] もボトルネックになってしまう! (本当に RAID で 6 [GB/s] 出ると決まったわけではないが)
まさかグラボを x8 で動かす (HYPER M.2 X16 を x16 モードで動かす) わけにもいかないだろうし、困った。いっそ Read は 4.8 [GB/s] が上限と割り切るか……もやもやする。
かと言って Core i9 は金銭的に無理だし、 AMD 系はシングルスレッドが弱いので利用シーンに合わない。いい解決策が思い浮かばないので、 PC 組んだ後にベンチマーク取ってから考えよう。これを棚上げと言う。後で牡丹餅になって落ちて来てくれればいいが、何の解決もないまま戻ってくる予感。
とりあえず m.2 SSD 4 台を購入することに決めた。
HYPER M.2 X16 で RAID を組むためには Intel 製 m.2 が必要らしい。たぶん HYPER M.2 X16 には m.2 スロットを増やす機能しかなくて、 RAID は CPU の VROC 機能を使うんじゃないかと適当に推測。でなければこんなに安いはずがないと思う。
VROC(Virtual RAID On CPU)
Intel の和訳されたページがひどすぎて何言ってんだか分からん。
単語から予想できるかもしれないが、 CPU の PCI Express レーンを使って高速な RAID を組める仕組みのこと。
Intel 製 m.2 SSD が必要。やらしいことに他社製品だと RAID を組めるストレージと認識されない。
Intel 以外の m.2 で RAID を組む場合は高価な m.2 RAID ボードを購入すればいいが、いつものセリフを言っておく。
予算!
Intel 600p Series で最も安いのは 128GB だが、 Read が遅すぎるからダメだ。ということは自動的に 256GB になる。 4 台で 1TB と容量的にもなかなかバランスが良い。
512GB という選択肢もアリだが、容量が 2TB にもなるので、バックアップが心配になってくるから 256GB でいい。
購入パーツ2 (RAID)
パーツ | 金額 | 備考 |
---|---|---|
ASUS HYPER M.2 X16 | 6,000 | m.2 スロット拡張ボード |
Intel 600p Series SSDPEKKW256G7X1 | 13,500 | NVMe。256GB。Read 1570 [MB/s]。Write 540 [MB/s]。4個購入 |
合計 | 60,000 |
蛇足だが、 m.2 SSD は高速でアクセスするため高熱とは切っても切り離せない。高温になると m.2 内部のチップセットがアクセス速度を落とす命令を出して発熱を抑制する。これがサーマルスロットリングと呼ばれる現象で、むき出しの m.2 SSD で確実に発生する。
対策としてはヒートシンクとファンを付ける必要があるのだが、 HYPER M.2 X16 にはもとからヒートシンクとファンがついているので、サーマルスロットリングの心配が軽減されるからうれしい。
ヒートシンク 1 個 で 1,000 円はするから、お得感ぱねえ。