世界のスーパーコンピュータとそれを動かす人々


3月 14, 2014

Micron、オートマタ・プロセッサでメモリの寿命を2倍に

HPCwire Japan

Nicole Hemsoth

我々がSC13から最も有無を言わさぬ発表を取り上げるならば、メモリベンダー(その偏狭な区別が直ぐに変わるかもしれないが)であるMicronのオートマタ・プロセッサに関するニュースがリストのトップに来る。この時点においてウォッチすべき技術としてファイルするに足る十分な理論がある一方、このコンセプトは、Micronの将来といくつかのHPC関連のキーワークロードにとって約束されたものとしてユニークだ。

簡単に言えば、オートマタ・プロセッサは、巨大で、複雑な、非構造化データを高速検索・分析することに向くプログラム可能なシリコン装置だ。特定ターゲット領域用の代替処理エンジンとして、メモリに固有の内部の並列化を利用し、あるタイプの処理用に強力で絶対的に注目される(もし早期にベンチマークが提供されるならば)オプションとして提供される。

20131122-F3-1

初心者の方のために、プロセッサ・ジャングルへのMicronへの進出に期待してはならないことを説明しよう。まず最初に、これはCPUに取って代わるようなものではないことだ。最近プレスがどこかで記述しているにも関わらず、純粋なCPU競争者のようなものでなく(少なくともこの時点では)、もっと専用的なアクセラレータ(例えばFPGA対Xeonを考えて欲しい)のようなものであることだ。これらはある特定のワークロード用に設計されている、ネットワークセキュリティ、画像処理、バイオインフォマティクスや3文字の大君主の作業を推進させるような選択されたコードなどである。この利点は、これらがプログラム可能であり、いくつかの点で再構成可能であり、平均的な従来の固定ワード幅のプロセッサでは必ずしも扱えることができない大規模な非構造データ解析問題を、じっくり考えることができることだ。

Paul DlugoschはMicronのDRAM事業部のアーキテクチャ開発グループにおけるオートマタ・プロセッサ開発のディレクターである。「この産業のメモリ研究者や関係者を除く皆さんが良く理解していなことのひとつは、メモリデバイスが本来非常に高度に並列化されたデバイスであることです。」と彼は語る。「実際に、並列性の殆どのパワーはテーブルに残されたままで使われていないのです。」

Micronは7年の間、オートマタ技術の開発を行ってきたと彼は語った – 大規模システムにおけるメモリの役割についてどのように彼らが考えるかにおいて、根本的な変化によって与えられたプロセス。Dlugoschが我々に教えてくれたように、この会社はハイブリッド・メモリ・キューブでメモリを再考するのに尽力してきた、しかしメモリの壁は新しい梯子を必要としていた。いわば、メモリが2つの機能を行うことができるというのが、実感の最初の段階であった。

オートマタ領域への彼らの旅の最初には、何がメモリインタフェースの飽和を引き起こすのか、そして単に帯域を増やすのが正しいのではないか、というようないくつかの根本的な質問があった。メモリが如何に一番に進化してきたかという意味で、現代のアーキテクチャの制約を越えて、そこから彼らは考え始めた。

中心の中で、問題は、メモリがストレージデバイス以外に何かに利用できるかどうかである。さらに、チームはマルチコアのコンセプトが高度な並列性への最も短い経路を提供できるかどうかを調査し始めた。また、シーケンシャルなインストラクションからなり、パイプラインで実行を行うソフトウェアがシステムの必要なコンポーネントなのか、またはほかに良い手段がないのか、彼らは考えた。

これらの一連の質問について最も興味深いことは、
メモリの壁はメモリ帯域が原因ではなく、他のどこでか見つかるもっと深い根本原因の徴候であるらしいということが分かり始めたことだ。この隠れた弱点が全体的なプロセッサの非効率性であるとDlugoschは語った。「オートマタ・プロセッサについて異なることは、物理メモリインタフェース全体でもっと情報を転送する手段を考案しようとするより、高帯域の単なる必要性が何故存在するのか尋ね始めたということです。」

20131122-F3-2

ここで見る仕様は、半導体が通常はこのように測られないために、少しばかり難しい。例えば、グラフ問題の計算もしくは非決定論的有限オートマタを実行する半導体デバイスの中で、1秒間にいくつの経路選択が行うことができるかについて価値を見出すことは難しい、しかし、基本的な把握においては、ひとつのオートマタ・プロセッサにおいてはこの能力がある。そして、これがスケーラブルなメカニズムであるため、ひとつに限られてはいない。言葉を変えると、1個のメモリモジュールに8個のオートマタ・プロセッサを置くことができる – このメモリモジュールはDIMMに挿入することが可能で、1個以上のモジュールを搭載可能であるので、メモリのように演算能力をスケールさせることができるのだ。

実際に「本当の」利用面を予測することができるのは完全に開発されたSDKである。これはエンドユーザがオートマタをコンパイルし、プロセッサ・ファブリックにそれをロードし、大きなデータセットに対して、ユーザが1個またはそれ以上のオートマタ・プロセッサにオートマタをできるだけ多く並列に実行できるようにするものだ。このアイデアはユーザが自分自身のマシンを開発することにある。

しかし、誰かが想像するかもしれないが、プログラミング環境はいくつかの重要なチャレンジを提示している。しかしMicronはこの領域に入る道筋を作るために、早期のパートナーを利用している。彼らのベースである低レベルの基礎についてはDlugoschが認めている。「我々はこのチップからフルパワーを得たいという程の表現ではありません。」しかしユーザにオートマタ・マシンをプログラム的、またはほとんどMicronがビジュアル・ワークベンチを介してサポートするフルカスタム設計のように作らせるための独自のANML(Automata Network Markup Language)を通して彼らは動いている。「ユーザがファブリックに展開したい大きなデータ解析マシンのための回路設計のように考えることができます。」と彼は語った。

テクノロジーそのものの外側で、Micronがこのプロセッサを製造する既存のプロセスと施設にてこ入れをしていることに注意しなくてはならない。言葉を変えると、この陰にある長期の研究開発サイクルにも関わらず、製造に関するオーバーヘッドは相対的に小さいようだ。

オートマタ処理は周辺的な概念であるが、Micronがその名前で市場に向かうのは十分に明白ではない。「多くの人がオートマタのことを知りません。」とDlugoschは語った。「これをオートマタ・プロセッサと呼ぶことにする前から、我々はこれについて大いに考えました – たとえ、オートマタが各種のアプリケーションにいろいろな手法で従来のアルゴリズムに適用されるとしても。それは常にオートマタと認識はされませんが、我々がターゲットとする領域と利用者の利用例において、それらが利用されるし、されるだろうし、オートマタ計算の概念はまず最初にHPCの領域で一般的になってくるでしょう。」

多くは直ぐにはオートマタに精通しなくても、Micronの希望はそのプロセッサがメインストリームにおけるプロセッサ・タイプとして認識されるようになることだ – そして願わくば、大きな政府、ライフサイエンス、そして高性能な大規模データ処理を必要とする企業に直接入っていくことだ。