FANATIC REPORT ファナティックレポート

Intel® Optane™ DC Persistent Memoryのご紹介~動作モード別ベンチマーク~

2019.12.27 ベンチマークレポート


【ベンチマーク | 性能比較】Intel® Optane™ DC Persistent Memoryのご紹介~動作モード別ベンチマーク~

Intel® の最新CPUであるCascade Lake-SPで新たにサポートされた機能の1つに、Intel® Optane™ DC Persistent Memory(以下、「DCPMM」という。) があります。
前回は、実装からOS設定、設定確認の手順について解説いたしました。詳しくは
「Intel® Optane™ DC Persistent Memoryのご紹介~実装・設定方法~」をご覧ください。

今回は、Persistent MemoryのMemoryモード、App DirectモードのStorage over App Directモード(従来ストレージ)とDAXモード(File system DAX)の動作モードについて、それぞれSTREAM、FIOのベンチマークソフトを使用し、メモリ帯域、ストレージ性能を測定いたしました。
Persistent Memoryの実装構成による比較、FIOはSSD、HDDと比較した結果をご報告いたします。また、コスト面からの比較もあわせてご報告いたします。

目次

App Directモードのアクセス方法

まず、App Direct(AD)モードのアクセス方法について説明します。2つのファイルシステムのアクセス方法があり、下記に特徴を記載いたします。
※色付きの箇所は、新たにADモードを利用する上で追加されました。

ADモードのアクセス方法の特徴

Storage over App Direct
(従来ストレージ)
DAX
(File system DAX)
用途例 従来のアプリケーションをそのまま利用 従来のアプリケーションをDCPMM用に改版
対応ファイルシステム サポートされているファイルシステム全て xfs, ext4(Linux)
NTFS(Windows)
性能
OSの処理が多いため本来の性能が発揮できない

ファイルに直接アクセスが可能

冗長性の確保 mdドライバ/LVMなどの仕組みでSoft RAIDが可能 ハード・OSでは現状不可

 

 

上記に示す通り、用途によってアクセス方法の選択が可能です。
Storage over App Directモードは、HDDやSSDなどと同じ従来のアクセス方法のため、現在使用しているアプリケーションをそのまま利用することが可能です。しかし、アクセス性能はDCPMMに最適化されていないため、DAXモードに比べ性能が低いと言われています。DAXモードは、DCPMMに対応したアプリケーションのファイルシステムに変更する必要があります。変更したアプリケーションは、ユーザープログラムからDCPMMに直接アクセスが可能となるため、ファイルシステムの中では最も性能が高いと言われています。

測定環境

●構成
構成は、DCPMMの使用に全て対応しています。詳しい使用条件についてはこちらをご覧ください。

仕様
マザーボード Supermicro X11 DPG-QT (BIOS ver.3.1)
CPU Xeon Platinum 8276 ×2
DRAM(メモリ) DDR4-2133 8 GB×12(96 GB)
DCPMM Intel® Optane™ DC Persistent memory 128 GB×4(512 GB)
SSD Intel® 530 Series 240GB 2.5inch SATA3 MLC
HDD Seagate ST3500630AS (500GB SATA300 7200rpms)
OS SUSE Linux Enterprise Server 12 SP 4
ベンチマークソフト STREAM
FIO (ver.3.14)

 

●DCPMMとDRAMの実装構成環境
使用したマザーボードはDCPMM実装構成の2構成に対応しているため、下記の構成で比較しました。

構成 DCPMM DRAM 合計[枚]
2-1-1 4 12 16
1-1-1 4 8 12
1-1-1(w/o DCPMMs) 12 12

※DRAMのメモリ動作周波数が2133 MHzのため、DCPMMの動作周波数も2133 MHzで動作しております。

測定結果

上記の環境、構成で測定を実施しました。
・Memoryモード:STREAMを使用し、メモリ帯域を測定
・ADモード:Interleavedに設定。FIOを使用し、ストレージ性能を測定。他ストレージと比較
実装構成のw/o DCPMMsはDCPMMを実装せず、DRAMのみの実装を意味しています。

それでは、測定結果について報告をいたします。

Memoryモード vs DRAM(2 CPU構成)

DIMMの構成を2-1-1、1-1-1、1-1-1(w/o DCPMMs)にし、STREAMで測定をしました。4項目に対するメモリ帯域幅を示しています。

 


メモリ帯域幅に対するDIMM構成比較

 

