このページの本文へ

前へ 1 2 次へ

ロードマップでわかる!当世プロセッサー事情 第272回

スーパーコンピューターの系譜 スパコンの起源といえるIBM 7030

2014年09月29日 17時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/

  • この記事をはてなブックマークに追加
  • 本文印刷

IBM 704の100~200倍の性能を出すべく開発された
IBM 7030 “Stretch”

 以上のように、ほぼ数年おきに新しいマシンが登場し、台数も次第に増えてきていた。こうした背景があって、1961年に登場したのが「IBM 7030」、通称“Stretch”である。初号機はLASL(Los Alamos Scientific Laboratory)に納入されている。

IBM 7030 Data Processing System

 このStretchをスーパーコンピューターとして紹介する理由は、性能面での高さもさることながら、その開発経緯にも関係する。1955年4月、IBMはUCRL(University of California Radiation Laboratory)からLARC(Livermore Automatic Research Computer)の開発に関して提案を求められた。

 ところが、当時のIBMの体制ではUCRLが求める時期にLARCの開発は無理だとして、UCRLが希望する時期より後に、より強力なマシンを作る提案を出したものの、これはUCRLから拒絶される。

 同年5月、IBMはNSAに対し、Siloというコード名の高速メモリーシステム、それとPlantationというコード名のハイパフォーマンスプロセッサーを提案する。これは要するにUCRLに提案したものであるが、これも拒絶される。そこで、IBMはこのシステムを別の顧客を見つけて販売すべく、Stretchというコード名で開発を開始した。

 この顧客の有力候補とはLASL(Los Alamos Scientific Laboratory)であるが、そのLASLはLARCを採用する可能性があった(ちなみにLARCはRemington Rand、後のUNIVACが開発して納入している)。そこでIBMはLASLに対し、IBM 704の100~200倍の性能を出すという提案を同年11月に行ない、翌1956年1月には開発プロジェクトもスタートしている。LASLはこの提案に乗り、同年11月には契約が行なわれた。

 結果から言えば、いきなり100倍は壮絶に無茶な提案であり、大雑把に半分の性能しか出なかった。半分出ただけでもすごいと思うのだが、IBMは性能が足りない分を値引きで補うことになった。そもそものStretchの提案時の価格はおおむね1350万ドルだったが、最終的な金額はこの約半分の778万ドルになった。つまり差額は赤字である。

 Stretchは、それ以前に商談を持ちかけた顧客に限ることにして、結局9台しか製造されていない(うち1台はIBM自身が保有)。とはいえ、50倍としても元のIBM 704が12KFlopsなところを600KFlopsまで引き上げたのだから、これは大きなジャンプである。

 ちなみに2台目はNSAに納入されている。LASLは核兵器の開発に、NSAは(公表されていないがおそらく)暗号解析にStretchを利用したと思われるが、実はこうした使い方は現在に至るまで同じであり、LASLやNSAは引き続きスーパーコンピューターを積極的に導入して使っている。こうした顧客に向けた製品、というあたりはスーパーコンピューターのはしり、としても差し支えないだろう。

アーキテクチャーの改善で性能を向上

 もともとの100倍という目標だが、最初の試算ではロジック回路の性能改善で10~12倍、メモリー性能の改善で6倍程度の性能引き上げが可能とされていた。ただこれを掛けても60~72倍にしかならず、目標の100倍には到達しない。

 これを補うためにアーキテクチャー面での改善も導入された。それが“Lookahead”アプローチである。要するに命令プリフェッチと一種のスーパースカラーである。Stretchは最大4つの命令を同時に解釈して実行可能であり、こうした工夫で性能を引き上げられると見込んだわけだ。

 もっとも、単に命令プリフェッチとスーパースカラーを既存の構造に組み込んでも性能が出ないわけで、副次的にその周辺も強化する必要がある。結局Stretchで実装された主要な新機能は以下のものが挙げられる。

  • 割り込み処理
  • メモリーのECC(Error Detection and Correction)処理
  • メモリーインターリーブ
  • メモリー保護機構
  • 命令プリフェッチ
  • 即値オペランド
  • 投機実行
  • ライトバッファー
  • Result Forwarding

 ほとんどのものはおなじみかと思うが、目新しいのは、即値オペランドとResult Forwardingだろう。前者は命令の中に直接データが書き込まれる方式。後者はある実行ユニットで計算された結果を、1度メモリーに書き出して読み出すのではなく、そのまま別の実行ユニットで利用する方式である。今となってはこうした仕組みはごく普通に実装されているが、それに先鞭をつけたのがStretchであった。

 ちなみにIBM 7030がもう1つスーパーコンピューターとして重要というのは、開発者である。Stretchの初期のデザインはGene Amdahl氏とStephen Dunwell氏の2人で行なわれたが、1955年末にStephen Dunwell氏がプロジェクトの指揮を執ることになり、Gene Amdahl氏はIBMを去った。

 Gene Amdahl氏は、アムダールの法則の生みの親(名前をつけたのはAmdahl氏ではないのだが、彼が1967年に行なったプレゼンテーションが基になっている)であり、IBM離職後にAmdahl社を創業、富士通と組んでIBM互換の高性能メインフレームを生み出すことになった。

 このあたりの話はまたいずれすることにして、IBM 7030は当初からスーパーコンピューターとして扱われるべくして生まれ、実際に1961年当時は世界最速のコンピューターであった。

 IBMはStretchで得た技術を基に、大成功のSystem/360シリーズを開発、メインフレームの分野で確実な地位を築くが、その一方で最高速コンピューターの分野では新興のControl Data Corporation(CDC)に遅れを取ることになる、という話は次回にしよう。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン