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のような高速の不揮発性メモリも出てくる。これを使えばワンレベルの仮想アドレススペースのメモリが作れるようになる。
将来的には、計算処理とメモリの集積が可能になるが、どのような形で、どのようなアーキテクチャが良いかは今後の検討課題である。
Exaバイトのメモリをアドレスするには60bitを必要とする。大容量の3D XPointのようなメモリが出てくると、記憶容量が増大し、Exaバイトを超えるメモリを搭載するシステムが出てくる。そうなるとPGASのアドレススペースとしては64bitでは不足で、128bitアドレスが必要になってくる。
そうなると上位64bitをオブジェクトIDとし、下位64bitをバイトオフセットとするような形になると考えられる。
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は寿命に問題がある。
これらの特性をスコアカードにまとめたものが次の図で、容量、速度、エネルギーの点でバランスが取れているのはDRAMである。FlashとPCMはアクティビティが低いところでは大容量のメモリとして使えるという評価となっている。STT、FeRAM、MRAM、RRAMは、まだ、実用には疑問があるという評価である。
Exascaleとそれ以降のメモリテクノロジとして使えるものはというモデレータからの事前の質問の回答はDRAM、NAND、PCM。3D XPointなどを指すと思われる飛躍的な進化の兆候は見られるがExascaleには間に合わない。
また、DRAMは、エラーに関してはNANDのように管理することが必要という。これはRow Hammerのようなエラーが顕著になってきており、それを防ぐにはNANDのような管理が必要と言う指摘と思われる。
プロセサチップに搭載されるコア数の増大から、1コアあたりのメモリ量が減ってきているという問題に対しては、DRAM+Flash+PCMのような階層的なヘテロのメモリで対応するしかない。銀の弾丸のような解決方法はない。
メモリインタフェースを(HMCのような)高速シリアルにするか、(HBMのような)低速、ワイドにするかについては、性能的にはどちらでも良いが、エネルギー的には低速、ワイドが有利。コストの点では高速シリアルの方が僅かに良いといったところである。
PIM(Processing in Memory)アプローチに関しては、処理用のテクノロジとメモリ用のテクノロジは優先度の付け方が違うので、長期的に見ると問題があるという見解である。ただし、これは3DスタックでロジックとRAMを異なるテクノロジで作る場合は含んでいないと思われる。