Copy、Scale、Addを組み合わせたTriadで各構成の比較をすると、2-1-1、1-1-1(w/o DCPMMs)、1-1-1構成の順に高いことが分かりました。下記に1-1-1(w/o DCPMMs)、1-1-1構成に対する各構成の比率を示します。

Memoryモードにおける構成比較

比率(対1-1-1 w/o DCPMMs) 比率(対1-1-1)
2-1-1 1.02 1.03
1-1-1 0.99 1
1-1-1(w/o DCPMMs) 1 1.01

 

これらの結果から、比較した構成では、メモリ帯域の影響はあまりないと言えます。よって、1-1-1(w/o DCPMMs)、即ちDRAMのみの構成と比較しても、DCPMMのMemoryモードのメモリ帯域性能は遜色ない結果であることが分かりました。大容量メモリを実現したい場合、DRAMだけでなく、1枚あたりの容量が多く、安価なDCPMMを組み合わせて実装することでメモリ帯域のパフォーマンスを下げることなく、コストを下げることも可能であると考えられます。

Storage over App Directモード vs SSD vs HDD(2 CPU構成)

Storage over App Directモード(sector/従来のストレージアクセス方法)をFIOで測定し、SSD、HDDと比較しました。Storage over App Directモードは2-1-1、1-1-1構成、SSD、HDDは1-1-1(w/o DCPMMs)構成としました。DCPMMはストレージとして利用するため、メモリ容量はDRAMのみです。
※DCPMMは約240 GB(1 CPU分)のストレージを指定し、CPUの指定はせずに測定いたしました。

下記にThread= 32、iodepth= 32、ioengine= libaio(非同期IO)の条件で、Sequential Read/Write、Random Read/Writeについてブロックサイズを4k、64k、1Mにした時の
IOPS、Band Width(スループット)の結果を示します。

 


ブロックサイズに対するSequential ReadのIOPS比較

 


ブロックサイズに対するSequential ReadのBand Width比較

 


ブロックサイズに対するSequential WriteのIOPS比較

 


ブロックサイズに対するSequential WriteのBand Width比較

 


ブロックサイズに対するRandom ReadのIOPS比較

 


ブロックサイズに対するRandom ReadのBand Width比較

 


ブロックサイズに対するRandom WriteのIOPS比較

 


ブロックサイズに対するRandom WriteのBand Width比較

 

Sequential Read/Write、Random Read/WriteどちらもDCPMMは、当然ながらHDD、SSDに比べ、IOPS、Band Width共に高いことが確認できました。アクセス速度のDCPMM、SSD、HDDの順番とも一致しました。
ここで、ブロックサイズ4k Random ReadにおけるBand Widthの各ストレージに対する比率を下記に示します。

4k Random ReadにおけるBand Width(BW)の比較

BW[MB/s] 比率(対HDD) 比率(対SSD) 比率(対1-1-1構成)
HDD 0.607 1 0.003 0.0004
SSD 174 287 1 0.12
1-1-1 sector 1,394 2,297 8 1
2-1-1 sector 715 1,178 4.1 0.51

※IOPSについても、比率は同程度です。

表からHDDと比較すると、DCPMMは約1200~2300倍程度、SSDと比較すると4~8倍程度の性能が確認できました。従来のストレージアクセス方法でも、4k Random Readでは最大1.3 GB/s、64kでは最大1.8 GB/s、1Mでは最大1.2 GB/s 程度の伝送速度を確認しました。
また、4kのIOPS、Band Widthについて各構成のsectorモードをSSDの測定結果と共に示します。

 

4k/IOPS

1-1-1 sector 2-1-1 sector SSD
Sequential Read 2,423,000 2,569,000 130,000
Sequential Write 71,000 101,000 93,400
Random Read 340,000 174,000 42,400
Random Write 47,000 59,200 11,800

 

4k/Band Width [MB/s]

1-1-1 sector 2-1-1 sector SSD
Sequential Read 9,925 10,500 533
Sequential Write 295 412 382
Random Read 1,394 715 174
Random Write 193 242 48.3

 

SSDでは、Sequential Readは約530MB/s、Random Readは約170 MB/sの伝送速度ですが、DCPMMではSequential Readは約10GB/s、Random Readは約1.3 GB/sとなるため、読み込みにおいて高い伝送速度のストレージが必要な用途では特に効果が得られると考えられます。
今回のStorage over App Direct(sector)モードは従来のアクセス方法を用いるため、アプリケーションを変更することなく、利用することが可能な上にSSDと比較してSequential Readでは、約17~20倍、Random Readでは、約4~8倍の性能が得られる結果となりました。DCPMMの構成同士を比較すると、細かいファイルを頻繁に読み書きする場合は、1-1-1構成が良いと考えられます。

