SC15において、将来のメモリに関するパネルディスカッションが行われた。モデレータはMicron TechnologyのRichard Murphy氏、パネリストはIntelのSekhar Borkar氏、NVIDIAのBill Dally氏、ARMのWendy Elasser氏、AMDのMike Ignatowski氏、IBMのDoug Joseph氏、ノートルダム大学のPeter Kogge教授、そしてMicronのSteve Wallach氏という顔ぶれである。

将来のメモリに関するパネルディスカッション。ポジショントークを行っているのはWallach氏。順に、Kogge教授、Dally氏、Joseph氏、Ignatowski氏、Elasser氏、左端はモデレータのMurphy氏。なおBorkar氏は写っていない

モデレータからは以下のような質問が出されていて、パネリストは、自分のポジションを述べるという形式でパネルディスカッションが行われた。

  • Exascaleとそれ以降にはどのようなメモリが良いか?
  • コアあたりのメモリ量が減っているが、どうすれば良いか?
  • メモリのインタフェースとして、HMCのような高速シリアルとHBMのような低速ワイドのどちらが良いか?
  • PIM(Processing-In-Memory)アプローチの影響は?

MicronのSteve Wallach氏のポジション

Wallach氏はConvexの創立者の1人でCシリーズスパコンやExemplarスパコンを開発した。同社はHPに買収され、Exemplarの設計はHPのSuperdomeサーバに受け継がれた。その後、Conveyという会社を起こし、FPGAベースのスパコンを開発していたが、2015年4月のMicronによるConveyの買収に伴いMicronに移っている。Wallach氏は、2008年にCray賞を受賞している。

メモリチップを3D積層するHBMやHMCが出てきて、メモリバンド幅は改善された。また、3D XPointのような高速の不揮発性メモリも出てくる。これを使えばワンレベルの仮想アドレススペースのメモリが作れるようになる。

将来的には、計算処理とメモリの集積が可能になるが、どのような形で、どのようなアーキテクチャが良いかは今後の検討課題である。

HBMやHMCの登場でメモリバンド幅は改善された。3D XPointが実用化されるとワンレベルストアが実現できるようになる

Exaバイトのメモリをアドレスするには60bitを必要とする。大容量の3D XPointのようなメモリが出てくると、記憶容量が増大し、Exaバイトを超えるメモリを搭載するシステムが出てくる。そうなるとPGASのアドレススペースとしては64bitでは不足で、128bitアドレスが必要になってくる。

大容量の不揮発メモリでワンレベルのアドレス空間を作ると64bitアドレスでは不足で、将来的には128bitアドレスに移行する

そうなると上位64bitをオブジェクトIDとし、下位64bitをバイトオフセットとするような形になると考えられる。

128bitアドレスでは上位64bitをObject ID、下位64bitをByte Offsetとして使う

IntelのSekhar Borkar氏のポジション

次の各グラフの8本の棒グラフは、左からSRAM、DRAM、Flash、PCM、STT、FeRAM、MRAM、RRAMを表している。そして、左上のグラフは、各メモリが作られているテクノロジノードのハーフピッチを示しており、より微細なプロセスで作られているSRAM、DRAMとFlashが成熟度が高い。その右のグラフはメモリのセルサイズを示したもので、面積の小さいDRAM、Flash、PCMが良い。右端のフラフはビット密度を示すもので、DRAM、Flash、PCMが良い。

下の段の左端はReadとWriteのサイクルタイムを示すグラフで、SRAMとDRAMが高速である。その右は、ビット当たりのReadとWriteのエネルギーを示すグラフで、メモリで必要とされる大容量が実現でき、エネルギーが小さいのはDRAMとFlashである。その右は寿命のグラフで、FlashやPCMは寿命に問題がある。

8種のメモリの成熟度やセルサイズ、そして、サイクルタイムなど6つの特性を比較したグラフ

これらの特性をスコアカードにまとめたものが次の図で、容量、速度、エネルギーの点でバランスが取れているのはDRAMである。FlashとPCMはアクティビティが低いところでは大容量のメモリとして使えるという評価となっている。STT、FeRAM、MRAM、RRAMは、まだ、実用には疑問があるという評価である。

各種テクノロジのメモリのスコアカード。容量、速度、エネルギーでバランスの取れているのはDRAMで、FlashとPCMは寿命の点で動作の少ない部分では大容量のメモリとして使えるという評価

Exascaleとそれ以降のメモリテクノロジとして使えるものはというモデレータからの事前の質問の回答はDRAM、NAND、PCM。3D XPointなどを指すと思われる飛躍的な進化の兆候は見られるがExascaleには間に合わない。

また、DRAMは、エラーに関してはNANDのように管理することが必要という。これはRow Hammerのようなエラーが顕著になってきており、それを防ぐにはNANDのような管理が必要と言う指摘と思われる。

プロセサチップに搭載されるコア数の増大から、1コアあたりのメモリ量が減ってきているという問題に対しては、DRAM+Flash+PCMのような階層的なヘテロのメモリで対応するしかない。銀の弾丸のような解決方法はない。

パネルの質問の回答(その1)

メモリインタフェースを(HMCのような)高速シリアルにするか、(HBMのような)低速、ワイドにするかについては、性能的にはどちらでも良いが、エネルギー的には低速、ワイドが有利。コストの点では高速シリアルの方が僅かに良いといったところである。

PIM(Processing in Memory)アプローチに関しては、処理用のテクノロジとメモリ用のテクノロジは優先度の付け方が違うので、長期的に見ると問題があるという見解である。ただし、これは3DスタックでロジックとRAMを異なるテクノロジで作る場合は含んでいないと思われる。

パネルの質問の回答(その2)