今年の「Seymour Cray Computer Engineering Award」はGordon Bell氏に贈られた。Gordon Bell氏はDEC(Digital Equipment Corp.)のエンジニアとして「PDP-6」などの設計を行い、後には開発担当のVPとして、同社の「VAX11-780スーパーミニコン」の開発などを指揮した。DECのミニコンピュータは手頃な価格で使い勝手が良く、1つの時代を作ったと言える。このようなコンピュータの開発に対する重要な貢献が今回の授賞の理由である。

また、この講演では触れられていないが、Bell氏は、約10年に1度の割合で、半導体やストレージ、ネットワークなどの技術革新で、より低価格な新しいクラスのコンピュータが作られるという「Bellの法則」の提唱者としても知られている。そして、シリコンバレーにあるComputer History Museumは、Bell氏が寄贈した個人のコレクションを基にして始まっており、歴史の保存という分野でも重要な貢献を行っている。

Gordon Bell氏は現在80歳であるが、現役で、マイクロソフト社のシリコンバレー研究所の研究員を務めている。

Seymour Cray賞の受賞者は記念講演を行うのが恒例となっており、SC14においてBell氏の講演が行われた。

Bell氏は、半世紀のスーパーコンピューティングの歴史の個人的回想と題して受賞記念講演を行った

講演を行うGordon Bell氏

講演のタイトルは「半世紀のスーパーコンピューティングの歴史の個人的回想」というもので、「驚くべきレースのエンジニア、研究者、官僚、サポーター、投資家、批評家、そして、歴史家として」という注釈がついている。

スパコンの発展は、1965年から1995年に掛けてのCrayの単一メモリコンピュータの時代、1984年以降のマルチコンピュータ、別名、クラスタの時代があり、その中に1984年から1994年に掛けてのKiller Micro(マイクロプロセサ)への移行の時期があった。

理想的なスパコンの進化は、速度、メモリ量、並列性などが時間とともにスケールして行くべきであるが、初期には可能であったクロックの向上と単一メモリのマルチプロセサの大型化はできなくなり、現在では多数のコンピュータをつなぐスケールアウトだけになってしまった。

スパコンの歴史は単一メモリのコンピュータのCrayの時代とクラスタの時代がある

理想的なスパコンは速度、メモリ量、並列性などがスケールすべきであるが、初期には可能であったクロックの向上と単一メモリのマルチプロセサの大規模化はできなくなり、現在では多数のコンピュータをつなぐ方法だけになってしまった

なお、これらの写真に写っているのは、IEEEの授賞委員会のSeymour Cray賞選考担当のローレンスバークレイ国立研究所副所長のHorst Simon氏と、招待講演セッション議長の議長のヒューストン大のBarbara Chapman教授である。

振り返ってみると、Univacの「LARC」とIBMの「Stretch」、そしてManchester大学の「Atlas」が科学技術計算用のスーパーコンピュータというクラスのマシンを作り上げた。

次の1960年のLARCの写真は貴重なもので、Sidney Fernbach賞のFernbach、当時はローレンスリバモア研究所の所長ではなかったかと思われるが、後に国防長官になったHarold Brown、水爆の父と呼ばれるEdward Tellerが並んで写っている。そして、LARCに対抗してIBMが作ったのが、次の写真のStretch(IBM 7030)である。

その次はManchester大のAtlasで、Ferrantiが製造し、毎秒100万命令を実行できる素晴らしマシンであったとBell氏は回想している。

そしてプログラミングには「FORTRAN」が作られた。FORTRANは1957年にIBM 704用のコンパイラがリリースされ、1960年の仕様化から、最近ではFORTRAN 2008が作られており、現在も現役の言語である。

1960年のLARCの写真。写っている人物はFernbach、Harold BrownとEdward Teller

1961年にロスアラモス研究所に設置されたIBM開発のStretchと1962年にNSAに出荷されたHarvest

1961年のManchester大のAtlasの写真

左は1957年にリリースされたIBM 704用FORTRANコンパイラのマニュアルと1964年出版の解説書

そして、CDC(Control Data Corp.)が「CDC6600」と「CDC7600」を作った。スーパーコンピュータというマシンクラスを確立したマシンと言える。

1964年にLLNLに設置されたCDC6600

1969年にLLNLに設置されたCDC7600

しかし、1964年当時、CDC6600の話を聞き、Bell氏は「なんてこった。どうやってこんなものを作ったんだ」と思ったという。

CDC6600と比べると、Bell氏が開発中のPDP-6は、30万ドルと1/10の価格、5000トランジスタと1/120のトランジスタ数でクロックも5MHzと半分であったという。

さらに高い性能を目指して、Amdahlの法則の制約の中で並列性を探すという努力が行われた。64並列SIMDの「Illiac IV」、メモリ上にベクトルを置く「CDC STAR」や「ETA10」、TIの「ASC」などであるが、これらはうまく行かず、最終的に成功したのは「Cray 1」のベクトルアーキテクチャであった。