Storage over App Directモードvs DAXモード(1 CPU構成)

DCPMMのアクセス方法による比較をするために、従来のストレージアクセス方法であるStorage over App Direct(sector)モードとDAXモードで比較しました。DAXモードは、ページキャッシュをI/Oパスから削除し、直接アクセスをするため、ioengineは従来のioengineではなく、libpmemを使用しました。Storage over App Directモードはlibpmemと比較するためioengineはsync(同期IO)としました。
ThreadはCPUのコア数である28とし、1-1-1、2-1-1構成同士でRandom Read/WriteのBand Widthについて比較しました。


ブロックサイズに対するRandom ReadのBand Width比較(1-1-1構成)


ブロックサイズに対するRandom ReadのBand Width比較(2-1-1構成)

 


ブロックサイズに対するRandom WriteのBand Width比較(1-1-1構成)

 


ブロックサイズに対するRandom WriteのBand Width比較(2-1-1構成)

 

Random Readでは、4kでsectorとDAXを比較するとDAXモードが約2.5倍の10 GB/sの性能が得られました。1-1-1構成では64k以上において若干sectorモードが高い性能である結果となりました。Random Writeでは、構成によらず、各ブロックサイズでsectorモードに比べ、DAXモードが2~3倍程度の性能が得られました。
ブロックサイズ4k Random ReadにおけるBand Widthを各構成のsectorモードに対する比率を下記に示します。

4k Random ReadにおけるBand Width(BW)の比較(Thread= 28)

BW[MB/s] 比率(対1-1-1 sector) 比率(対2-1-1 sector)
1-1-1 sector 4,266 1 1.01
1-1-1 DAX 9,923 2.3 2.3
2-1-1 sector 4,249 0.99 1
2-1-1 DAX 10,300 2.5 2.4

※IOPSについても、比率は同程度です。

DAXモードの実装構成による性能差はあまり見られませんでしたが、2-1-1構成の方が1-1-1構成に比べ若干性能が高いため、より高パフォーマンスでの動作を要求する場合は2-1-1構成が良いと考えられます。
4kのIOPS、Band Widthについて測定結果を下記にまとめました。

 

4k/IOPS (Thread= 28)

1-1-1 sector 1-1-1 DAX 2-1-1 sector 2-1-1 DAX
Random Read 1,041,000 2,423,000 1,037,000 2,525,000
Random Write 111,000 382,000 112,000 387,000

 

4k/Band Width [MB/s] (Tread= 28)

1-1-1 sector 1-1-1 DAX 2-1-1 sector 2-1-1 DAX
Random Read 4,266 9,923 4,249 10,300
Random Write 455 1,566 461 1,586

 

DAXモードにおけるRandom Readは10 GB/s程度でsectorモードの約2.5倍の性能が得られ、Random Writeは1.5 GB/sで約3倍のため、DAXモードを使用することで従来の方式に比べ高性能なストレージ性能が得られると考えられます。
※DAXモードのSequentialの測定結果が異常に高い値となり、原因が現在判明しておりません。今回はRandomのみの比較を載せております。

また、Thread= 1における、4kのRandom WriteでのIOPS、Band Width、レイテンシを示します。

4k/Random Write (Thread=1)

IOPS BW[MB/s] Avg Latency[ns]
1-1-1 sector 113,000 462 8,240
1-1-1 DAX 723,000 2,963 897
2-1-1 sector 111,000 454 8,420
2-1-1 DAX 729,000 2,987 889

 

レイテンシに着目すると、DAXモードにすることで、従来のアクセス方法の約10分の1の900 ns程度の低レイテンシを実現しています。レイテンシの観点からもDAXモードはsectorモードに比べて良い結果となりました。
従って、DAXモードにすることで、低レイテンシを実現し、DCPMM本来の高性能なストレージとして利用することが可能です。構成は1-1-1と2-1-1では、2-1-1構成がおすすめです。ただし、DAXモードに対応したアプリケーションに変更する必要があり、障害に対しての冗長は現状ハード・OSでの確保が不可のため、注意が必要です。(※2019年12月時点)

HDDのI/Oパフォーマンス(Memoryモードを使用)

DCPMMをMemoryモードとし、DRAMのみと比較してHDDのストレージ性能に変化があるか確認をしました。構成は、1-1-1構成としました。

 


ブロックサイズに対するSequential ReadのBand Width比較(HDD)

 


