CDC 8600

CDC 8600は、シーモア・クレイがコントロール・データ・コーポレーション (CDC) で設計した最後のスーパーコンピュータである。CDC 6600とCDC 7600の後継機である 8600は、当時世界最高速の 7600の約10倍の性能を目指していた。 開発は7600のリリースの少し後の1968年に開始されたが、プロジェクトはすぐに泥沼にはまりこんだ。1971年にはCDCはキャッシュフロー問題を抱えており、設計はまだ目処が立っていなかったため、1972年にクレイは会社を辞めることとなった。8600の設計は結局 1974年に中止され、CDCは代わりに CDC STAR-100シリーズに移行した。 1960年代、コンピュータの設計は電子部品(トランジスタや抵抗器など)を回路基板上に実装することを基本としていた。マシンの離散論理回路部を搭載するボードは、「モジュール」として知られている。コンピュータの性能が向上するに連れて、モジュールの複雑性も増し、部品がひとつ故障しても半田付けが一箇所失敗していてもモジュール全体が動作不能となる。クレイは、一見したところ極端に複雑なモジュールを動作させてしまう才能を持っているというのは業界ではよく知られていた。マシン全体の「サイクル速度」は信号経路、つまり配線の長さと深く関連している。そのため、高速なコンピュータはモジュールを可能な限り小型化しなければならない。これと反対に計算能力を高めるためには、モジュールを複雑化しなければならない。1960年代後半には、個々の部品の小型化の流れは止まり、代わりに集積回路が小型化を先導するようになった。しかし、単純なMOSFET技術では高速性を要求される応用には適していなかった。 従って、マシンの複雑性を増すために、モジュールは大型化する必要があると思われた。理論的には回路が大型化すれば信号の遅延によって動作速度は低下する。クレイは、この矛盾する問題を両方とも解決することを目指していた。すなわち、各モジュールを大きくして部品を多く搭載し、一方でモジュールを接近させて実装することで信号経路を短くするのである。8600の場合、8インチ×6インチの4層回路基板を8枚重ねてモジュールを構成し、大型の教科書程度のサイズとなっていて、3KWの電力を消費した。 モジュールの冷却は大きな問題であった。クレイの冷却システムの技術者ディーン・ラウシュ(以前は Amana社にいた)は銅のシートを各回路基板の内側に置き、熱をモジュールの一端にある銅のブロックに引き取って、さらにそれをフレオンのシステムで冷却することにした。モジュールは重量と複雑さが増し、この時点で約15ポンドの重さとなっていた。モジュールはかなり小型のシャーシに納められた。直径および高さが約1メートルの16角形のシリンダ型で、環状の電源装置の上に設置された。外部の冷却システムはマシン本体よりかなり大きかった。意外ではないが、8600は後のCray-2とよく似ている。 部品も以前の設計から改良された。メインCPU回路はECLベース論理に移行し、クロック速度は 8ns (125MHz) に向上した(7600 では 27.5ns)。約4倍の向上である。主記憶もECLで実装され、マシンは巨大な 256Kワード(2Mバイト)を標準装備とした。メモリは64個のバンクに分割され、それぞれのバンクにワードの1ビットを記憶していて、各バンクのアクセス時間が250nsであっても全体として 8ns/ワードを達成していた。20nsの高速な磁気コアメモリも半導体メモリのバックアップとして設計された。 クレイは、8600を4個の完全なCPUが主記憶装置を共有する形にした。全体のスループットを改善するために、マシンは同じ命令を4つのプロセッサに同時に実行させ、それぞれ違うデータを処理する特殊なモードを用意した。SIMDとして今日知られているこの技術は、命令が4回ではなく1回読まれるだけだったので、メモリアクセス回数を低減した。各プロセッサは 7600の約2.5倍の性能であり、マシン全体として約100MFLOPSで動作する。これは 7600の約10倍である。 8600は、CDCとしては最初のASCIIベースの処理に移行する設計であったので、6600と7600上で使われた60ビットワード(10個の6ビットの文字)の代わりに64ビットワード(8バイト)を使った。従来の設計と同様、命令は16または32ビット(従来は15/30ビット)で、ワードに詰め込まれた。以前存在したAレジスタやBレジスタは8600では使われなくなり、代わりに16個の汎用Xレジスタを備えている。6600/7600の周辺プロセッサシステムは、ほとんど変わらず入出力のために使われた。 1971年、CDCはIBMとの進行中の訴訟のコストのため社内に「倹約令」が発せられていて、全ての部門は給料の10%カットを要求されていた。クレイは、8600の出荷を成し遂げるために倹約令を免除されることを願い出たがこの要求は断られ、問題を解決するためにクレイは自分の給料を最低賃金に減給した。 1972年、クレイの伝説的なモジュール設計の才能も 8600の場合には役に立たなかったことが明らかになってきた。信頼性は非常に乏しく、マシンを完全に動作させることは不可能であった。これは何も初めての経験ではなかった。6600プロジェクトでもクレイは設計を一からやり直しているし、7600では出荷後も安定して動作するまでにはしばらく時間がかかった。今回もクレイはこのままの設計では行き詰ると考え、CDCのCEOであるウィリアム・ノリスに一から設計をやり直すしか方法がないことを告げた。会社の財政は危険な状況にあったため、ノリスは危険を冒すことができないと判断した。ノリスはクレイに現在の設計を続行するしかないと言い渡したのである。 1972年に、クレイはそのような条件の下で作業することができないと決め、CDCを辞めてクレイ・リサーチを設立した。新たに設計を再開するにあたって、彼は当時のソフトウェアではマルチプロセッサを生かしきれないと判断して、マルチプロセッサ構想を捨てた。ILLIAC IVがほぼ同時期に稼動し始め、期待はずれの性能であることが分かったこともクレイの判断に影響していたかもしれない。 チームのメンバーは 8600がクレイなしでも完成させられることをノリスに納得させて、作業はチペワ研究所で続けられた。1974年になってもマシンはまだ正常動作しなかった。ジム・ソーントンの対抗プロジェクトである STAR の設計はこの時点で生産品質に達し、8600プロジェクトはそれをもってキャンセルされた。STAR が実際のアプリケーションでは性能が出ないことを証明し、1976年にCray-1が市場に投入されると、CDCはスーパコンピュータ市場で迅速に隅に追いやられた。1980年代に入って、ETA10による再挑戦をしたが、これも不発に終わったのである。 ゴードン・ベルはプロジェクト開始を1968年としているが、クレイ博物館での唯一の言及には、それが1970年であったとされていた。 メモリ速度に関する言及は非常にあやふやである。何人かの関係筋は、半導体は 22nsのサイクル・タイムで、コアメモリは 20nsとしているし、他ではこの記事に書かれている高い数字となっている。コアメモリが半導体メモリのバックアップとして設計されたのか、半導体メモリが後から出てきたのかも定かでない。 ^ "8600 prototype photo" CDC 8600 patent Aug 1972 8600 Reference Manual at bitsavers.org CDC 8600 - 基本的なシステム概要などの情報 Neil R. Lincoln with 18 Control Data Corporation (CDC) engineers on computer architecture and design, Charles Babbage Institute, University of Minnesota.