笠原一輝のユビキタス情報局
メモリ階層に大変革をもたらすOptane Persistent Memory
2019年9月30日 06:00
Intelは、9月26日に韓国ソウル市において同社のストレージ製品に関するイベント「Memory & Storage Day 2019」を開催し、同社のSCM(Storage Class Memory、よりDRAMに近い性能を持つストレージ)製品となる「Optane」、2020年に出荷予定の144層の3D NANDなど同社のメモリ、ストレージ関連の新技術などに関しての説明を行なった。
このイベントのなかで、Optane DC Persistent Memoryに関するアップデートを行ない、まもなくワークステーションに、そして近い将来にクライアントPCに導入する計画であることを明らかにした。
DRAMとSSDのレイテンシの差は1,000倍、その間を埋めるSCMに注目
Memory & Storage Day 2019のなかで、何度もIntelが強調したのが「メモリ階層の変革」だ。
PC、サーバー、スマートフォンなどのいわゆるノイマン型のコンピュータは、メモリやストレージが階層構造になっており、CPUやGPUなどの演算器は、できるだけ自分に近いところにある高速なメモリからデータを読み込んで処理を行なう仕組みになっている。
CPUに一番近いのはキャッシュメモリで、CPUの内部にSRAMで実装されている。そのキャッシュにデータがない場合には、メインメモリと呼ばれるDRAMにアクセスしてデータを読み込む。そのDRAMにもデータがない場合には、SSDやHDDなどのストレージにアクセスしてデータを読み込む。
そして、キャッシュ<メインメモリ<ストレージの順で、データを読み込める時間(レイテンシ)がかかるようになり、レイテンシが大きくなればなるほど、CPUが処理を終えるまでの時間がかかるので、コンピュータ全体の性能が低下することになる。
こうしたメモリ階層は、00年代前半までは、キャッシュ<メインメモリ<HDDという単純な階層だった。しかし、CPUやメインメモリの高速化がどんどん進んだのに対して、HDDは物理的な円盤を使っているという仕組み上の問題もあり、レイテンシは改善されなかった
そこで、2000年代の後半に導入されたのが、NAND型フラッシュメモリを利用したSSD(Solid State Drive)だ。半導体を利用しているSSDは、HDDに比べてレイテンシが圧倒的に小さく、大きな性能向上になった。ハイエンドノートPCから採用されるようになり、現在は低価格帯のノートPCでも一般的に採用されるようになっているほか、データセンターのサーバーでもHDDに代わって採用されるようになってきている。
だが、SSDが一般的になって来ている現在でも、メモリとストレージのレイテンシの差は小さくない。Intel データセンター事業本部 主任エンジニア モハマド・アラファ氏によれば「DRAMとSSDのレイテンシの差は1,000倍になっている」とのことで、DRAMにデータがあれば終わる処理が1μsかかったとすると、SSDにあった場合には1msかかる計算になる。ものすごい勢いで演算しているCPUにとって、その差は非常に大きなものだ。
【お詫びと訂正】初出時に、1μmと表記しておりましたが、1μsの誤りです。お詫びして訂正させていただきます。
では、キャッシュやメインメモリを大容量にして対応すればいいじゃないかと行きたいところだが、DRAMは電源が入っていないとデータを保持できないし、何よりSSDほどの大容量を同じコストで実現するのは現時点では不可能だ。つまり、DRAMとSSDの間には、ぽっかりと大きなギャップができてしまっているのだ。
それを解決する手段として現在注目されているのがSCM(Storage Class Memory)だ。SCMとはDRAMとSSDの間を埋め、メモリとして使えるレイテンシを実現しながら、ストレージとしても使える容量(コスト)を実現しているメモリという意味になる。その代表例が、Intelの3D XPointと呼んでいる技術を利用したOptaneだ。
Optaneは、ラフにいってSSDに比べてレイテンシが10分の1なの対して、コストあたりの容量はDRAMの10倍という、90/10ルールを実現したSCMとなる。つまり、レイテンシの観点ではDRAMの代わりとしてメインメモリとしても使え、容量コストの観点でストレージの代わりとして使えるわけだ。
今回。3D XPoint技術の拡張として、第1世代で利用している2層構造に加えて、4層構造を実現することで、同じダイサイズで2倍の容量を達成できると説明しており、第2世代以降のOptaneでそれが採用される可能性がある。それが実現すれば、今後容量も増えていき、SSDとの容量のギャップがさらに埋まっていく可能性がある。
サーバー向けのOptane DC Persistent Memoryのロードマップを更新
IntelはOptaneをDRAMとSSDの間に新しい階層として位置づけており、かつ、その階層をDRAMに近い側と、SSDに近い側の2つの分けている。前者をOptane DC Persistent Memory(データセンター向け)、後者をOptane DC SSD(データセンター向け)とOptane SSD(クライアントPC向け)と呼んでいる。
Optane DC SSD/Optane SSDは、SSDよりも高速な3D XPointの特徴を活かし、SSDの代わりとして使うことを狙った製品だ。通常のNAND型フラッシュメモリベースのSSDと同じく、2.5インチのフォームファクターだったり、M.2のフォームファクターで提供されており、PCやサーバーのストレージとして利用することができる。
これに対してOptane DC Persistent Memory(以下Optane DCPM)は、メモリの代替として使うことを意識したものとなり、今年の春に発表されたデータセンター向けの新CPUとなる第2世代Xeon Scalable Processors(以下第2世代Xeon SP)で初めてサポートされた。
Optane DCPMは、DDR4のメモリモジュール(DIMM)と同じフォームファクタ/電気信号になっており、DDR4のメモリモジュールと混載させて使用できる。データのやりとりはDDR-TというIntel独自のプロトコルでやりとりをするかたちで、メモリコントローラ側にそれをサポートする必要があるので、現在Optane DCPMを利用できるのは第2世代Xeon SPだけだ。
なお、メモリの規格を策定するJEDECでは、Optane DCPMと同じようなSCMを搭載したDDR4互換のDIMMモジュールとなる「NVDIMM-P」の仕様策定が進んでいるが、これについてIntel データセンター事業本部 製品管理担当 上級部長 クリスティ・マン氏は「IntelはJEDECの主要会員としてNVDIMM-Pの仕様策定にも積極的に関わっている。仕様としてはかなり近いが、わずかな違いがある。Intelとしては、Optane DCPMはプロトコルの違いだけでなく、ソフトウェアの環境なども含めて製品を構成しており、競合のNVDIMM-Pベースの製品とは差別化ができていると考えている」と述べ、NVDIMM-Pよりも優れたソリューションとしてOptane DCPMを推進していきたいとした。
ただし、マン氏は将来的に顧客がNVDIMM-Pを望んだ場合には、そちらも提供する可能性を否定しなかった。
第1世代のOptane DCPMは開発コードネームでApache Passと呼ばれる製品だが、今回のイベントでIntelはOptane DCPMのロードマップを更新し、Optane DCPMの将来にプランに関して説明した。来年(2020年)導入される計画の第2世代Xeon SPの後継製品となるCooper Lake、そしてピン互換で10nmプロセスルールに微細化されるIce Lake世代に対応する第2世代のOptane DCPMとして、開発コードネーム「Barlow Pass」を投入する。
さらにIce Lakeの後継として計画されているSapphire Rapidでは、第3世代のDCPMを、そしてSapphire Rapidの後継製品(コードネーム非公開)では、第4世代のDCPMを投入すると説明した。なお、余談だが、DCPMのコードネームは第1世代がApache Pass、第2世代がBarlow Passとなっており、A、Bと来ている。よって第3世代に関しては「C~ Pass」、第4世代に関しては「D~ Pass」となる可能性が高い。
これらの各世代のDCPMだが、基本的には世代間の上位互換性や下位互換性はないという。具体的には、Apache Passは第2世代Xeon SPにしか使えないし、Barlow PassはCooper Lake/Ice Lakeにしか使えない。これはおもにバリデーションの問題だそうだが、今のところの製品計画では上位互換性および下位互換性を実現する予定はないとのことだった。
ワークステーションのデモはWindows 10 Pro for Workstationを利用して行なわれる
今回Intelは、このOptane Persistent MemoryのクライアントPC向けの活用について大きくアピールした。Intelが発表したのは近い将来にワークステーションでサポートを開始し、いつかは明言しなかったがPCクライアントでも対応をする計画があり、Microsoftと協力してOSやソフトウェアの更新を行なっていると説明した。
ワークステーションに関してだが、Memory & Storage Day 2019の会場ではすでにデモが行なわれていた。というのも、Intelは第2世代Xeon SPのワークステーション向けのSKUをまだ発表していないが、そう遠くない時期に発表するものと考えられている。第2世代Xeon SPはすでにハードウェア的にOptane DCPMがサポートされており、マザーボード側のBIOSなどが対応すれば対応はさほど難しいことではない。
問題はソフトウェア側だが、Intel 不揮発メモリソリューションズ事業本部 クライアントSSD戦略計画担当 上級部長 デビット・ランデル氏によれば、「MicrosoftはサーバーOSのコンポーネントをクライアントに適用する取り組みを行なっており、すでにWindows 10 Pro for Workstationでそれが実現されている」とのことで、現在のデモはWindows 10 Pro for Workstationで既に動いているとのことだった。
今回Intelが行なっていたデモは2つあるOptane DCPMの動作モード(メモリモード、アップダイレクトモード)のうち、アップダイレクトモードで動作していた。簡単に言うとメモリモードはDRAMをキャッシュとして使いOptaneをメインメモリとして使う仕組みで、アップダイレクトモードはアプリケーションがDRAMとOptaneを別々に使う。
前者のメモリモードはアプリケーションソフトウェアの改変は必要ないが、後者は必要がある。より効率よく使うにはアップダイレクトモードが有利だが、ソフトウェアに手を入れなければいけないことが弱点となる(Optane DCPMの技術的詳細に関しては発表時の記事を参照)。
今回IntelはこのOptane Persistent Memoryのワークステーションデモを、未発表の第2世代Xeon SPのワークステーションSKUと見られるCPUで行なった。その性能は圧倒的と言うほかない結果、TLC NANDのIntel SSD 760pと比較して、SPEC Workstation 3.0.1というベンチマークで、項目によっては10倍を超える性能を実現した。
Windowsのシステムプロパティではメモリには535GB(32GB Usable)と表示されており、OSが使える領域としては32GBとなっているが、DCPMに対応したアプリケーションを作成すればOptane DCPM側の500GBが使える、そういう意味だと考えることができるだろう。
クライアントPCではまずHEDTからになる可能性、将来的にはモバイルも
将来的にどんなアプリケーションが考えられるかと言えば、例えばゲームの巨大なマップをストレージから読み出すのではなく、つねにOptaneにロードしておき、これまででは考えられなかったような速度で仮想世界を実現するなどが考えられる。Optane側にデータをロードしておけば、電源を切ってもデータは保持されるので、なんらかの理由でPCを再起動してもすぐにゲーム再開を可能だ。
また、OSが対応すればの話だが、OSのコア部分をOptane側につねにロードしておけば、OSの起動がさらに高速になるだろう。すでに述べたとおり、SCMはSSDに比べてレイテンシが10分の1になるので、もちろん10倍にはならないだろうが、数分の1になるかもしれない。現在速いPCだと10秒以内にブートという製品も少なくないが、それが数秒にまで短縮される可能性がある。
現在IntelがMicrosoftと協力して行なっているというソフトウェアの改良というのは、そうしたことをOSに施し、そしてアプリケーションを開発するISVにその情報を公開して対応を促しているということだと考えることができる。
では、クライアントPCにそうしたPersistent Memoryがやってくるのはいつになるのだろうか? ヒントは今回のデモに隠されている。今回Intelが利用したのはLGA2066ソケットの第2世代Xeonのワークステーション向けSKUを利用した。LGA2066ソケットは、HEDT(High-End DeskTop)向けのCoreプロセッサでも利用されている。IntelはSkylake-Xの後継として、IntelはCascade Lake-Xを計画しており、さほど遠くない時期に投入すると見られている。
つまり、今回ワークステーション向けとしてデモした環境は、いくつかの改変でHEDT向けとして投入することも可能なのだ。もっとも、「できる」と「やる」の間には大きな違いがあるので、Cascade Lake-X世代ではサポートされないとしても、その次の世代になるIce Lake-Xでは対応される可能性はあると言える。
IntelはこのOptane Persistent Memoryのクライアント導入に真剣に取り組んでおり、近い将来には、ワークステーションやHEDTといったデスクトップPC製品だけでなく、モバイルにも導入する可能性を示唆しており、近い将来にはPCのメモリ階層に、SCMが加わる日はそんなに遠くないのかもしれない。