Cray-1は、シーモア・クレイ率いるクレイ・リサーチ社が開発した、ベクトル型
スーパーコンピュータです。1970年代に登場し、当時の最高速を誇り、
スーパーコンピュータの基本構成を確立しました。最初のシステムは
1976年に
ロスアラモス国立研究所に納入されました。アーキテクトはシーモア・クレイ自身であり、主任技術者はクレイ・リサーチの共同創設者であるレスター・デーヴィスが務めました。
歴史
1970年代初頭、シーモア・クレイはCDC(Control Data Corporation)で、CDC 8600という新たなマシンの開発に従事していました。8600は、クレイが過去に設計したCDC 6600やCDC 7600の後継機であり、4台の7600を一つの筐体に収め、
SIMD的な動作を可能にするという野心的な設計でした。しかし、同時期にCDCではジム・ソーン
トンによる、より先進的な
CDC STAR-100の開発も進められていました。
STAR-100は、8600のような力技による性能向上ではなく、科学技術計算に特化したハードウェアと命令を導入することで性能を高めるというアプローチを採用しました。しかし、1972年、8600の開発は、その複雑さゆえに部品の一つが故障するとシステム全体が停止してしまうという問題を抱え、クレイはCDCの社長に設計の見直しを提案しました。しかし、当時のCDCは財政難であり、STAR-100の開発も進んでいたため、8600への追加投資は打ち切られることになりました。
この結果、クレイはCDCを辞め、自らの会社を設立することにしました。チッペワフォールズに土地を購入し、CDCの元従業員とともに新しいアイデアを模索しました。当初、小規模なベンチャー企業が
スーパーコンピュータを開発することは不可能と思われていましたが、クレイの
最高技術責任者が
ウォール街に赴くと、多くの投資家がクレイへの出資に関心を示しました。彼らに必要だったのは、設計だけだったのです。
1975年、クロック周波数80MHz、ピーク性能160M
FLOPSのCray-1が発表されました。その反響は大きく、ローレンスリバモア国立研究所と
ロスアラモス国立研究所が最初のシステムを巡って争奪戦を繰り広げました。結局、
ロスアラモス国立研究所が勝利し、
1976年に最初のCray-1が納入されました。クレイ・リサーチ社の最初の公式顧客は
アメリカ大気研究センター(NCAR)であり、1977年に3号機を購入しました。Cray-1は80台以上販売され、価格は500万ドルから800万ドルでした。この成功によりクレイは名声を得ましたが、1990年代には会社は衰退しました。
Cray-1の後継機として、1982年には800M
FLOPSのCray X-MPが登場しました。これはクレイ社初のマルチプロセッサ機であり、Cray-1の後継として世界最高速の
スーパーコンピュータとなりました。1985年には、ピーク性能1.9G
FLOPSの
Cray-2が登場しましたが、商業的には成功しませんでした。これは、理論的なピーク性能に対して、実際のアプリケーションでの性能が十分に発揮できなかったためです。そのため、Cray-1やCray X-MPを拡張したCray Y-MPが1988年に投入されました。
背景
科学技術計算では、大きなデータセットを読み込み、変換を行い、書き戻すという処理が一般的です。例えば、100万個の数値に5を加算するような場合、一般的なコンピュータでは、100万回のループ処理が必要となります。しかし、
ベクトル計算機では、このような処理をより効率的に行うことができます。
STAR-100では、新たな命令でループを表現しました。メモリ上の数値列の位置をマシンに伝え、1つの命令で複数の数値に対して同じ演算を実行します。これにより、命令の読み込みと解読の回数を減らすことができ、時間短縮が期待できます。さらに、
命令パイプラインを追加することで、
CPUが次の命令を先読みし、処理を効率化することが可能になりました。
ベクトルプロセッサでは、データの配置が分かっているため、データの読み込み性能を向上させるようにパイプラインを調整できます。ベクトル命令を受けると、特別なハードウェアが指定された配列を読み込み、プロセッサに数値を次々と送り込みます。STAR-100が採用した「メモリ・メモリ・アーキテクチャ」では、パイプラインが直接メモリを読み書きするため、どのような長さのベクトルでも扱えますが、メモリへのアクセスがボトルネックとなり、性能が十分に発揮できないという問題点がありました。
クレイの手法
クレイはSTAR-100の失敗から学び、ベクトル処理の高速化だけでなく、一般的なスカラー命令も高速化することにしました。さらに、ベクトルを格納するレジスタを導入することで、性能を劇的に向上させました。初期のマシンでは、演算のたびにメモリからデータを読み書きしていましたが、クレイはデータをベクトルレジスタにまとめて読み込み、まとめて演算し、まとめて書き出すという手法を採用しました。これにより、メモリへのアクセス回数を減らし、性能を大幅に向上させることができました。ベクトルレジスタの要素数は64語に制限されましたが、長いベクトルデータも分割して処理することで、高い性能を発揮することができました。
クレイのベクトルシステムは、独立した演算パイプラインを持つように設計されており、加算器と乗算器は独立したハードウェアとして実装されました。これにより、加算の結果を次の乗算で使用することがパイプライン上で可能になりました。これをクレイは「チェイニング」と呼び、プログラマーがこの機能を活用することで、複数の命令を繋げて使い、ベクトルレジスタとメモリ間の読み書きを減らし、高い性能を引き出すことができました。
詳細
Cray-1は、クレイにとって初めて
集積回路(IC)を使用したマシンです。使用しているICは、ECLによる
NANDゲート、MECLによる
NANDゲート、レジスタ用の高速SRAM、主記憶用のSRAMの4種類でした。全体で約20万ゲートで構成されています。ICは5層の
プリント基板上に実装され、基板は冷却のために背中合わせに設置されました。マシン全体では、113種類、1,662モジュールが使われています。
モジュール間のケーブルには
ツイストペアケーブルを使用し、長さも精密に計算して、パルスの
反射を抑制しました。ECL回路は高速であり、発熱が大きいため、冷却システムに多くの時間が費やされました。2枚の基板の間に銅板を挟み、その銅板をフロンの通るパイプで冷却しました。最初のCray-1の完成が6ヶ月遅れたのは、この冷却機構に問題が生じたためでした。
配線の長さを短くするため、筐体はC字型に配置されました。速度に影響するものは内側に置かれ、サイクルタイムは12.5ns(80MHz)まで短縮されました。CDC 7600やSTARよりも高速で、NCARの推定ではCDC 7600の約4.5倍のスループットを達成しました。Cray-1は
64ビットシステムであり、アドレスは
24ビットで最大1048571ワードの主記憶を扱えました。各ワードには8ビットのパリティビットが付属しており、1ワードは実際には72ビットとなっています。
メインレジスタセットは、8本の
64ビットスカラーレジスタと8本の
24ビットアドレスレジスタで構成され、それぞれを一時退避する64本のレジスタがありました。ベクトル機構には、64本の
64ビットベクトルレジスタ、ベクター長レジスタ、ベクターマスクレジスタがありました。12個のパイプライン型機能ユニットがあり、加算器、乗算器、論理演算器、シフト演算器などで構成されていました。
システムは1サイクルに1命令をユニットにフェッチしますが、実行は並列で行われ、最大で2個の命令が完了します。理論上の性能は160MIPSですが、浮動小数点演算性能は136M
FLOPSでした。しかし、ベクトル命令を効果的に使用すれば、250M
FLOPSの性能を出すこともできました。I/O回路の設計にも時間がかけられ、4台の6チャネルコントローラがメモリにアクセスできるようにしました。
最初のモデルCray-1Aは、フロン冷却システムを含めて5.5
トンでした。RAMを100万ワード搭載した場合、消費電力は115kWでした。保守用として
データゼネラル社のSuperNova S/200が使われ、後にEclipseに置き換えられました。
Cray-1S
次のモデルCray-1S(1979年)では、クロック周波数が若干上がり、メインメモリは100万、200万、400万ワードのモデルが用意されました。I/Oシステムはメインのマシンから分離され、独立して拡張できるようになりました。
Cray-1M
Cray-1Sの次にはCray-1M(1982年)が登場しました。Mは、低価格なMOSベースのRAMをI/Oシステムに使用していることを示します。メインメモリの容量別に3つのバージョンがあり、ユーザはMOSベースのRAMを
ソリッドステートドライブとして使用することもできました。
ソフトウェア
1978年、Cray-1リリース時の最初のソフトウェアは、Cray Operating System (COS)、Cray Assembler Language (CAL)、Cray FORTRAN (CFT)の3つでした。
アメリカ合衆国エネルギー省の研究所では、Cray Time Sharing System (CTSS) を採用し、NCARは独自の
オペレーティングシステムNCAROSを開発しました。他にも様々なOSやプログラミング言語が開発されました。
ベル研究所では試験的に
C言語コンパイラを開発し、クレイ・リサーチは
ETAシステムズより6ヶ月先行して
Cray-2向けの
UNIXを完成させることができました。アプリケーションの多くは機密またはプロプライエタリなものでしたが、気象や気候に関するプログラムなど、一部例外もありました。
日本における導入実績
日本では、
1980年1月にCray-1の第1号機がセンチュリ リサーチ センタに、同年7月には第2号機が
三菱総合研究所に設置されました。
博物館
Cray-1は、世界各地の博物館で展示されています。
Bradbury Science Museum(
ロスアラモス国立研究所内)
コンピュータ歴史博物館(
マウンテンビュー)
DigiBarn Computer Museum
ドイツ博物館(
ミュンヘン)
アメリカ大気研究センター(ボルダー)
サイエンス・ミュージアム(
ロンドン)
国立航空宇宙博物館(ワシン
トンD.C.)
Chippewa Falls Museum of Industry and Technology(
ウィスコンシン州チッペワフォールズ)
スイス連邦工科大学
ローザンヌ校(
スイス、
ローザンヌ)
アメリカ国立暗号博物館内
まとめ
Cray-1は、
スーパーコンピュータの歴史において非常に重要な存在です。その革新的な設計思想は、後のコンピュータ開発に大きな影響を与え、科学技術の発展に貢献しました。そのC字型の独特な形状は、今なお多くの人々に印象を与え続けています。