IBMのJoseph氏は、モデレータからの事前の質問項目に応える形で発表を行った。

3D積層メモリは高価で、もっと安くてバンド幅の大きいメモリが必要。また、DRAMの進歩が止まった先に使えるメモリが無いことが問題という

将来のメモリに関して、心配される問題点は、という質問に対して、3D積層のメモリは非常に高価で、もっと安価な高バンド幅メモリが必要と主張する。また、当面はDRAMを使い続けるが、その先には根本的に異なるメモリが必要になる。しかし、PCM、RRAM、MRAMなどは一時しのぎにしかならないという。

将来のメモリテクノロジは、という質問に対しては、カーボンナノチューブを使うメモリ、単電子メモリと磁気レーストラックメモリを挙げた。カーボンナノチューブが一番実用に近いと見ている。

将来のメモリとしては、カーボンナノチューブ、単電子メモリと磁気レーストラックメモリを挙げた

インテリジェントメモリについては、前年のSC15でのコメントを引用して、PIM(Processor In Memory)はデータ移動のエネルギーを減らせる可能性はあるが、コヒーレンシを維持するのが難しいと指摘した。

全体的なコメントしては、アクセラレータなどの特定の用途向けのシステムでは、計算とメモリの区分はぼやけてきており、データのあるところでの処理が可能になる。しかし、レガシーのプロセサは近い将来には無くなりそうにはない。また、Gen-Z、OpenCAPI、CCIXなどが出てきており、ストレージクラスのメモリをコヒーレントに接続することが進むと予想している。

インテリジェントメモリはコヒーレンスの維持をどうするかが問題。サブシステムに閉じた使い方は可能

続いて、ノートルダム大のKogge教授が登壇した。Kogge教授は2008年のDARPAのExascale Computing Studyを主導したExascaleテクノロジのエキスパートである。

Kogge教授は、モデレータからの事前の質問の回答の2枚のスライドを用意していたが、これらについては、ほとんど説明をせずに飛ばしてしまったが、興味深い内容なので紹介する。

2番目のブレットの賞味期限切れのアイデアとしては、メモリとプロセサを別々に作ることと大量のメモリ空間のコヒーレンシを維持することを挙げ、3番目のブレットの真の問題としては、エネルギーを低減してアクセスレートを上げること、長いレイテンシの事象をさけること、新しいアプリケーションではバンド幅の低減や局所性が少なくなっていることを挙げている。そして、4番目のブレットの望ましい方向性としては、処理をメモリの方に持って行って必要エネルギーを減らすことと述べている。

プロセサとメモリを別個に作ること、大きなメモリ空間でコヒーレンシを維持するのは賞味期限切れのアイデア。プロセサとメモリを一体化してエネルギー消費を最小化することが重要

回答の2枚目のスライドでは、NVMの高密度化、ロジックチップとのスタック化、そして、マスタ-スレーブだけでなく、メモリプロトコルを拡充することが大きな変化を惹き起こすと指摘している。

そして、危険な(斬新な)アイデアとしては、メモリと処理を一体化し、それを多数並べて、スレッドをデータのあるところに移動して処理させることと述べている。

大容量の不揮発メモリとマスタ-スレーブだけでなくより機能をもたせたリッチなインタメモリインタフェースが大きな変化をもたらす。斬新なアイデアとしては,メモリ+プロセサのモジュールを多数使い、データに近いところにスレッドを移動するアーキテクチャ

次の図は横軸にドメイン(メモリとそれを共有するプロセサ群をドメインと呼ぶ)、縦軸に性能を取ったもので、スパースな行列とベクトルの積、Graph5000のBFS、GPUやベクトルプロセサでHPCGを実行した場合と、通常のマルチプロセサでHPCGを実行した場合の性能を示している。これらの疎行列を扱う処理では、ドメイン数が増えると、ドメイン間の通信が必要になるので1ドメインの場合より性能が下がってしまう。そして、1ドメインの性能を超えるには10-1000ドメインにする必要がある。このようにデータの疎の程度が並列化性能に大きく影響するという。

