今回はシーモア・クレイ(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が完成するも、売れずに倒産)
この連載の記事
-
第799回
PC
世界最速に躍り出たスパコンEl Capitanはどうやって性能を改善したのか? 周波数は変えずにあるものを落とす -
第798回
PC
日本が開発したAIプロセッサーMN-Core 2 Hot Chips 2024で注目を浴びたオモシロCPU -
第797回
PC
わずか2年で完成させた韓国FuriosaAIのAIアクセラレーターRNGD Hot Chips 2024で注目を浴びたオモシロCPU -
第796回
PC
Metaが自社開発したAI推論用アクセラレーターMTIA v2 Hot Chips 2024で注目を浴びたオモシロCPU -
第795回
デジタル
AI性能を引き上げるInstinct MI325XとPensando Salina 400/Pollara 400がサーバーにインパクトをもたらす AMD CPUロードマップ -
第794回
デジタル
第5世代EPYCはMRDIMMをサポートしている? AMD CPUロードマップ -
第793回
PC
5nmの限界に早くもたどり着いてしまったWSE-3 Hot Chips 2024で注目を浴びたオモシロCPU -
第792回
PC
大型言語モデルに全振りしたSambaNovaのAIプロセッサーSC40L Hot Chips 2024で注目を浴びたオモシロCPU -
第791回
PC
妙に性能のバランスが悪いマイクロソフトのAI特化型チップMaia 100 Hot Chips 2024で注目を浴びたオモシロCPU -
第790回
PC
AI推論用アクセラレーターを搭載するIBMのTelum II Hot Chips 2024で注目を浴びたオモシロCPU -
第789回
PC
切り捨てられた部門が再始動して作り上げたAmpereOne Hot Chips 2024で注目を浴びたオモシロCPU - この連載の一覧へ