米Intelは3月19日(米国時間)、同社とMicronが共同で開発してきた3D Xpoint TechnologyをベースとしたOptane Memoryを利用した、Optane SSD DC P4800Xを発表した。この概要をご紹介したい。

3D Xoint Technologyは、以前から部分的に情報が出ていた技術(Photo01)で、2015年9月に公式に発表されている。これと時期が前後するが、この3D Xpoint Technologyを利用した製品の名前がOptane Memoryになることも2015年中にアナウンスされている

Photo01:Intelによる、主要なメモリの比較。3D XPointはDRAMの10倍程度のLatency(Flash Memoryより1000倍高速)で、容量はFlash Memory並としているが、その容量が本当にFlash Memory並かどうかが問題

2017年1月に発表されたIntel 200シリーズチップセットでは、Kaby Lakeだけでなく、Optane Memoryへの対応が謳われており、あとはいつ製品が登場するかという点が問題になっていたのだが、まずはデータセンター向け製品が投入されることになった。

今回発表されたのは、Optane SSD DC P4800X(Photo02)。フォームファクタはPCIeタイプ(AIC:Add In Card)とU.2で、容量は375GB/750GB/1.5TBを用意する。既存のSSD DC P3700シリーズの後継という位置付けであるが、置き換えというよりはむしろ併用といった感じの使い方を考えているようだ。

Photo02:これはPCIeタイプ(AIC:Add In Card)だが、ほかにU.2のものも発売される。AICはPCIe Gen3 x4で、従来モデルとI/Fは一緒

Photo03:といいつつ、例えばSSD DC P3700シリーズが400GB/800GB/1.6TB/2TBというラインナップなのに、375GB/750GB/1.5TBと微妙に容量が減っており、あるいはSSD DC P3608の4TBに相当する製品がないあたり、後継とは微妙にいいがたい部分もある

ただし、性能は圧倒的である。SSDに要求される4つの指標(Photo04)で、Optane SSDは従来製品を大幅に上回るとしている。具体的な結果としては、まずLatency vs Load(Photo05)では、どれだけIOPが増えてもLatencyはほとんど悪化せず、バラつきが極端に少ない事も示された。加えていえば、P3700ではIOPsが33万辺りで頭打ちになっているのに対し、P4800では52万IOPsあたりまで延びているのもポイントとなる。

Photo04:スループットと応答性、耐久性を向上しつつ、Latencyを削減できたとする。NANDベースでこれをいわれると眉に唾をつけたくなるが、今回はメモリのアーキテクチャが根本的に違うから、納得できる部分でもある

Photo05:負荷を掛けた状態でのRead I/OのLatency。縦軸がLatency、横軸がIOPとなる。Averageだけ見ればP3700もそう悪くないが、99%/99.9%/99.99%/99.999%のLatencyで見るとさすがにNANDベースは悪化が避けられない

Photo06:52万IOPsの先で跳ね上がっているのは、Optane Memoryの限界というよりもコントローラの限界な気がするが、どちらにせよこれ以上のIOPは無理というので、これは仕方ないところだろう

ただ、いくら何でも縦軸が荒すぎる(P4800XのLatencyが見当つかない)ということで、縦軸を対数にしたのがこちら(Photo07)。52万IOPsを超えたあたりで急に跳ね上がっているが、その手前まででいえばおおむね10~70μsecの範囲にLatencyは収まっており、100μsec以上となるNAND FlashベースのP3700に対する性能差は明白である。ただ右にある「<10μsec Latency」はちょっと誇張があるように思うが(あるいは「<100μsec Latency」のTypoだろうか?)。

Photo07:Queue Depthを深くすると性能は上がるが、Latencyも当然増えることになるので、Latencyを重視するかThroughputを重視するかのバーターとなる。ところがOptane SSDではDepthを浅いまま(つまりLatencyを重視)でもThroughputが上がるというわけだ

次がQueue Depthとスループットの関係である。一般論としてQueueを深くすればするほど性能改善には有利であり、実際P3700は比例とはいわないまでも、右肩上がりのグラフを維持していることでこれが確認できる。

対するP4800もある意味傾向は同じだが、だいたいQueue Depthが11~12程度がピークであり、またそこまでのグラフのカーブがより急である。つまり従来のNAND Flashベースに比べてより浅いQueue Depthでも十分な性能が確保できる、としている。

先のPhoto05/06とちょっと関係するが、LatencyというかRead Responseのバラつきを見たのがPhoto08である。P4800Xの場合、時間が経過してもResponse Timeは100μsec未満に収まっているので、99%のIOTのレスポンス時間もこの範囲に収まっている。

Photo08:90%程度のQoSでよければ300μsec程度で収まるが、99%とかになると一桁増える感じだ

対してP3700の場合、平均という意味では300μsec程度以内に収まっているが、外れるときは3000μsec程度までLatencyが増えており、しかもその頻度が割と多い。