スパースなデータ処理の場合のドメイン数と性能の関係。ドメイン数を増やすと最初は性能が下がり、どの程度疎なデータかによるが、1ドメインの性能まで回復するには10-1000ドメインが必要になる

次の図はGraph500の処理の図であるが、一般にデータアナリティックスの処理は次の図のようになる。大きな入力データを保持する(不揮発性)メモリがあり、そこから一部を取り出してバッチ処理を行う。そして結果をビッグデータメモリに書き戻す。ビッグデータのアクセスは飛び飛びで、読出しにはギャザーが必要であるし、書き戻しはスキャッタが必要となる。

また、リアルタイムに入力が更新される場合にはローカルなデータの更新が必要となるが、このアクセスはアトミックとなることが多い。

ビッグデータを処理する場合の処理の流れ

このような処理を行うシステムとしては、プロセサスタックの上に揮発性のメモリを載せたものと、不揮発性のメモリを載せたもの作り、多数のスタックをインタポーザに搭載する。プロセサスタックはデータがあるところを飛び回るスレッドを実行するので、「Gossamer(空中を飛ぶクモの糸でできた白いもの)コア」と呼んでいる。これに図の右側に書かれたマルチコアの制御システムが付いている。これが、最初の2枚の回答スライドに書かれていたシステムを具体化したものである。また、この図は前出のAMDのIganatowski氏の図と非常に似通っている。

プロセサスタックの上に揮発性メモリ、あるいは、不揮発性メモリのスタックを載せた多数のモジュールをインタコネクトで接続する。スレッドは、データ位置に応じてプロセサを移動するアーキテクチャ。ブロック図の右側は制御用プロセサ

最後にMicronのPawlowski氏が登壇した。まず、次の図を示し、HPLや行列積、マシンラーニングなどでは必要なメモリバンド幅は非常に小さいが、HPCGでは4Byte/Flop以上のメモリバンド幅を必要とする。データアナリティックスもこの程度のバンド幅を必要とし、このような処理を効率よく実行することにフォーカスすべきであるという。

各種の処理とそれらの処理のByte/Flop。左はByte/Flopが少なくて済む処理で、マシンラーニングはこのような処理。HPCGやデータアナリティックスは4B/Flopかそれ以上のバンド幅を必要とする。このような処理にフォーカスすべきである

2016年6月のHPCGの上位4位までのマシンのリスト(2016年12月のリストでは京コンピュータが0.6027PFlopsにスコアを伸ばして1位)であるが、1位のシステムはHPL性能の0.33%の性能しか出ていない。Flopsを重視する傾向が強いが、メモリ性能をシステム性能と考えるべきであるという。

現在のスパコンも同じ問題を持っており、2016年6月のHPCGで1位になった天河2号のHPCG性能はHPL性能の0.33%でしかない。京コンピュータは5.3%。Flopsに注目することが多いが、性能の基準はメモリ性能にすべき

次の図は、色々な動作状態でのデータ転送のエネルギーであるpJ/bit値を表すグラフである。薄い線が現在で、濃い線は2018年の予測である。○で囲ってあるのはデータ移動を行っている部分で、5pJ/bit程度のエネルギーを必要としている。つまり、伝統的な計算処理では、データ移動の消費電力で性能が制限されてしまう。

データ移動に必要なエネルギーは、現在も2018年もほぼ同じで、5pJ/bit程度

このため、CPUとメモリを一体化して、データ移動のエネルギーを小さくする必要があると述べた。

CPU、メモリ、ストレージが独立という造りから、メモリとストレージが一体化に進んでいるが、さらにCPUとメモリを一体化して消費エネルギーを減らす必要がある

ということで、発表者の意見は皆、ほとんど同じで、CPUとメモリを近づけてデータ移動のエネルギーを小さくすることが必須であると言っている。Kogge教授は、より具体的に、コンピュートスタックの上にメモリスタックを積み重ねるという絵を示している。ただし、発熱の大きいコンピュートスタックの上に、熱に弱いメモリチップを重ねるのは容易ではない。どのように放熱を行うのかが問題である。また、IBMのJoseph氏が指摘したように3D積層メモリは非常に高価であるという問題もあり、実用化には、まだ、いくつも解決すべき問題が残っている感じである。