このページの本文へ

前へ 1 2 3 次へ

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

スーパーコンピューターの系譜 夢を追い続けたBob Rau博士のCydra 5

2015年12月14日 11時00分更新

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

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

18インチ幅のボードが雪だるま式に増え
相当の枚数が必要になった

 さて、このNumeric Processorであるが、ECL(Emitter-coupled logic:エミッター結合論理)を利用して実装された。

 同社の試算によれば、TTL/CMOSを利用しての実装も可能だったが、その場合動作周波数が10MHzに留まるのに対し、ECLでは25MHzまで性能が引き上げられると見ていた。

 コストの面ではTTL/CMOSを使うと、ECLの3分の1まで引き下げられるので、性能/コストで考えればTTL/CMOSを使ったほうが良いのだが、それでは目的の性能が実現できないための判断だった。

 ただし1985年当時のECLではあまり大規模なICの製造は不可能で、一方Numeric Processor全体では100Kゲートほどの規模になると試算されたため、実際にはNumeric Processorだけで18インチ幅のボードが相当の枚数必要になったらしい。

 ボード枚数が増えたため、各々のボード間の接続用のバッファも増え、これが総ロジック数をさらに増やし、枚数がさらに増えるという雪だるま効果に見舞われることになった。

 論文には「もしゲートアレイが使えたら、ボードの枚数を3分の1か4分の1に減らせただろう」と書いてあるが、これは当時の技術では仕方ないところ。

 利用したのはAMCC(現APM)のECL ASICだったらしいが、当時の資料(PDF)を調べる限り、1985年頃にはQ700という250~1000ゲート規模のECLゲートアレイのプロトタイプが利用できたかどうかという頃で、この250ゲートのものを使ったとすると100Kゲートを構築するには400個ほど必要になる計算だ。

 チップ間のバッファ類なども考えると、ボード1枚に10個載せられたとしても40枚が必要になる。当時の実装技術を考えると実際に搭載できるチップ数はもっと少なかったはずで、なるほど「相当の枚数」という表現も理解できる。

 ちなみにメインメモリーに関しては、容量とコストを勘案すると高速なECL SRAMは到底利用できず、低速ながら低価格なMOS DRAMの利用を余儀なくされた。

 このMOS DRAMで性能をかせぐため、かなり大規模なインターリーブを利用したようだ。ただその結果、stride(1回にアクセスできるメモリーの最小サイズ)も大きくなってしまい、シーケンシャルアクセスはともかくランダムアクセス性能が急落する問題が出た。

 これは「アプリケーション側で対応できる」(ランダムアクセスするようなプログラムを書かない)というトレードオフで対応したそうだ。

 ただレイテンシーはいくらインターリーブを使っても解決できない。そこでMLR(Memory Latency Register)という内部レジスターを設け、プログラムがこれを見てレイテンシーが問題にならないようにInner loop(プログラム内部のループ処理)を廻す、というこれまたソフトウェア任せの解決法を実装している。

目標のスペックを達成するも
システムが売れずに会社が倒産

 Cydra 5は、1987年までに3台のプロトタイプを含む9台のシステムが完成し、実際に何台かは顧客の所に納入され、評価されたらしい。

 Cydrome自身の論文によれば、LINPACKで15.4MFLOPS、LFK(Livermore FORTRAN Kernel)で5.78MFLOPSという数字を示している。このLFKに関してはもう少し詳細な数字があって、以下の結果が残されている。

スーパーコンピューターの性能比較
メーカー Cydrome Multiflow Convex Alliant Cray
システム名 Cydra 5 TRACE 14/300 C-210 FX8-8 CRAY-1S
製造年 1988 1988 1988 1986 1985
倍精度理論性能
(MFLOPS)
25 60 50 94.4 160
LKF調和平均
(MFLOPS)
5.786 5.386 5.320 1.563 8.039

 もっともこの数字は“Instruction-Level Parallelism: A Special Issue of The Journal of Supercomputing”という論文に記されているものだが、この論文の著者の1人がBob R. Rau博士というあたりはちょっと割り引いて考えるべきかも知れない。

 とはいえ、確かに設計目標である「高価なスーパーコンピューターの何分の1かの性能を50~100万ドルで実現」というのは、1998年時点では達成できていたことになる。

 ではビジネスとしてはどうだったかというと、プロトタイプとは別に製造された6台のCydra 5ですら、完全には売り切れなかったらしい。

 同社はこのあと、内部構造に手を入れてさらに性能を上げたCydra 10を予定していたが、これは具体的な設計に入る前に会社が終わってしまった。

 CydromeはPrime Computerというコンピューターメーカーの資金援助を受けて、Cydra 5を開発していたが、肝心のCydra 5の売れ行きが芳しくなかった。

 これを受けてPrime ComputerはCydromeの買収を持ちかけるが、Cydromeがこれを拒否した結果、資金援助が終了。そのまま会社が倒産してしまった。

 ということで冒頭の話に戻る。倒産したCydromeの資産(特に特許などを含むIP)は、最終的にHP Labsに買収された。いわずと知れたHPの研究部門である。

 当時HP LabsのディレクターだったDick Lampman氏がこの買収を決断するとともに、FAST(Fine-Grained Architecture and Software Technologies)と呼ばれる研究プロジェクトを開始する。

 このチームにBob R. Rau博士も合流し、Cydra 10の構想をさらに進めることになる。この結果として生まれたのがEPICである。要するに、コレである。

 Rau博士はIEEE Computerの2000年2月号に掲載された“EPIC: Explicitly Parallel Instruction Computing”という記事の中で、以下のものはCydra 5のコンセプトをそのまま引き継いでいるとしている。

  • 投機実行
  • ソフトウェアパイプラインのサポート
  • レイテンシー遮蔽とMLR(Memory Latency Register)
  • 複数実行と独立分岐処理
  • 投機実行のハードウェアサポート
  • マルチテンプレート命令フォーマット

 Cydra 5の構想そのものは1980年にすでにRau博士が考え始めたものだが、その夢を捨てずに執念深く追い求めた結果が、2001年のMercedこと初代Itaniumだった、といえるのかもしれない。

Merced

前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

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

ピックアップ

ASCII.jp RSS2.0 配信中

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