ストレージ性能と計算速度

プログラムはCPUやメモリだけでなく、ストレージも使います。ときにはストレージのI/O性能が足を引っ張って、計算に時間がかかってしまうことも。
私が普段使っているPCには、普通のデータ保存用HDDと、高回転のHDDを2台RAID0に組んだスクラッチ用(計算の一時保存域用)ドライブと、SATA3接続のSSD、そして最近M.2(PCIe3.0)接続のSSDを導入しました。SATA3接続のSSDはシステムドライブで、ちょっとこういったテストには使いたくないので、他3つを使って計算時間がどう変わるかテストしてみました。

 SATA HDD (WD5000AACS, 5400-7200 rpm)SATA HDD/RAID0 (WD1000DHTZ, 10000 rpm)M.2 SSD (MZ-V6E1T0B/IT)
①Sildenafil(C22H30N6O4S)
DLPNO-CCSD(T)/Def2-TZVPP, RIJCOSX, PAL6, MaxCore=9000
Overall20856.45614751.95614067.669
SCF778.047784.398776.211
MDCI20072.91213962.43313286.424
MDCI / RI-PNO integral transformation5060.5713087.3673898.608
MDCI / Sigma-vector construction7461.0074050.3522789.058
MDCI / computing (T)5686.9015616.8955370.563
②Simeprevir(C38H47N5O7S2)
DLPNO-CCSD(T)/Def2-TZVP(-f), RIJCOSX, PAL6, MaxCore=9000
Overall53472.57916264.574
SCF1100.468999.656
MDCI52365.51315250.209
MDCI / RI-PNO integral transformation3474.4974783.921
MDCI / Sigma-vector construction42148.1714398.645
MDCI / computing (T)4803.6734416.524
*数値の単位は秒

一般的な医薬品分子のサイズ(シルデナフィル)だと、DLPNO-CCSD(T)でエネルギー計算する分には顕著な影響は無く、普通のHDDでもM.2 SSDの倍も掛からずに計算が終わります。なぜか、RI-PNO integral transformationについてはM.2 SSDのほうがHDD RAID0よりも遅いというのが解せないのですが……

やや大きめのシメプレビルになると、ストレージのI/O性能が顕著に影響してきます。Sigma-vector constructionは、HDDとしてはとても高性能な部類のVerociRaptorのRAID0でさえ、M.2 SSDの10倍時間を要します。計算の様子を見ていると、殆どがストレージのI/O待ちで、CPUが動いていないことがわかります。

※M.2 SSDとしてはSamsungの960 EVOを使っていますが、これをスクラッチディスクにしていると、大きな分子・大きな基底関数での高精度エネルギー計算でBSODが発生することがあります。なかなか原因がわからなくて困っていますが……そもそも自分のPCのシステムがSandy Bridge世代なので、ベースの更新も必要かもしれません。いっそ今流行のRYZENとか。昔はAthron 64 X2とか使ってましたね~


 

ちなみにCrystalDiskMarkの結果はこんな感じです↓

◆WD VerociRaptor (1GBx2, SATA3, RAID0)

Sequential Read (Q= 32,T= 1) : 382.519 MB/s
Sequential Write (Q= 32,T= 1) : 328.888 MB/s
Random Read 4KiB (Q= 32,T= 1) : 5.203 MB/s [ 1270.3 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 7.190 MB/s [ 1755.4 IOPS]
Sequential Read (T= 1) : 373.881 MB/s
Sequential Write (T= 1) : 357.181 MB/s
Random Read 4KiB (Q= 1,T= 1) : 0.960 MB/s [ 234.4 IOPS]
Random Write 4KiB (Q= 1,T= 1) : 4.786 MB/s [ 1168.5 IOPS]

◆Samsung SSD 960 EVO (1GB, M.2)

Sequential Read (Q= 32,T= 1) : 3399.231 MB/s
Sequential Write (Q= 32,T= 1) : 1950.328 MB/s
Random Read 4KiB (Q= 32,T= 1) : 237.278 MB/s [ 57929.2 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 163.652 MB/s [ 39954.1 IOPS]
Sequential Read (T= 1) : 2054.422 MB/s
Sequential Write (T= 1) : 1894.385 MB/s
Random Read 4KiB (Q= 1,T= 1) : 42.259 MB/s [ 10317.1 IOPS]
Random Write 4KiB (Q= 1,T= 1) : 113.291 MB/s [ 27658.9 IOPS]

Be the first to comment

Leave a Reply