スーパーコンピュータ技術史
これまでのスーパーコンピュータ設計においては、ベクトル型とスカラ型の特徴に基づく実効速度や製造単価における有利 / 不利といった議論が行われた。しかし、コストと性能のバランスを取りつつ、どちらも、半導体プロセス技術の改良及びマイクロプロセッサ技術の開発によって着実に進歩を遂げてきている。現在においては、半導体プロセスは物理学的且つ、電磁気学的限界が視野に入ってきており、シングルプロセッサによる性能向上はほぼ限界を迎えつつある。このため、複数の処理ユニットを有機的に結びつけ、高性能なHPCを仕立て上げる様な技術的課題の克服が求められている。
ただし、シングルユニットにおいても限界に達したわけではなく、これまで続けられてきた高温超伝導による技術開発や、完全に新規となるポストシリコンによる半導体設計や完全に新規の研究開発となる量子コンピュータといった新たなコンピュータ素子による向上の可能性も残る。この部分に関しては、本稿の将来の項や汎用京速計算機に記載した。現在は、その先の技術として「量子コンピュータ」や「バイオコンピュータ」といった技術の成熟化に向けた研究開発が続けられている。なお、これらが将来、本当に製造され、実用に供されることになるのかはわからない。
現時点のソフトウエア技術の限界は、ハードウエア技術によって得られた広大な世界を食いつくしながら進歩しているといっても過言ではない。しかし、プリミティブなチューニングや様々な調整等はこれからも課題であり、今後もハードウエアの進歩によって続くことになる。本稿では、現在における各技術毎のシステム設計状況について説明を行う。
20世紀前半の「総力戦の時代」に計算需要を発生させたのは、主に次のような分野である。射撃管制やそれに必要となる弾道学他に基づく射表、機械暗号とその解読、航空宇宙、光学、原子爆弾。一方で戦争に関係するごく僅かな分野に大量の人的資源やその他の資源が集中して投入され、同時に大量の資源とエネルギーが発展とは全く無関係に損耗したことは、科学のごく一部の分野の突出した発展と引き換えに、広く深く基礎分野にダメージを与え、ツーゼのような先駆者もいたものの、万能(チューリング完全)機械としてのコンピュータの誕生は第二次大戦の終結を待つこととなった。この時代には微分解析機などのアナログ計算機や、(電子的でなく、かつ、プログラム内蔵方式でもない、という点で、コンピュータ以前の計算機械に分類される)Harvard Mark I やその後継機等に代表される大型の電気機械式等の計算機もさかんに作られた。
この時代には電子工学も発展した。電子工学を利用した高速な計算機すなわち「電子計算機」の萌芽は1940年代前半頃に生まれている。実用的な電子計算機の誕生に向けた技術的な最後の一押しは、戦争によって急激に進歩したレーダーによる高周波などの技術の発展だった。ただし、一方でコンピュータそのものの発達は(冷戦という背景があるとはいえ)、戦争が終わった後に急激に進んだ、ということもまた確かである。
一般に液冷の欠点と利点は以下のようなものである。
欠点: 部品点数の増加などによる高コスト、最悪の場合として漏洩トラブル等があるという高リスク
利点: 集中的に発生する熱を熱伝導率の高い液体で高速に吸い上げ、それを流体の移動によって高速かつ強制的に移動させ、ラジエタ等といった大型の機器により緩やかに効率よく外部に熱を捨てる、というサイクルのため、熱設計に余裕を持てること
21世紀に入ってからは、密閉されている、ヒートパイプ等といった形態ではパーソナルコンピュータでも広く併用されているが、とどまることのない集積度の向上とデナード則の限界(ムーアの法則の限界)による電力性能改善の頭打ちによる発熱密度の過大のために、配管を含む冷却システムとしての液冷も、利用されるようになってきた。京コンピュータ(富士通)や地球シミュレータの3代目システム(日本電気)、SR16000(モデルM1、日立)などがその例である。
短波長のレーザーをきちんと通信に用いるためには、現在の光ファイバー技術においてより純度の高い素材が必要になる。なお、純度の高い素材はアモルファスとならないため、中央に真空の光路を作成するなどの方法もある。この場合には、光路の周囲を紫外線を反射できる素材(具体的には、純銀等)でコーティングするなどの必要性がある。このため、コスト的には非常に高価となる。短波長レーザの場合には、真空中において最大の効率を発揮するため、将来衛星間通信等で活用される可能性もある。無論のことであるが、地上においては短波長レーザーに適応したファイバーの開発がおこなわれると思う。今後の課題としては、安定的かつより短い波長のレーザー発振が必要になると思われる。
これらの技術を確立するためには、超微細加工技術が必要であり、かつまた、レーザー設計のシミュレーション技術も同時に求められる。無論のことであるが、より精度の高い微細加工技術を達成するためには、より精度の高い計測技術が不可欠になると思われる。精度の高い計測技術とは、時間計測+短波長レーザーによってもたらされるからである。
スーパーコンピューティング・システム外部においては、グリッド・コンピューティング等によって現在までに既知となっていることであるが、バッチ分散型のシステムとしたシステム間の処理速度毎に集計を取るシステムが採用されることになると考えられる。
高性能化は大きく分けて2通りの方向から進められた。ひとつはパイプライン化、もうひとつは並列化である。
最初のパイプライン化コンピュータは「ストレッチ」ことIBM 7030とされている。7030は4ステージのパイプラインによりフェッチ・デコード・実行を並列におこなった。
後述するパイプライン処理による高性能を誇ったベクトル型スーパーコンピュータにつながる、最初のスーパーコンピュータはCDC 6600だとされている。6600は、演算処理に特化し高速に動作する中央プロセッサと、その他の遅い処理をおこなう10個の周辺プロセッサ(正確にはレジスタ群などが10個分ある「バレル」と、処理を実行する1個の「スロット」から成る。バレルプロセッサの記事も参照)という構成により、上手にプログラミングすればコンピュータの全ての部分を常に働かせ続けることができる、という機械であった。また6600ではScoreboardingによるアウト・オブ・オーダー実行も行われている。
一方の並列化への挑戦として、イリノイ大学でのコンピュータ製作プロジェクトは注目に値する。
歴史的に、コンピュータの主たる用途は科学技術計算と事務処理であり、コンピュータの歴史において、前者の歴史は主に機械式計算機などの計算機の歴史に、後者の歴史はタビュレーティングマシンの歴史に繋がっている。
高性能計算の需要は、主に科学技術計算であったが、歴史的には「スーパーコンピューティング」という用語はタビュレーティングマシンに対して使われたのが最初とされている。国勢調査のように(科学計算とも言えるが)事務処理でも、高速に大量の処理をこなすことが必要なこともある、というわけである。
まず、コンピュータ以前の時代についておおまかに述べる。アストロラーベは、天文現象を機械的にシミュレーションするアナログ計算機であった。これは暦や測量のために使われた。そういった現象を計算で扱えるようになるまでには長い時間がかかった。
加減算はアバカスのような器具を利用することで行えるが、乗除算は加減算の繰り返しを必要とする。あるいは統計など大量の計算を必要とする用途がある。
17世紀に、対数を元にして、精度は限られるが計算尺で乗除算が行えるようになった。数値的にはネイピアによるネイピアの骨の発明と、後述する数表の一種である対数表がある。同じ頃、パスカルやライプニッツによる機械式計算機により、繰り上がりや繰り下がりが自動になった。