Cray 1は、スカラ性能はCDC7600の2倍でしかなかったが、160MFlopsとCDC7600の4~5倍の演算性能を持ち、スーパーコンピュータと言えばCray 1を指すようになった。

Amdahlの法則の制約の中で並列性を探して性能を向上しようとした。成功したのはCray 1

カバーを外した状態のCray 1。スカラ性能はCDC7600の2倍でしかないが、160MFlopsとベクトル性能が高い

左の図はLSIチップのトランジスタ数の増加を示すもので、使用できるトランジスタが増加するにつれて最初の4bitプロセサから8bit、16bit、32bit、64bitとデータ幅を増加させ、さらに1チップに集積する64bitコアの数を増やしている。

右の図は、TTL、ECLとCMOSロジックの性能の推移を示すもので、TTL、ECLの性能改善は14%/年であるのに対してCMOSの性能改善のペースは速く、1996年にはTTLを抜き、1997~1998年にはECLも抜いた。その結果、TTLやECLの中小規模の集積度のSSI、MSIを並べて作るミニコンピュータやワークステーションは競争力を失い死滅することになった。これにより"Killer Micro"の時代となった。

縦軸はトランジスタ数、横軸は暦年で、ムーアの法則で増加するトランジスタを利用して、データ幅を4bitから倍増を繰り返して64bitになり、さらに複数コア化している

縦軸はロジックの性能、横軸は暦年。ECLとTTLの性能改善は14%/年であるが、CMOSの性能改善はそれより速く、1996年にはTTLを抜き、1997~1998年にはECLも抜いた

しかし、並列化できる部分は限られており、並列化による性能向上には困難があることがAmdahlの法則で示された。このため、1985年にAlan Karpが、1995年までに並列化により200倍の性能向上を達成すれば100ドルの賞金を提供するという賞を作ったが応募が無く、Bell氏は、200倍は難しすぎると考え、1992年までに10倍、1997年までに100倍を実現するという目標を提示し、毎年ベストの結果に1000ドルの賞金を出すことにした。これが1987年のGordon Bell賞の始まりである。

Amdahl氏の写真と並列化による性能向上を論じた論文。この関係はAmdahlの法則と呼ばれる

1985年にAlan Karpは1995年までに、並列化により200倍の性能を達成したら100ドルの賞金を提供。1987年にBellは、1992年までに10倍、1997年までに100倍を目標とし、毎年ベストの結果に1000ドルの賞金を提供するGordon Bell賞を作った

1994年にJim Grayと話し合って、スケーラブルなネットワークこそがプラットフォームであるという結論に達した。なぜなら、ムーアの法則で使えるトランジスタは指数関数で増え、標準化された部品があふれ、インタフェースの標準化で競争が激化し、進歩が加速されるからである。この方向に向かう経済的な圧力は巨大で、ネットワーク接続は急速に進むと考えられることから、我々は共有メモリのコンピュータを諦めることにしたという。 そして、1994年には分散メモリのコンピュータ間でメッセージのやり取りを行うMPI(Message Passing Interface)1.0仕様が公開され、分散メモリのシステムの採用が急速に進んでいく。

1994年のJim Grayとの話で、スケーラブルなネットワークがプラットフォームになる。経済的な圧力は巨大でネットワーク接続が急速に進む。そこで、共有メモリコンピュータは諦めることにした

1994年にはネットワーク経由でメッセージをやり取りするMPIの第1版の仕様が公開され、ネットワーク接続の採用が急速に進んでいく

その結果、今日では、日本の京コンピュータ、米国のSequoiaやTitan、中国のTianhe-2など巨大なネットワーク接続のスパコンが作られるようになっている。

そして、Tianhe-2を開発した中国の国防科技大は2015年に100PFlops、2018年には1ExaFlopsというプランを掲げており、SGIも2018年までに500倍に性能を向上させ、1ExaFlopsを実現する計画を持っている。また、現在の性能向上の傾向を見ると、2018-2020年に1ExaFlopsに達すると予想される。

今後、HPCの世界で必要となるチャレンジは、

  • 1994年から20年間続いてきた指数関数の性能向上をいかにして継続するか。
  • 2007年にJim Grayが述べた科学の第4のパラダイムの実現
  • 大量の実験データの解析によって科学を行う
  • モデルのシミュレーションで得られた大量データの解析によって科学を行う
  • データ科学と計算科学の融合
  • HPCをサポートするクラウドの進化

であると述べて、ビッグデータ処理と計算科学の融合とクラウドでのHPCサポートの重要性を強調して、Bell氏は講演を締めくくった。

2015年には100PFlops、2018年には1ExaFlopsに達する見込み

今後のチャレンジとして、従来の指数関数の性能向上をいかにして継続するか。そして、ビッグデータの解析と計算科学の融合。クラウドでのHPCサポートという新しい使い方に適したハードとアプリの開発をあげた