【インタビュー】

超並列アーキテクチャとディペンダビリティ - プロセッサ開発の今後

1 データフローマシンとアウトオブオーダー処理技術

    古林高  [2006/01/01]

    東京大学大学院情報理工学系研究科電子情報学専攻 坂井修一教授

    データフロー型と呼ばれるコンピュータアーキテクチャがある。これは、現在のコンピュータの基礎をなすフォン・ノイマン型とは異なるコンピュータアーキテクチャである。このデータフローマシンは1970年代に米MITで着想され、その後1980年代にかけて世界的に研究開発が進められた。その中で、国内では1986年よりデータフローマシンの「EM-4」が電子技術総合研究所(現:産業技術総合研究所)にて開発される。その時、アーキテクチャの研究及び試作機の開発を担当したのが、当時電子技術総合研究所に在席した坂井修一氏(現:東京大学大学院情報理工学系研究科電子情報学専攻教授)らである。今回、この坂井修一氏にデータフローマシンから将来のコンピュータに至る展望を伺ったのでご紹介したい。

    データフローマシンとアウトオブオーダー処理技術

    現在のコンピュータは、大半がフォン・ノイマンモデルと呼ばれるアーキテクチャに基づいている。演算部、制御部、記憶部、出力部があり、命令を順番にフェッチし、実行していく。命令の実行順序をあらかじめ定め、各命令に必要なデータを集め、処理を行うという、命令を中心とした処理体系だ。ところが、データフローマシンでは、データの依存性に着目し、トークンをやりとりする形で演算を行っていく。トークンは、行先ノード、ポート、データからなり、行先ノードの指定のポートにデータを届ける。そのノードにおいては全てのトークンが揃ったところで発火し、次のノードに結果としてのトークンが転送されていく。データフローアーキテクチャはデータの流れに着目した、コミュニケーションベースの処理体系なのである。

    坂井氏によると、このデータフローマシンの良いところは、並列性を最大限に抽出できること、そしてプログラミングのミスが起きにくい事だという。しかし、一方で命令セットも異なることから既存のソフトウェア資産が活かされず、プログラミングスタイルも異なることから、フォン・ノイマン型コンピュータの普及した社会において簡単には受け入れられない事が問題であるという。

    電子技術総合研究所では坂井修一氏らが中心となり「EM-4」を開発した。このマシンはデータフロー型とフォンノイマン型の2つのアーキテクチャを融合したものといい、データフロー型計算機からマルチスレッド型計算機への流れを作ったマシンと位置づけられるとしている。このアーキテクチャは「EMC-R」と呼ばれるプロセッサチップに統合され、1990年4月に稼働、最大でCRAY/XMPの21倍、SUN Sparc-330の94倍の性能を発揮したという。

    純粋なデータフローマシン開発の機運は90年代に入ると一段落したが、データフローマシンの考え方は、フォン・ノイマン型コンピュータのプロセッサの技術に強い影響を与えたという。それが、スーパースカラプロセッサにおけるアウトオブオーダー処理である。アウトオブオーダー処理技術自身はデータフローマシンよりも古くから考えられていたものの、アウトオブオーダー処理技術を開発していく上で、データフローマシンの研究の成果から多大な影響を受けているという。

    ご存知の通り、アウトオブオーダー処理とは、リザベーションステーションに命令を逐次蓄積し、オペランドにデータが揃った命令から先に実行していく。プログラム順の処理(インオーダー処理)ではなく、いわばデータの到着順に命令を組み替え、処理を実行していく。この、データの到着順に処理を行っていくロジックが、データフローアーキテクチャの一つの具現となっているというのである。坂井氏によると、データフローアーキテクチャの研究者達は、もっと理想の高い、いいかえるとかなり遠い未来を夢見て研究してきたとのことだが、しかしその現実的な成果が、スーパースカラプロセッサにおけるアウトオブオーダー処理、レジスタリネーミングの処理などに活かされているという。

    データフローマシンからタイルプロセッサへ

    データフローマシンの最も革新的な部分の一つは、処理の並列性を最大限に高めることができること。この考え方を、命令レベルの並列性を最大限に高める方向に使ったアーキテクチャが、タイルプロセッサの一つ、テキサス大学の「TRIPS」だという。

    タイルプロセッサとは、配線遅延を回避するために考えられたチップアーキテクチャ。メニイコアと似ているようだが、内部の構造が異なる。配線遅延の問題は現在よりさらにプロセスの微細化が進んだ32nm、22nmノードといった領域でより顕在化すると言われており、1クロックで伝搬できる信号の範囲は、チップの面積の1%以下程度に留まるだろうと言われている。このような状況ではチップ全体に渡って多数の遅延素子が必要となり、設計段階から配線遅延を十分に考慮して回路を設計する必要がでてくる。また、クリティカルパスを改善することが難しくなり、回路の高速化が難しくなってくると見られている。

    メニイコアは、シンプルなプロセッサコアを多数搭載することで、スループットを高め、設計を簡単にし、省電力性を高めることができる。また、配線遅延を考慮した設計にも有効だ。しかしそのアーキテクチャは概ね現在のプロセッサと変わりなく、グローバル配線を含む構成となる。タイルプロセッサでは、隣接するコア間のみの近接配線を採用し、メッシュネットワーク的な通信網で情報処理を行う。このため、コア数を増やし、回路規模を大きくしていっても、動作速度を高速に保つことができるのである。一方、独自のアーキテクチャとなるため、命令セットは既存のものと互換性がないものとなる。

    タイルプロセッサの一つ、テキサス大学のTRIPSは、このタイルプロセッサのコンセプトに、データフローマシンの考え方を融合し、新しい命令セットアーキテクチャである「EDGE(Explicit Data Graph Execution)」を採用したものだ。彼らは、将来のコンピュータアーキテクチャは次の4つの特徴を保持しなければならないとしている。

    • これ以上パイプラインを深くできないので、パフォーマンスの向上のために細粒度の並列化メカニズムが必要。
    • クロックスピードの向上は消費電力により制限されたので、今後は電力効率の良いパフォーマンスが必要となる。
    • チップのグローバル配線におけるRC遅延の増大が著しいため、将来の命令セットアーキテクチャでは、コミュニケーションベースの処理実行を受け入れなくてはならない。
    • 設計とマスクコストの増大のため、沢山のアプリケーションを一つの設計でサポートすることが望ましい。このため、将来の命令セットアーキテクチャは、多相性(ポリモフィヒズム)を備える必要がある。

    こうした要請に応えるべく、TRIPSではタイルプロセッサの設計思想を採用し、小さくシンプルなコアをタイル状に配置、配線遅延の問題に影響されない回路設計を採用したほか、データフロー型アーキテクチャであるEDGE命令セットを開発、命令レベルの並列性を最大限抽出できるアーキテクチャとした。

    具体的には、整数演算器、浮動小数点演算器、インプットポート、アウトプットポート、オペランドバッファ、ルータ、64の命令バッファからなるTRIPS実行ノードを元に、これを16個、4×4の正方タイル状にならべ、命令キャッシュ、データキャッシュとレジスタを周辺に配置したTRIPSプロセッサコアを作る。TRIPS実行ノードはタイルプロセッサの設計に準じ隣接ノード同士のみと通信を行う。そして、コンパイラは静的に命令を各ノードに配置し、データが到着し、準備完了となったノードから順に命令を実行していく。この部分はデータフローアーキテクチャに準じており、別の言葉で言えば、大規模な命令レベルのアウトオブオーダー処理が行われるといえる。

    TRIPSコアは、16命令同時発行のプロセッサであり、最大で1024命令がin-flight(パイプライン内に入った状態)となる(IntelのPentium 4では最大100命令がin-flight)。このTRIPSコアは、スレッドレベルの並列性を引き出すメニイコアとは異なり、命令レベルの並列性を大規模に引き出すアーキテクチャとなっている。単スレッドの処理能力を最大限に高める並列化アーキテクチャを採用したコアと言うことになる。なお、テキサス大学の研究グループでは、130nmプロセスを用い、TRIPSコアを2つ集積し、2MBのL2キャッシュを統合した500MHz動作のプロトタイプチップを製造する計画だ。

    ここで、坂井氏にタイル型プロセッサについてお話を伺った。

    -- タイル型プロセッサとはどんなものでしょうか。

    タイル型というのはすごいもので、マルチコアと言うよりは、もっと細かい粒度の並列化コアですね。プロセッサを並べてというよりは、演算器を並べて、うまく全体を制御して、細かい並列度を沢山だしてやる、という感じです。タイル型はアーキテクチャにいろいろな種類があって、一括して論じる事はできません。

    アーキテクチャの世界で一番プレステージアスな国際会議は「ISCA(International Symposium on Computer Architecture)」というものなのですが、これが毎年6月頃にアメリカとヨーロッパで交代で開催されます。ここで、毎年パネルディスカッションをしますが、昨年はマルチコアがテーマでした。ちなみに、産業界ではマルチコアと呼ばれますが、アカデミアではチップマルチプロセッサと呼ばれることが多いです。で、チップマルチプロセッサで、アーキテクチャはできたけど、そんなに沢山のスレッドがあるの? というのが昨年のタイトルでした。

    ISCAの一昨年のタイトルはタイルプロセッサでした。タイルプロセッサはものになるのか、というものです。パネルはですね、面白可笑しくはあるのですが、そんなに結論めいたものは出ないのが普通で、やっている人達はできるといい、周りの人はものにならんといい、紛糾して終わったわけですが、タイルもいろいろな種類がありまして、その中でTRIPSというのはテキサス大の開発しているものですが、これはかなりデータフロー的なマシンですね。もちろん、命令フェッチをして、それを沢山の実行ユニットに配って実行させるという意味では、フォン・ノイマン的なプロセッサではありますけれど…。米国でかなり多額の予算を取って研究されています。

    -- スーパースカラーやマルチコアとの明確な違いはどこにありますか?

    どの命令をフェッチしてそれを実行パイプラインに投入させるか、といったような、チップの全体をコントロールするもの、いわばコンピュータの中の神様というべきものをシーケンサといいますが、スーパースカラーではこれが1つしかありません。マルチコアでは各コア毎に1個あります。タイルアーキテクチャの場合は複雑で、いろいろなパターンがあるのですが、シーケンサが全体に分散しているようなイメージがあります。

    TRIPSの場合は、命令キャッシュから同時に沢山の命令をフェッチして、その命令を実行ノードに流していきます。データが必要であれば、実行ノードの周辺に並んだレジスタやキャッシュからデータが流れ込んできます。このようにして、命令に対してデータが揃ったところで、値を出して、これを外に送り出す、という作業を(実行ノード)全員が一斉にやるのですね。このとき、シーケンサは高いレベルで一つあり、個々にもある。これらが協調して動作するイメージではないかと思います。データと命令が揃えば発火して結果を出すというデータフロー的な演算を実行するんです。

    データフローのシーケンサというのはフォンノイマン型と違って、命令フェッチというのは基本的にないんですよね。来たものを発火して、結果を出して終わり、という世界です。で、小さい実行ノードの中ではそれに近いことをやる。このTRIPSを作っている人達は、データフローの性能を追求して、細かい粒度の単位での処理を開発している一番先端的な研究者達と言えるかもしれません。

    ちなみに、このTRIPSを開発しているメンバーの一人のケクラー博士は、私がMITに居たときにはまだ大学院の学生でした。彼は当時データフローに近い話をやっていました。なので、その頃の研究が影響していると思います。TRIPSは単純そうに見えますが、なかなかすごいアーキテクチャです。

    -- ではこれは、マルチコア、メニイコアといったものとは全然違う話なのですね。このTRIPSアーキテクチャのメリットは何でしょうか。

    細かい粒度の並列性が出ます。命令単位の並列性を最大限に引き出すアーキテクチャですね。簡単に言うと、あるいは乱暴に言うと、スーパースカラーやVLIWでは引き出せなかったような何百という命令レベルの超並列性を取り出すことができうるアーキテクチャです。

    -- これは、シングルプロセッサの性能を上げる究極の方法でしょうか?

    そういっていいでしょう。シーケンサの話をしたのはそういう意味で、全体に大きなレベルの一つのシーケンサを持ち、下の方のレベルではデータフロー的なシーケンサ…データフローモデルではシーケンサと呼ばないのですが…によって実行制御を行っています。(大きなレベルのシーケンサを1つ持つ、という意味で)これは一つのプロセッサです。これがものになるかどうかというのは、賛否両論すごいです。ですが、いくつかの大きな会社の支援は受けているようです。

    新着記事

    特設サイトの情報

      求人情報

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

      転職ノウハウ

      あなたの仕事適性診断

      4つの診断で、自分の適性を見つめなおそう!

      Heroes File ~挑戦者たち~

      働くこと・挑戦し続けることへの思いを綴ったインタビュー

      はじめての転職診断

      あなたにピッタリのアドバイスを読むことができます。

      転職Q&A

      転職に必要な情報が収集できます

      スカウト転職する

      企業からアプローチのメッセージが届きます。

      マイナビニュースマガジン