2385 HPC Fortune500 HPC 3 1CDC6600 2 Cray-1 シーモア R. クレイの 開 発 機 とともに(3) 略 歴 R. Cray Inc. 1925 9 28 1950 1951 1950 ERA Engineering Research Associates 1951 ERA Remington Rand Univac 1954 Atlas II Atlas II ERA 1103 Univac 1103A 1956 Univac NTDS Navy Tactical Data System Computer Univac 490 1957 CDC Control Data Corporation 1959 CDC1604/ 160 1604 CDC3000160 8000 1964 CDC6600 6600 CDC6000Cyber70/170/180 1968 CDC7600 7600 Cyber76/176 1972 CDC8600 1972 Cray Research Inc. 1976 Cray-1 Cray XMP YMP C90 J90 T90 1985 Cray-2 1989 CCC Cray Computer Corporation 1993 Cray-3 NCAR 1995 CCC 11 Cray-4 1995 SRC Seymour Roger Cray Computers 1996 10 5 9 22 Vol.14, No.4 2009 3 クレイ リサーチ 時 代 クレイ リサーチの 設 立 CDC 8600CDC CDC 8 1972 筆 者 紹 介 1939 4 3 1963 1963 1965 1967 1975 JMA 1979 1989 ELS 1997 2005 ACM IEEE American Institute of Aeronautics and Astronautics AIAA American Association of Artificial Intelligence AAAI Astronomical Society of the Pacific 2 8600 2 CDC 10 6600 7600 60 CDC Vol.15, No.3 2010 43
2386 CDC 25 CDC CDC CDC 1972 CDC CDC Cray Research Inc. CRI 1972 9 CDC 300 9 CDC CDC 8600 IC IC CDC 7600 1966 IC 1 5 IC 6IC 8600 LLNL LARC IBM Stretch IBM 7030 IBM 360/90 CDC Star-100 TI-ASC ILLIAC-VI 1 CDC Star-100について Cray-1 Star-100 Star-100 Star Strings Arrays 100 32 100Mflops 64 50Mflops LLNL CDC CDC 7600 Star-100 2 Star-100 8 200RISC 1 8 32 64 1 64 64 2 16 1 6 5,535 2 Fortran 2 3 1 1 SIN COS TAN EXP LOG 2 CDC LSI [1] 1973 CDC CDC 7600 Star-100 ID 44 計 算 工 学
R. 3 2387 1.5m 2m 10m 30 CDC 6600 7600 2 4 30cm 50cm Star-100 4 CDC Cyber 203 205 205 1 4 20 1 1974 CDC NSC Cray-1の 開 発 CRI CDC 8600 CDC CRI 8600 Cray-1 8600 8 12 12.5 76005 8 Cray-1 144 IC 4CPU 1CPU 8600 Cray-1 8600 Cray-1 Star-100 ベクトル レジスター 64k 64 1 64 Cray-1 1973 CRI John A. Rollwagen CRI 1975 CRI 60 1,000 1976 Cray-1 CRI 1974 Cray-1 80Mflops 160Mflops CPU 1 Cray-1 CPU この 中 で 新 しいのは ベクトル レジスターで ある ( 他 のいろいろな 工 夫 は 大 体 それまでのCDC 1604 6600 7600で 採 用 され 成 功 した 方 式 かそれら の 改 良 型 ばかりで ある 日 突 然 Cray-1が 新 機 構 満 載 で 出 てきたわけではない)ベクトル レジスターはV0 からV7までの8 枚 が 用 意 されており 1 枚 は64 要 素 (1 要 素 は64ビット)から 成 り 立 っていた 演 算 を 行 う 機 能 ユニットは ベクトル 機 能 ユニット( 整 数 加 算 論 理 演 算 シフト 演 算 ポピュレーション/パリティ 計 数 ) 浮 動 小 数 点 機 能 ユニット( 浮 動 小 数 点 加 算 同 乗 算 同 逆 数 演 算 ) スカラー 機 能 ユニット( 整 数 加 算 論 理 演 算 シフト 演 算 ポピュレーション/リーディ ングゼロ 計 数 ) アドレス 機 能 ユニット( 整 数 加 算 同 乗 算 )からなり その 内 ベクトル レジスターを 相 手 に 演 算 を 行 うのは ベクトル 機 能 ユニットと 浮 動 小 数 点 機 能 ユニットである 浮 動 小 数 点 機 能 ユニットは ス カラー レジスター 相 手 の 浮 動 小 数 点 演 算 も 行 う Vol.15, No.3 2010 45
2388 Diagram: Courtesy of Cray, Inc. Cray-1 CPU Diagram: Courtesy of Cray, Inc. 図 1 Cray-1 CPUのブロック 図 全 部 で13 個 ある 機 能 ユニットは いずれもセグメ ント 化 されており 浮 動 小 数 点 演 算 の 以 外 の 演 算 もク ロックごとに 連 続 して 結 果 を 出 すことが 出 来 た 浮 動 小 数 点 演 算 が 比 較 的 実 行 時 間 がかかるため CPUの 演 算 性 能 を 表 わすFlops 値 が 浮 動 小 数 点 加 算 と 同 乗 算 の 性 能 値 を 加 えたもので 表 現 するのが 一 般 的 である が Cray-1ではこの 他 のベクトル 機 能 ユニットの4 個 の 演 算 器 も 独 立 に 且 つ 同 時 に 結 果 を 出 すことが 出 来 た ので CPU 全 体 の 演 算 能 力 はもっと 大 きい 値 になって いる (ブロック 図 から 分 かるように このCPUは 正 しくはスカラー ベクトル プロセッサーと 呼 ぶべき で また 米 国 ではそう 呼 ばれていた) あと この 図 からは 読 み 取 れないが ベクトル 演 算 にはチェイニング(chaining)という 巧 妙 な 方 法 でベ クトル 演 算 と 次 のベクトル 演 算 の 間 を 空 けないように 工 夫 がなされていた ベクトル 演 算 が2 個 以 上 連 続 する ときに 1 番 目 のベクトル 演 算 結 果 がどれかのベクト ル レジスターに 全 部 溜 まってから2 番 目 のベクトル 演 算 を 開 始 するのではなく 1 番 目 のベクトル 演 算 から 結 果 の 第 1 要 素 が 出 るとすぐにその 要 素 を 使 用 して2 番 目 のベクトル 演 算 が 開 始 できるようになっていた もう 一 つの 大 きい 特 徴 は 主 メモリーとレジス ター 間 のデータのやりとりの 高 速 化 である コンパイ ラー 言 語 でプログラムを 書 いている 時 には 表 に 出 ない 特 徴 だが アクセスに 時 間 のかかる 主 メモリーと 高 速 なレジスター 間 には 演 算 器 と 同 じようにセグメント 化 された 経 路 が 用 意 されていた すなわち ロード ス トアーのパイプライン 化 である また 64 語 (1 語 = 64ビット)を 連 続 してやりとりするベクトル レジス ターはもちろん スカラー レジスターと 主 メモリー 間 アドレス レジスターと 主 メモリー 間 にそれぞれ 新 たに64 語 分 のレジスター(TレジスターとBレジス ター)がかませてある また 命 令 用 バッファーも16 語 分 が4 枚 ( 合 計 64 語 ) 用 意 されていて 64 語 分 の 命 令 を 連 続 して 主 メモリーから 取 り 込 むことが 出 来 た Cray-1とその 後 継 機 種 に 対 して 32ビット( 浮 動 小 数 点 数 整 数 とも)や16ビット( 整 数 )の 取 り 扱 いが 出 来 ないから 使 い 物 にならないとよく 言 われたことが あるが このブロック 図 をみるとそうでないことが 分 かる 論 理 演 算 やシフト 操 作 もベクトル 演 算 器 を 持 っ ているから 64ビットから2 個 の32ビット(あるいは 4 個 の16ビット)にunpackするとか 2 個 の32ビット (あるいは 4 個 の16ビット)を64ビットにpackする とかは 一 連 のベクトル 演 算 の 中 で 行 うことが 可 能 で あった 実 際 地 層 物 理 探 査 のための 地 震 解 析 とか 画 像 処 理 のためのデジタルシグナル 解 析 などでは 32 ビットや16ビットのデータがCray-1で 盛 んに 取 り 扱 わ れていた Cray-1 [2-4] [4] Cray-1 IC CDC 8600 Cray-1 1 1 1 1 1 1 2 4 8 Los Alamos National Laboratory LLNL 1 6 1976 NCAR Cray-1 8861 6 LLNL CRI Cray-2の 開 発 Cray-1 Cray-2 Cray-2 19859 46 計 算 工 学
R. 3 2389 CRI Cray-2 Cray-1 1/3 4 1CPU 4CPU 10 Cray-1S Cray-1S 12.512 I/O Cray 30 Cray-2 2 1978 Cray-2 64 1 Steve Nelson 64 2 3 2 LLNL 1 LLNL 64 4CPU 4Cray-2 15 1993 CRI T3D 64 LLNL Cray-2Cray-1 120cm Cray-2 40cm IC CDC 8600 25 Cray-2 Cray-2 NCAR CRI 25 2 Cray-2 Cray-2 VLSI Cray-1 VLSI 81 82 4 Cray-2 PC 3M Flourinert-3M 79 80CRI Cray-1 CRI Cray-2 CRI 3 4 Cray-2 CRI Cray-2 81 CRI Cray-1 1/2 Cray X-MP Cray-2 3 Cray-2 VLSI Cray-2 Vol.15, No.3 2010 47
2390 82 CRI Cray-2 1985 CRI Cray X-MP 1982 Cray Y-MP 1988 Cray X-MP Cray Y-MP Cray-2 4.1ナノ 秒 のクロック 速 度 :このクロック 速 度 は 当 時 のすべてのコンピューターの 中 で 最 も 速 かった 4 個 のバックグラウンド プロセッサー( 以 下 BP)と1 個 のフォアグラウンド プロセッサー(FP): 4 個 のBPは 本 来 の 計 算 を 行 うプロセッサーで 中 の 構 成 はほぼCray-1のそれと 同 様 で クロックの 短 く なった 分 だけ 強 力 になっていた 4 個 は 別 々にも 動 く こともできるし 1プログラムのために 並 列 に 動 くこ ともできた 各 BPが 非 常 に 高 速 なローカル メモリー (16kW 1W = 64 ビット ユーザーも 直 接 使 用 可 能 ) を 持 っていてベクトルやスカラーのデータを 一 時 的 に 置 くことができた FPはシステム 全 体 (FP BP コ モン メモリー 周 辺 機 器 コントローラー)を 統 括 し システムの 診 断 プログラムも 実 行 した 256メガワード(1 語 =64ビット)のコモン メモ リー( 以 下 CM):ダイナミックMOSで 構 成 された この 大 容 量 メモリーは 1 台 のCray-2で それまでに CRIが 売 ったCray-1 Cray-XMの 全 システム(おそら く 百 数 十 システム)の 主 メモリー 容 量 の 総 計 よりも 大 容 量 といわれた 大 きいマトリックスなどを 扱 う 計 算 では それまでディスクとのやりとりをしながら 解 い ていた 問 題 が CMとBPとのやりとりのみで 実 行 でき るようになり BPを 遊 ばせることが 減 って ユーザー にはうれしい 仕 様 であった これ 以 降 HPCのメモ リーの 大 容 量 化 が 進 みだした 回 路 全 体 が 液 浸 冷 却 (liquid immersion cooling): Cray-2は320 個 のモジュールからなり 各 モジュール は4インチ 8インチの 基 板 を8 枚 重 ね その 厚 さは1イ ンチであった 各 基 板 には だいたい8 12 個 のチッ プが 貼 り 付 けられていたから 各 モジュールには 約 8 8 12 個 のチップが 載 っていた Cray-2 全 体 で 約 24 万 個 のチップが 組 み 込 まれ そのうち7 万 5 千 個 がメモ リー 用 チップであった 各 モジュールはだいたい300 ~500ワットの 電 力 を 必 要 とした( 失 敗 だったCDC 8600のモジュールを 思 い 出 す) この320 個 (300 ~500ワット)の 熱 を 冷 却 するために 全 回 路 をフロリ ナート 液 に 浸 し 排 熱 した 空 気 で 冷 やすよりも 効 率 が 良 いだけでなく 回 路 全 体 をまんべんなく 冷 却 するこ とができ システム 全 体 のホットスポットとコールド スポットとの 温 度 差 が2~3 度 以 内 ということで ハー ドウェアの 信 頼 性 が 非 常 に 高 まった スーパーコンピューターで 最 初 のUNIXの 採 用 :そ れまでのHPCはバッチ( 一 括 ) 処 理 というのが 普 通 で あったが Cray-2からUNIXをOSとして 採 用 した(の ちにUNICOSと 称 した) HPCもミニコンやワークス テーションなどと 同 様 にインターラクティブに 使 用 で きるようになったわけである ここで CRI は UNIX を HPC 特 有 の 長 大 ジョブの 取 扱 い 機 能 や 中 断 /リス タート 機 能 などを 入 れHPCユーザーにそれまでと 同 様 に 使 用 できるよう 対 応 強 化 した テールゲーティング(tailgating)の 採 用 :ベクトル 演 算 が 連 続 する 時 Cray-1ではチェイニングという 方 法 でベクトル 演 算 の 間 を 空 けない 工 夫 がしてあった しかし ベクトル 演 算 から 出 てくる 中 間 結 果 が 次 のベ クトル 演 算 で 使 用 されるだけの 場 合 でもベクトル レ ジスターに 入 れられていたものを Cray-2では 廃 止 し た Cray-2では1 要 素 分 のレジスターに 出 てきた 中 間 結 果 を 入 れ それを 次 のベクトル 演 算 に 使 用 して ベ クトル レジスターを 出 来 るだけ 空 けておくようにし た このようなベクトル 連 続 演 算 方 式 をテールゲー ティングと 呼 んだ Cray-2 [5] CRI [6] Cray-2 Google Cray-2 Photos [7] Cray-1 CRI HPC CRI CCC Cray Computer Corp. Vol.15, No.4 2010 参 考 文 献 [1] http://www.bitsavers.org/pdf/cdc/cyber/cyber_200/60256000_ STAR-100hw_Dec75.pdf 19MB [2] Richard M. Russell, The CRAY-1 computer system, Communications of the ACM, Volume 21, Issue 1, January, 1978, Special issue on computer architecture, pp.63 72. [3] http://www.bitsavers.org/pdf/cray/2240004c_cray-1_ Hardware_Reference_Nov77.pdf 8.1MB [4] http://www.digibarn.com/collections/systems/crays/cray1/ boards/index.html [5] http:// craysupercomputers. com/ downloads/ Cray2/ Cray2_Brochure001.pdf 3.1MB [6] http://www.bitsavers.org/pdf/cray/cray-2_description_ Dec82.pdf 2.2MB [7] http://bobodyne.com/web-docs/robots/cray2/ 1975-1989 48 計 算 工 学