このページの本文へ

前へ 1 2 次へ

ロードマップでわかる!当世プロセッサー事情 第343回

スーパーコンピューターの系譜 新アークテクチャーの製品化を試みたACRI

2016年02月15日 11時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/) 編集●北村/ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

 もうスーパーコンピューターの系譜だけで57回目になるわけだが、1980~1990年代というのはある意味、スーパーコンピューターに向けて新しいアイディアや実装がいろいろ試みられ、「一発当ててやろう」的なアーキテクチャーが頻出した時期でもあった。

 これはスーパーコンピューターに限った話ではなく、組み込み向けプロセッサーでも2000年代前半までは、なにか無茶なアーキテクチャーが毎年のように発表されて消えていくという感じであった。今回解説するACRI(Advanced Computer Research Institute)もそんな1つである。

スーパースカラーの問題点を解消する
Decoupled Architecture

 ACRIは仏BullのCEOだったJacques Stern氏が立ち上げた企業である。正確に言えば、彼が立ち上げたのはStern Computerという企業で、このStern Computerの開発拠点としてリヨンに置かれたのがACRIである。1988年の時点でこのACRIには150名ほどが働いていたらしい。

 ACRIが開発しようとしたのがACRI-1であるが、ACRI-1はデカップルド・アーキテクチャーを利用したシステムである。デカップルド・アーキテクチャーとは、スーパースカラーをさらにアグレッシブにしたものと考えれば良い。

 スーパースカラーというのは、同時に複数個の命令をデコードし、これを並行して実行させることで性能を高めようという発想であり、Out-of-Orderとあわせて最近のプロセッサーでは広く利用されているのはご存知の通り。

 ただし、より高い性能を求めようとすると浮動小数点演算のパイプラインを多数搭載する必要があり、バランスが悪くなる。

 というのは、並行して処理ができる実行段はともかく、その前のデコード段は頭から順番通りに動くため、例えば3つのパイプラインを並行して常時動作させようとしたら、デコード段は3倍速で動くか、3倍の帯域を持つように構成しなければいけない。

 これはパイプラインを増やせば増やすほど性能を上げなければいけないので、構築がどんどん難しくなっていく。

 この問題の解決策として1982年にデカップルド・アーキテクチャーという概念を提唱したのはJames E. Smith博士(現ウィスコンシン大名誉教授)である。

 DAE(Decoupled Access/Execute)というのは、下の画像のような構成で、命令実行を行なうユニット(Execute Processor)とメモリーI/Oを行なうプロセッサー(Access Processor)を分離し、間をキューでつなぐというものだ。

DAEの基本概念。もっともプログラミング的にはAccess ProcessorとExecute Processorの両方に別々に命令を与えなければならず、けっこう大変だった気がする

 この時点での発想は、メモリーアクセスを別プロセッサーに分離することで、Execute Processorはレイテンシーを気にせずに高速に処理ができるようになる、という発想である。

 論文の中では例として、Lawrence Livermore Loop(ローレンス・リバモア国立研究所のFrancis H. McMahon氏が作成したパラレルコンピューターシステム用ベンチマーク)の解釈を示した。

論文の解釈。枠線は見やすくするため筆者が追加した。理屈はわかるが、これではAccess Processorがかなりがんばって動作しないとExecute Processorに待ちがでてしまいそうである

 上の画像の左上(Fig.2a)が元のFortranのコード、左下(Fig.2b)がこれをCRAY-1風に解釈した場合のアセンブラコード、右(Fig.2c)がDAEを利用した場合のコードとなる。DAEを利用することで、Execute Processorははるかに少ない処理量で実行できることが示されているのがわかる。

 Smith博士はその後1985年に“A Simulation Study of Decoupled Architecture Computers”という論文を上梓するが、ここではもう少し進化したモデルを利用して、性能の評価をしている。

Smith博士が性能評価に使用したモデル。この当時、やはりデカップルド・アーキテクチャーを採用したCSP Inc.のMAP-200/300というプロセッサーがあり、これを参考にこのアーキテクチャーモデルを利用してシミュレーションで性能評価を行なった

 今から思えばこのデカップルド・アーキテクチャーというのは、AMDのAPUに近い概念であって、もっと言うならヘテロジニアス・マルチプロセッサーを1つのCPUに収める(ワンチップというよりはワンボードもしくはワンユニット)といった考え方に近いところだ。

 デカップルド・アーキテクチャーを利用することで、当時このスーパーコンピューター市場で支配的だったIBMやCRAY、富士通などの勢力に伍するシステムを構築しよう、というのがACRIの発想である。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン