今回はシーモア・クレイ(Seymour Cray)が最後に手がけたCRAY-3に注目しよう。正確にCRAY-3の開発が始まったのがいつかは明確ではないが、CRAY-2の開発方針の骨子が決まったあたりから、すでにクレイの関心はCRAY-2を離れてCRAY-3に向かっていたようだ。
CRAY-3の設計目標は
CRAY-2の12倍の性能
CRAY-3の当初の設計目標は、またしてもCRAY-2の12倍という野心的なものだった。そもそもCRAY-2自体がピークで2GFLOPS近い性能を持つマシンだったわけで、これの12倍だと24GFLOPSに達する。
実際はここまでの性能は出ず、16プロセッサーのハイエンドの構成でも15GFLOPS強といったところで、しかもそのハイエンド構成は結局製造されずに終わっている。この話は後述するとして、もう一度話を1985年前後に戻す。
CRAY-2ではECL(※)での設計となったが、クレイ自身はガリウム砒素(GaAs)に未来を見出しており、これをRockwell Semiconductor(厳密には、この当時はまだRockwell InternationalのSemidonductor Division)と共同で開発し続けていた。
※:連載276回で、CRAY-1/2の内部回路はMOSFETベースと書きましたが、これはECLの誤りでした。お詫びして訂正します。
この後Rockwell Internationalのうち、ガリウム砒素を手がけていた部隊は同社から独立し、GigaBit Logic Inc.というベンチャー企業を立ち上げた。このGigaBit Logicにはクレイも出資していたようだ。最終的にはGigaBit LogicがCRAY-3や、それに続くCRAY-4向けの半導体を提供することになった。
ちなみに当初はRockwell/Gigabit Logicに加えて富士通からの供給も検討していたようだ。結果として、CRAY-3ではサイクル時間を2.11ナノ秒(474MHz)まで引き上げた。
アーキテクチャーそのものは、CRAY-2の延長にあるものである。つまり1つのフォアグラウンド・プロセッサーと、複数のバックグラウンド・プロセッサーの組み合わせで動作するというもので、CRAY-3では最大16個のバックグラウンド・プロセッサーが利用可能とされた。
フォアグラウンド・プロセッサーの構造は下の画像のように、64KBのインストラクション・メモリー(要するに命令キャッシュ)を持ち、これをコミュニケーション・チャンネル・ループ経由でバックグラウンド・プロセッサーに渡す仕組みだ。
バックグラウンド・プロセッサーの構造が下の画像である。ベクタ演算ユニットそのものは大きく変わらない(でもVector Shiftがまた復活した)もので、1つのバックグラウンド・プロセッサーあたりのピーク性能は1cycleあたり2Flopsなので948MFlops、これが16個同時に動くと最大で15.17GFlopsという計算になる。
ただ、CRAY-3はCRAY-2より後から登場したこともあり、CRAY-2の問題点に対する手当てがいくつもなされている。そもそもCRAY-2が実効性能でCRAY X-MPと大差なかったのは、メモリー性能が追いつかなかったからだ。
CRAY-2では、アドレスセーブ(B)とスカラーセーブ(T)の2種類のレジスターを省き、その代わりにローカルメモリーを追加している。現在のデータキャッシュにあたるもので、16Kwords(128KB)がそれぞれのバックグラウンド・プロセッサーに内蔵されていたが、要するにこれでは全然足りなかったということだ。
前回のCRAY-2内部構造図(下図参照)と比較すると、Vector Functrional UnitとAddress Functional Unitの手前にローカルメモリーが配されているのがわかる。
ただ本来データキャッシュとして使うなら、このキャッシュユニットが直接Common Memory Storage Moduleにつながって直接データを取り込むなり、書き出すなりできないといけないのだが、実際にはそれぞれのレジスターにしかつながっていない。したがって、オペレーションは以下のようになってしまい、ほとんど意味がなかった。
- コモンメモリーからレジスターにデータをフェッチ
- レジスターからローカルメモリーにデータをコピー
もちろんレジスターの使いまわしの際の退避領域として使うには十分だったのだろうが、逆に言えばそうした使い方しかできなかった。
CRAY-3ではこの点に関する反省があったのだろう。ローカルメモリーは単にレジスターだけでなくスカラーユニットからも直接アクセスできるように変更されている。
これにより、ベクトルユニットが演算するのと並行して、スカラーユニットがローカルメモリーにデータを格納したり、あるいは退避させたりが可能になり、より効果的にローカルメモリーが利用できるようになった。
加えてコモンメモリーがちょっとしたお化けに進化した。コモンメモリーは8つのOctantという塊を保持できる。各々のOctantの内部は64バンクに分割されており、これが同時にアクセスできるために、最大だと512wayのインターリーブ構成になる。
メモリーチップそのものはCMOSのSRAMを利用しており、ピーク構成では128GB/秒もの帯域になるとされており、ここから考えると1つのOctantあたり16GB/秒、1つのバンクあたり256MB/秒(2Gbps)という計算である。
バンクそのものは64bit Word構成なので、SRAMそのものの速度は32MHzということになる。当時のCMOS技術を考えれば妥当な速度と言って良いだろう。
ちなみに1つのメモリーバンクは4Mwords(32MBytes)なので、Octant1つあたりのメモリー容量は2GB。8Octantの最大構成では16GBものメモリー搭載量となった。なんとなくこの、インターリーブで帯域を稼ぐやり方は、STAR-100のそれを連想するが、CRAY-3の方がさらに壮大な規模である。
→次のページヘ続く (CRAY-3が完成するも、売れずに倒産)
この連載の記事
-
第768回
PC
AIアクセラレーター「Gaudi 3」の性能は前世代の2~4倍 インテル CPUロードマップ -
第767回
PC
Lunar LakeはWindows 12の要件である40TOPSを超えるNPU性能 インテル CPUロードマップ -
第766回
デジタル
Instinct MI300のI/OダイはXCDとCCDのどちらにも搭載できる驚きの構造 AMD GPUロードマップ -
第765回
PC
GB200 Grace Blackwell SuperchipのTDPは1200W NVIDIA GPUロードマップ -
第764回
PC
B100は1ダイあたりの性能がH100を下回るがAI性能はH100の5倍 NVIDIA GPUロードマップ -
第763回
PC
FDD/HDDをつなぐため急速に普及したSASI 消え去ったI/F史 -
第762回
PC
測定器やFDDなどどんな機器も接続できたGPIB 消え去ったI/F史 -
第761回
PC
Intel 14Aの量産は2年遅れの2028年? 半導体生産2位を目指すインテル インテル CPUロードマップ -
第760回
PC
14nmを再構築したIntel 12が2027年に登場すればおもしろいことになりそう インテル CPUロードマップ -
第759回
PC
プリンター接続で業界標準になったセントロニクスI/F 消え去ったI/F史 -
第758回
PC
モデムをつなぐのに必要だったRS-232-CというシリアルI/F 消え去ったI/F史 - この連載の一覧へ