このアクセス時間とResponse Timeの関係は、長期で見るともっと分かりやすい(Photo09)。Random ReadとRandom Writeが混在する場合、どうしても長期的にはNAND FlashのResponse Timeは悪化する。これはNANDの構造に起因するもので避けられないのだが、原理的にこの問題を回避できるOptane Memoryでは、Read/Writeが混在してもResponse Timeが全く悪化しないのが大きなメリット、とする。

Photo09:NAND FlashはBlock Read/Block Writeが基本で、しかもBlock Writeには結構な時間を要するから、ReadのみならばともかくRead/Write混在の状態である程度時間が経過すると、時折Readの処理を中断してキューに溜め込んだ状態でWriteの処理を行わざるを得ず、これがResponse Time悪化の要因となる

またNAND Flashでも、特にMLC/TLCは寿命の短さが大きな問題になっているのはご存知の通りであるが、この観点でもOptane SSDにはメリットが大きいとしている(Photo10)。

Photo10:縦軸はDWPD(Drive Write Per Day)で、製品の保証期間の間、毎日どれだけのデータを書き込めるかを示す。10というのは、例えば800GBのSSDなら毎日8TB(800GB×10倍)まで書き換え可能の意味となる

もっとも以前の説明では「NAND Flashと比べて書き込み寿命が1000倍」という話だったので、それに比べると案外少ないという感じもしなくはないが。ただDWPDが30以上、というのはキャッシュサーバーとか、仮想化環境でのホストドライブなど、書き換えが激しい環境でも利用できる事を示している。

こうしたOptane Memoryの特徴を生かす使い方としてIntelが提唱しているのは、既存のSSDの置き換えではなく、「DRAMとSSDの間を埋める」というこれまたPhoto01の繰り返しの様な議論である(Photo11)。

Photo11:左はStorage Cacheとして、右は仮想記憶の延長として使うという考え方だ

単純にDatabase Storageを既存のSSDから置き換えた場合(Photo12)では、トランザクション性能が一桁上がり、当然トランザクション辺りのコストは下がる計算になる。ただこうした直接的な方策よりも、IntelとしてはMemoryの代替をむしろ積極的に推している感じだ(Photo13)。

Photo12:ただしここでは容量の事を考慮に入れていないので、実際はもう少し話が複雑になると思うが

Photo13:現時点ではまだ製品化は成されていないが、将来的にはNVDIMMのOptane Memory版をメインに考えている様だ。これも理由は明白で、PCIeのレーンはそれほど一杯ないし、PCIeレーンを使う時点でそこがボトルネックになるからだ

IntelがOptane SSDと一緒にXeon向けに提供するIntel Memory Drive Technologyを使うことで、P4800Xをそのままメモリ専用デバイスというか、メモリとして扱えるようになる様だ(Photo14)。

Photo14:単純な方法だとP4800に適当なドライブ名を割り振り、そこにPaging Fileを置くだけでいいのだろうが、これだとSwapが発生するまで使われない事になるので、もう少し細工を施したものとおもわれる

逆にいえば、このMemory Device Technologyが利用できる、というのがXeonのメリットとしてアピールしたいようだ。実際の事例としては、768GBのメモリを搭載したケース vs 128GBメモリ+P4800X 375GB×4で比較を行い、GEMMでは1.1倍の性能アップ、MySQLでは80%の性能を維持、という結果が出ているとする(Photo15)。

Photo15:このあたりはどれだけメモリ容量がアプリケーションに影響を及ぼすかで性能が変わってくる模様だ

いうまでもなくDRAMの搭載容量には限界があり、Optane SSDを使うとこれを遥かに超えるメモリが利用できるから、これまでは不可能だったようなアプリケーションでも十分利用できる(Photo16)という。

Photo16:考え方によっては、AMDのNaplesが実現する「メモリ容量2倍」に対するIntelの回答といえなくもない

すでに多くのエコシステムパートナーがこのP4800Xに対応しているとしており(Photo17)、Photo03にもあったように4月19日より一部の顧客に対して早期出荷を開始、本格量産に入るのは2017年後半になる。

Photo17:使い方はそれぞれ異なるだろうが、さすがに既存のSSDをそのままP4800Xに置き換えるというユーザーはそう多くないだろう

ちなみに価格は現時点で未発表であるが、Photo12の数字を基にすごくラフな試算をすると、

  • P3700(400GB) : 1395TPS×$10.09/TPS ≒ $14076
  • P4800X(140GB): 16480TPS× $0.90/TPS ≒ $14832

となる。ただこれはシステムコスト全体の話なので、SSDのコストそのものではない。つまりシステムの違いはSSDのみで、その差は800ドルほどになる。現在のP3700 400GBの値段は、米国Amazonで大体800ドル程度だから、P4800Xの試作品の値段は1600ドルになる計算だ。

ただ恐ろしいのはこの試作品、容量が140GBでしかないことで、仮に375GBの量産品が容量そのまま比例関係でコストが上がると考えると、$4285.7ということでほぼ50万円という恐ろしく高価なSSDの登場になる。さすがにここまで値段が上がるとは思いにくいが、いくらくらいの値段で発売されるのか興味がある。