ブロックサイズに対するSequential WriteのBand Width比較(HDD)

 


ブロックサイズに対するRandom ReadのBand Width比較(HDD)

 


ブロックサイズに対するRandom WriteのBand Width比較(HDD)

 

Sequential Read/Write、Random Writeでは、DCPMMを実装することによって、伝送速度が向上したことが確認できました。特に、Sequential Read/Writeで効果があり、4kで各々22倍、2.5倍程度の性能向上が確認できました。
ストレージはHDDのままであっても、DCPMMのMemoryモードを使用することによって大容量の書き込みキャッシュとして動作するためHDDへの伝送速度があがったと考えられます。こういった使い方も利用手段の1つになるのではないでしょうか。

コスト面の比較

最後に、パフォーマンス面だけでなく、コスト面について比較します。DCPMMは現在、1枚 128 GBから選択することが可能なため、128 GBあたりの単価を比較します。SSD、DCPMM、DRAMについて下記の通りです。

128 GBあたりの単価

SSD(エンタープライズ向け) DCPMM DRAM
容量単価 約1.5万円 約5万円 約20万円

 

DCPMMとDRAMを比較すると、約4倍の価格差があります。(※2019年12月時点)
ここで、2-1-1構成(1CPU 構成)、Memoryモードを使用すると仮定した場合のコストをDRAMのみで実装した場合と比較してみます。単価については上記として計算しました。
※あくまで価格差の目安となります。

Memoryモードは、DCPMMはメモリ、DRAMはメモリまたはメモリキャッシュとして動作します。

●2-1-1構成(DIMM 8枚)でメモリ容量256 GBを実装しようとした場合

  • DRAM 32 GB×8(256 GB)の場合:約40万円
  • DRAM 32 GB×6(192 GB)+ DCPMM 128 GB×2(256 GB)の場合(パフォーマンス重視):約40万円
  • DRAM 16 GB×6(96 GB)+ DCPMM 128 GB×2(256 GB)の場合(一般利用):約25万円
  • DRAM 8 GB×6(48 GB)+ DCPMM 128 GB×2(256 GB)の場合(コスト重視):約17.5万円

DRAMのみの実装と比較すると、一般利用で価格差は約1.5倍です。今回はDCPMM 128 GBで比較しましたが、最大512 GBです。安価で大容量を可能にすることが出来るため、パフォーマンス面だけでなく、コスト面においてもGB単位のコスト低減が可能です。
※DCPMMには使用条件がございます。

詳しいコスト面についてはお問い合わせください。

まとめ

Intel® Optane™ DC Persistent Memoryの動作モードであるMemoryモード、App Directモード(Storage over App Direct、DAX)について、それぞれメモリ帯域、ストレージ性能について測定し、比較いたしました。
メモリとして使用するMemoryモードでは、DRAMに引けを取らない伝送速度の性能が得られました。ストレージとして使用するApp Directモードでは、Storage over App Direct(従来のストレージアクセス方法)とSSD、HDDと比較すると、Random ReadではSSDの約4~8倍の性能が得られることが明らかとなりました。DCPMMの2種類のアクセス方法による違いではファイルシステムに直接アクセスするDAXモードにすることで、従来のアクセス方法に比べ、4k Random Readで約2.5倍の10 GB/sの性能になることが明らかとなりました。ただし、使用するアプリケーションをDAXモードに対応させる必要があり、障害に対する対応は、現状ハード・OSでは不可のため、扱いに注意が必要です。(※2019年12月現在)
また、DIMMの構成は、今回測定した1-1-1、2-1-1構成ではMemoryモード、App Directモード共に2-1-1構成がおすすめです。

App DirectモードのInterleaved設定はストライピングつまりRAID0を組んでいるのと同等のため、今回は、1 CPUあたり2枚でInterleavedしましたが、最大6枚でInterleavedが可能です。そのため、6枚で構成した場合、上記の測定結果よりも高い性能が得られる可能性があります。
今後、今回測定していない2-2-2(DCPMM 6枚)構成やNVMeとの比較もしていく予定です。

ストレージ、メモリどちらも選択可能でコスト面においても、DRAMに比べ安価です。DCPMMを導入してみてはいかがでしょうか。


DCPMMを搭載した製品ございます。DCPMMの構成や枚数、容量などのご相談もお気軽にお問い合わせください。
お客様のご要望に合った構成をご提案いたします。

お問い合わせはこちら

人気レポートランキング

レポートカテゴリ

製品カテゴリ