スーパーコンピュータ技術史

スーパーコンピュータ技術史では、スーパーコンピュータとHPCについて、その起源から現在に至るまでの主に技術についての歴史を記述する。

1. コンピュータ誕生以前
-------------

歴史的に、コンピュータの主たる用途は科学技術計算と事務処理であり、コンピュータの歴史において、前者の歴史は主に機械式計算機などの計算機の歴史に、後者の歴史はタビュレーティングマシンの歴史に繋がっている。

高性能計算の需要は、主に科学技術計算であったが、歴史的には「スーパーコンピューティング」という用語はタビュレーティングマシンに対して使われたのが最初とされている。国勢調査のように事務処理でも、高速に大量の処理をこなすことが必要なこともある、というわけである。

まず、コンピュータ以前の時代についておおまかに述べる。アストロラーベは、天文現象を機械的にシミュレーションするアナログ計算機であった。これは暦や測量のために使われた。そういった現象を計算で扱えるようになるまでには長い時間がかかった。

加減算はアバカスのような器具を利用することで行えるが、乗除算は加減算の繰り返しを必要とする。あるいは統計など大量の計算を必要とする用途がある。

17世紀に、対数を元にして、精度は限られるが計算尺で乗除算が行えるようになった。数値的にはネイピアによるネイピアの骨の発明と、後述する数表の一種である対数表がある。同じ頃、パスカルやライプニッツによる機械式計算機により、繰り上がりや繰り下がりが自動になった。

中国や日本では独特の数学が発達し、算木・算盤という器具が生まれ、天元術といった計算術が生まれた。

円周率や自然対数等の定数、対数・指数、三角関数、平方根などの応用上重要な初等関数の数表は、一度計算しておけば、後で何度でも使い回すことができる。数表はそういった計算の需要を満たした。数表の歴史については数表#歴史と利用を参照。工学の進歩により正確な数表が切望されるようになった。機械式計算機の発展により、数表を機械的に作るという野望が19世紀に生まれた。

1767年には最初の、天測航法に使う天測暦である "The Nautical Almanac and Astronomical Ephemeris" が刊行された。

19世紀イギリスで、数表を作成する計算機械として階差機関が作られた。バベッジはさらに、パンチカードで制御される、コンピュータとも言える機械である解析機関を計画した。同時代の他の一般の計算機と比較して、桁違いの能力を持つ計算機をスーパーコンピュータとするならば、バベッジのこれらの機械はそれに相当する。また、19世紀末にはアメリカでタビュレーティングマシンの歴史が始まった。

1900年代に入り、二度に渡る世界大戦が生じた。この二度に渡る世界大戦は国家総力戦という事態にまで発展し、その中で科学技術は戦争の道具として用いられた。その科学技術を発展させるためには、やはり計算能力が重要であり、かつまた正確な計算が求められることになった。

20世紀前半の「総力戦の時代」に計算需要を発生させたのは、主に次のような分野である。射撃管制やそれに必要となる弾道学他に基づく射表、機械暗号とその解読、航空宇宙、光学、原子爆弾。一方で戦争に関係するごく僅かな分野に大量の人的資源やその他の資源が集中して投入され、同時に大量の資源とエネルギーが発展とは全く無関係に損耗したことは、科学のごく一部の分野の突出した発展と引き換えに、広く深く基礎分野にダメージを与え、ツーゼのような先駆者もいたものの、万能機械としてのコンピュータの誕生は第二次大戦の終結を待つこととなった。この時代には微分解析機などのアナログ計算機や、Harvard Mark I やその後継機等に代表される大型の電気機械式等の計算機もさかんに作られた。

この時代には電子工学も発展した。電子工学を利用した高速な計算機すなわち「電子計算機」の萌芽は1940年代前半頃に生まれている。実用的な電子計算機の誕生に向けた技術的な最後の一押しは、戦争によって急激に進歩したレーダーによる高周波などの技術の発展だった。ただし、一方でコンピュータそのものの発達は、戦争が終わった後に急激に進んだ、ということもまた確かである。

2. コンピュータ黎明期
------------

黎明期のコンピュータは、初めて作るコンピュータであるからという理由や、投入できる資金・資源等の制限から、スペックを程々に抑えたものと、とにかくスペックを向上させたものとがあった。ENIACは後者であった。この時代の世界トップクラスの高性能コンピュータとしてはUNIVAC LARCやIBM 7030がある。

3. パイプライン化と並列化の萌芽
-----------------

高性能化は大きく分けて2通りの方向から進められた。ひとつはパイプライン化、もうひとつは並列化である。

最初のパイプライン化コンピュータは「ストレッチ」ことIBM 7030とされている。7030は4ステージのパイプラインによりフェッチ・デコード・実行を並列におこなった。

後述するパイプライン処理による高性能を誇ったベクトル型スーパーコンピュータにつながる、最初のスーパーコンピュータはCDC 6600だとされている。6600は、演算処理に特化し高速に動作する中央プロセッサと、その他の遅い処理をおこなう10個の周辺プロセッサという構成により、上手にプログラミングすればコンピュータの全ての部分を常に働かせ続けることができる、という機械であった。また6600ではScoreboardingによるアウト・オブ・オーダー実行も行われている。

一方の並列化への挑戦として、イリノイ大学でのコンピュータ製作プロジェクトは注目に値する。この当時は、コンピュータを作ること自体が稀であった中、当時のベル研究所の計算機の能力の合計を上回る性能の真空管コンピュータILLIAC Iを1952年に完成させた。

IILIAC I の後継機として設計されたILLIAC IIは、トランジスタを用いた最初期のコンピュータのひとつであった。ILLIAC IIでは、計算ユニットを並列化して処理速度を向上させるパイプラインがはじめて導入され、ILLIAC IIIでは、画像処理を目的としたSIMDアーキテクチャが採用された。

ILLIAC IVは、プロジェクトとしてはうまくいかなかったとされるが、SIMD型の並列コンピュータの最初期のものと評価されている。

この時代のコンピュータでは、IBM System/360のモデル91も、メインフレームとしては高性能であったという他に、こんにちにつながる多くの先駆的な技法を開拓している。特にTomasuloのアルゴリズムによるアウト・オブ・オーダー実行が特記される。

4. ベクトル型スーパーコンピュータの完成
---------------------

CDC 6600とCDC 7600の開発の中心人物であったシーモア・クレイはCDCを離脱し、クレイ・リサーチ社を立ち上げた。クレイのCray-1により、パイプライン処理により高性能を実現するベクトル型スーパーコンピュータは完成を見た。

Cray-1の成功は、他社に見られた漫然と「ベクトル計算を行えばよい」というアーキテクチャに陥らず、ベクトルレジスタやチェイニングにより可能な限りの性能を叩き出す、とした設計のうまさによる。ピーク性能を発揮するのは、64Kワード単位の行列計算において、加算及び乗算とからなる計算を行った場合である。その後のスーパーコンピュータ群では、ベクトルレジスタの容量の増大及び減算及び除算演算機能をハードウエアに組み込む形で性能向上が行われた。以上により、Cray-1は性能の点で他を1桁以上リードしていた。

一方、日本のコンピュータメーカも独自にアレイプロセッサを開発したりしていたが、1980年代には富士通・日立製作所・日本電気共に、クレイと競争するクラスのスーパーコンピュータを開発し販売した。これら日本メーカー機の特徴としては、各社ともに主力製品としてメインフレーム機を持つことを生かし、それらの演算強化ユニットのような形で、ないしは周辺プロセッサとしてそれらを使う設計とした。このことは性能対価格比を有利にした。

Cray-1ではハードウェアの出荷に対してソフトウェアの充実が遅れ、数年後となったが、自動ベクトル化処理に対応したFORTRANライブラリ  の提供を行った。さらに1983年のCray X-MP/4提供時にはUnix系OSのUNIC OSを提供した。

その後、クレイによって打ち立てられたスーパーコンピュータの基軸に沿った形で、各スパコンメーカーが自社のスーパーコンピュータを発表していく。その基軸とは、

ECLデバイスによる高速動作
パイプラインによる高速ベクトル計算の実現
UNIX系OSによる使いやすさの提供
科学技術計算のためのFORTRANライブラリの提供である。

4.1. ソフトウエアの進歩
--------------

FORTRANライブラリの充実と、同時に対話型ベクトルコンパイラの開発がスーパーコンピュータ開発に影響を与えたのも、この時期である。対話型ベクトルコンパイラはIBMやUnysisによって、1960年代終わりに考案されていた手法であるが、広く実機に応用され始めたのはこの時代だった。

4.2. 並列化
--------

Cray-1で基本構造としては完成しているため、以降のベクトル計算機の高性能化は並列ベクトル化となった。たとえば富士通ではVP→VPPのように移行した。

コンピュータのトランジスタ化が進んだ頃にあった予言として、主に信号の伝送速度の限界を理由に「世界最強のコンピュータはどんどん小さくなる」というものがあった。しかし、その予言通りだったのはCray-1までで、その後も素子の縮小は進んだものの、多数の演算要素を並べるようになったためセットはむしろ大きくなる傾向となり、今日の一例としては京コンピュータの計算機棟の3階は、50m ｘ 60m の広大な空間である。

5. ベクトル型スーパーコンピュータの発展
---------------------

その後1980年代後半以後の、ベクトル型スーパーコンピュータで見られた並列化以外の技術的発展等について述べる。

5.1. CMOS化
----------

1960年代末の電卓に始まり、1980年代に大きく発展したパーソナルコンピュータ等ではCMOS論理が主力の素子であったが、スーパーコンピュータやメインフレームでは性能の点でECLが引き続き主力の座にあった。しかし、微細化に有利であることと、巨大な市場の存在によりCMOSテクノロジは急激に発展し、特に微細化によって高速化するという特性によって、それらハイエンドのレンジでも、1990年代にはECLからの交代が進んだ。スーパーコンピュータでは、たとえばSXシリーズの場合、SX-4で1994年にCMOS化された。CMOS化ではそれ自体による発熱の低下と、集積回路の集積度向上により筐体に余裕ができて熱条件も緩和され、SX-4では同時に液冷から空冷への移行も行われた結果コスト低減という利益もあった。

5.2. その他の素子テクノロジ
----------------

CDCとハネウェルによるETAシステムズでは、Cyber-205シリーズアーキテクチャーに液体窒素冷却ののCMOSを用いたスーパーコンピュータが発表されたが、テクニカルサポート面やセールスの失敗等によって短い期間で終了している。また高速性が期待されたガリウム砒素半導体による素子は、数値風洞が成功例であるが実用となったものとしては同システムが唯一と見られる。ジョセフソンコンピュータ等も期待されたが広く知られた実用例は無い。超伝導素子に関しては量子デバイスとして、2010年頃から話題となっているD-Waveがそのような素子を利用している、と発表されている。

6. ベクトル型以外の発展
-------------

前節までで述べたパイプラインベクトル型スーパーコンピュータの発展と並列して、ILLIACシリーズに始まるSIMD型並列計算や、スカラー型プロセッサの超並列化によるスーパーコンピューティングの発展があり、2015年現在ではNECのSXシリーズのみがベクトル型となっている。この節ではそれらの流れについて述べる。

6.1. PACS
---------

日本では1970年代に研究から始まったPACSシリーズがさきがけのひとつである。同シリーズはその後、CP-PACSが1996年秋のTOP500で世界一を達成した。またCP-PACSでは、PVP-SWという擬似ベクトル方式により、スカラ型プロセッサでのベクトル計算の性能を上げる方式も開発された。

6.2. 専用計算機
----------

1990年代前後から、専用計算機の開発も盛んとなった。日本ではFXやGRAPEが知られている。

6.3. マイクロプロセッサの高性能化
-------------------

1970年前後に、電卓用4ビットプロセッサや組込み用として始まったマイクロプロセッサであるが、大きな需要を背景とした巨額の設備投資により、21世紀にはコストパフォーマンスでみるとほぼ圧倒的な存在となった。1980年代に拡大したワークステーションという商品ジャンルも、21世紀にはほぼパーソナルコンピュータの高性能モデルで置き換えられ、スーパーコンピュータもその多くがパーソナルコンピュータ用プロセッサのハイエンドモデルで作られるようになってきている。

6.4. マイクロプロセッサのSIMD拡張
---------------------

概念的には以前からあるが、パーソナルコンピュータでのマルチメディアコンテンツやゲーム用を目的にMMXとして広まった、マイクロプロセッサのSIMD型拡張は、次節のGPGPUがCPUとは疎結合の大規模計算プロセッサであるのに対し、CPUと密結合の演算器・演算命令として便利に使われている。

6.5. GPGPU
----------

6.6. スーパーコンピューティングの一般化
----------------------

1990年代後半には、スーパーコンピューティングと呼べる程度の計算力が、もはや誰の手にも届くものになり始めた。パーソナルコンピュータの低価格化と高性能化、Linuxをはじめとする自由に改造できる高機能なプラットフォームにより、Beowulf型の高性能計算機を開発することなど手軽に可能になった。特に、欧米や日本では、コンソーシアム形式の開発グループが生まれ、標準化に向けた議論が行われた時期でもある。

インターネットの普及により、SETI@Home～BOINCといった、インターネットに広く分散した計算ノードを利用する分散コンピューティングが行われるようになった。また、スーパーコンピューターの計算能力をインターネットを通して手軽に利用できることを目標としたグリッド・コンピューティングも発達した。

6.7. 脱ベクトル
----------

シーモア・クレイは超並列スカラ機に否定的で「私が生きている間に彼らが普遍的成功を収めるのは難しいと思う」と述べていたが、突然の自動車事故によってそれが真実になってしまった。また日本で、FACOM 230-75 APUから関与し、NSシステム・地球シミュレータと、世界一のベクトル計算機の計画を牽引した三好甫が2001年に亡くなっている。

日本メーカでは、並列ベクトル機は日立がHITAC S-3800を最後に、富士通がVPPシリーズのVPP5000を最後に、それぞれSRシリーズ、APシリーズおよびPRIMEPOWER HPCシリーズの超並列スカラ型に移行し、日本電気のSXシリーズのみが、スーパーコンピュータ市場に残るベクトル計算機となっている。またCray社では、2003年のCray X1ないしその更新であるCray X1Eが最後のベクトル機となった。

6.8. コンピュートニク
-------------

以上のようにベクトル型から超並列スカラー型への移行が進み、SXのみがベクトル機となっていたが、2002年に運用を開始した地球シミュレータは、その高い性能と、それによる優れた性能対価格比、さらに「時代遅れ」と思われていたベクトル機であることもあいまって、ASCIプロジェクトにショックを与え、スプートニク・ショックになぞらえコンピュートニクとさえ言われた。

これにより、漫然と汎用品のハイエンドのパーツを集め、スーパーコンピューティング用としては力不足の汎用ネットワークでつなぐ、という設計が大幅に見直されることになった。

7. ゼロ年代中盤以降
-----------

200X年代中盤以降のトピックを挙げる。

7.1. 液冷回帰
---------

一般に液冷の欠点と利点は以下のようなものである。

欠点: 部品点数の増加などによる高コスト、最悪の場合として漏洩トラブル等があるという高リスク
利点: 集中的に発生する熱を熱伝導率の高い液体で高速に吸い上げ、それを流体の移動によって高速かつ強制的に移動させ、ラジエタ等といった大型の機器により緩やかに効率よく外部に熱を捨てる、というサイクルのため、熱設計に余裕を持てること21世紀に入ってからは、密閉されている、ヒートパイプ等といった形態ではパーソナルコンピュータでも広く併用されているが、とどまることのない集積度の向上とデナード則の限界による電力性能改善の頭打ちによる発熱密度の過大のために、配管を含む冷却システムとしての液冷も、利用されるようになってきた。京コンピュータや地球シミュレータの3代目システム、SR16000などがその例である。

さらに、周辺回路 の冷却についても液冷が選択されるようになり、かつてのCray-2のようなフロリナート液浸のリバイバルの他、TSUBAME KFCの油漬など、材料についても新しい検討が進められている。効率の点で、蒸発冷却の採用も検討されており、新材料としてはNovecがある。フロリナートもNovecも品番により沸点はさまざまなものが用意されているが、Novec 7000 は沸点が摂氏34度である。一方で蒸発冷却は密閉を必要とするなど扱いが面倒という難点があるため、ZettaScalerではフロリナートでも特に沸点が高いFC-43 を採用して扱い易さを向上させている。

さらに意欲的な試みとしては、大幅に安価な水の利用や、さらには河川や海洋中への設置を可能であれば目標として、洗濯機等の家電や屋外電気機器の防水仕様で行われるような、基板を完全にモールドしてしまうような手法も研究されている。

7.2. GPUとの連携
------------

長崎大学工学部濱田剛らは、2008年にGraphics Processing Unitを用いた際には270〜470GFLOPSを叩き出している。この事により、それまでの汎用CPUを多数用いたスーパーコンピュータ以外の可能性が見出された。それまで、GPUはコンピュータグラフィックスの内、ポリゴンレンダリングを加速するだけの用途と考えられていただけだが、SIMDのベクトルプロセッサ的な用途として用いることが可能となった。

特に200X年以降は、DeepLearningやゲームグラフィックス用途などにおいて行列を用いた計算について、高速計算のニーズが高まってきておりGPUをそれらの計算資源として用いる実装が増えてきている。ただし、2020年に稼動を開始し理化学研究所と富士通が開発した「富岳」においては、GPUとの連携は採用されず、富士通A64FXを用いた、仮想化ベクトル技術が用いられている。これは、専用GPUを開発しているメーカーがNvidiaというメーカーのみに近い状態であることが大きい。

しかしながら、米国の次世代スーパーコンピュータ計画である、アルゴンヌ国立研究所のAuroraでは、インテルのCPUとGPUを統合しエクサスケールのスーパーコンピュータ建造計画となっている。

7.3. 既存CPUの精密化
--------------

ロジックICを構築できるメーカがファブレス化を図った結果として、ファウンドリ側のプロセス細密化競争が進み、2020年現在ベース回路設計において7nmスケールのプロセスが実現している。この事が、CPUの多数コア内蔵を可能にし、同じ床面積で以前の2倍スケールの並列化を可能にしている。確かに、並列化は重要であり、大きな数のCPUを同時並列にすることによって、より大規模なデータ処理が可能になる。しかしながら、ここで大きな問題に遭遇する。それは「並列化のジレンマ」と呼ばれる問題である。並列化に適したアルゴリズムならば、其れ相応の性能が出るが、並列化に適さないアルゴリズムであると、並列計算上の無駄となり、せっかくの大規模並列が無駄になるという問題である。そのため、より性能の高い計算機を作るためには、並列化可能部分は大規模並列化を進め、並列化の効果が薄い計算部分はスカラー計算機の先読み分岐等を駆使したプログラムが行われるようになった。

なお、先読み分岐なども、既存CPUの精密化によって可能になった技術でもある。

7.4. ベクトル回帰
-----------

前述のように残存するベクトル機はNECのSXシリーズのみとなったが、一方でベクトル回帰ともいえる動きもある。

RISC-Vは、HPC向け拡張としてMMXやSSEのような命令セットではなく、ベクトル命令セットを拡張として定義している。RISC-Vの設計者らは既存プロセッサのSIMD拡張の積み重ね、特にIntelのそれを優美でないとみている。

また、富岳のA64FXのSIMD拡張であるSVEも同様に、「Scalable Vector 拡張」という名前が示すようにベクトル長に依存しない命令セットであり、ベクトル計算機の命令セットの特徴を持っている。

8. その他
------

8.1. 現在
-------

これまでのスーパーコンピュータ設計においては、ベクトル型とスカラ型の特徴に基づく実効速度や製造単価における有利 / 不利といった議論が行われた。しかし、コストと性能のバランスを取りつつ、どちらも、半導体プロセス技術の改良及びマイクロプロセッサ技術の開発によって着実に進歩を遂げてきている。現在においては、半導体プロセスは物理学的且つ、電磁気学的限界が視野に入ってきており、シングルプロセッサによる性能向上はほぼ限界を迎えつつある。このため、複数の処理ユニットを有機的に結びつけ、高性能なHPCを仕立て上げる様な技術的課題の克服が求められている。

ただし、シングルユニットにおいても限界に達したわけではなく、これまで続けられてきた高温超伝導による技術開発や、完全に新規となるポストシリコンによる半導体設計や完全に新規の研究開発となる量子コンピュータといった新たなコンピュータ素子による向上の可能性も残る。この部分に関しては、本稿の将来の項や汎用京速計算機に記載した。現在は、その先の技術として「量子コンピュータ」や「バイオコンピュータ」といった技術の成熟化に向けた研究開発が続けられている。なお、これらが将来、本当に製造され、実用に供されることになるのかはわからない。

現時点のソフトウエア技術の限界は、ハードウエア技術によって得られた広大な世界を食いつくしながら進歩しているといっても過言ではない。しかし、プリミティブなチューニングや様々な調整等はこれからも課題であり、今後もハードウエアの進歩によって続くことになる。本稿では、現在における各技術毎のシステム設計状況について説明を行う。

8.2. ハードウェア技術に関して
-----------------

8.2.1. 課題認識について
---------------

現在の課題としては、後に挙げたデバイス群を高集積かつ高密度化することであり、これらが達成されることによって高速なデバイス開発が十分可能である。無論、安定動作のためには、低温で用いる必要があるため、周辺技術も含めたシステム化が必要である。

8.2.2. デバイス技術について
-----------------

ハードウエア技術に関しては、基本的には、EDSAC、UNIVAC、IBM、IILIACやCDCやクレイで設計された方法となんら変わりのないものである。時間をかけて成熟化することによって、データフローアルゴリズムに適したハードウエアが開発できるようになったことも大きな進歩であった。基本的には、CMOS-FETが開発されたことによって、低消費電力が達成されることとなった。さらに、絶縁層の設計を見直すことで電子移動が高速になり、それまで中心であったECLトランジスタといったデバイスを置き換えることが可能になった。電子の高速移動に関しては、江崎ダイオードから始まるトンネル効果ダイオード、HEMT等の高周波デバイスが開発されたことによって将来への進歩が続いている。これらは、高周波デバイスとして宇宙通信を初め、マイクロ波通信、さらには電波天文学の世界ではかなり以前から用いられてきた。

特に、ハードウエア技術の進歩をもたらしたのは、CMOS半導体の絶縁体単膜化であったり、Cuインシュレータ技術、であった。これらによって、低電力かつ高周波数のクロックにも耐えうる半導体プロセス技術が確立された。Cuインシュレータの高純度化によって、半導体内のインダクタンスを一気に低減し、非常に予測のしやすい半導体が構築できるようになったことである。また、微細加工技術によって、半導体のダイ自体をコンパクトにすることが可能になったことも、同期設計技術にとっては朗報であった。2015年4月現在、最先端の試作では10nm以下の世界に達しつつある。今後は、短波長の光源を用いて、さらなる超微細化加工技術が確立されると思われる。

8.2.3. コンピュータアーキテクチャーについて
-------------------------

PEそのものの設計は、クレイらによって設計されたものとあまり変わりはない。プロセッサ間通信の問題は、外部バス化していたものを、内部バス化することによって得られている。ビット数を増やすことによって、帯域を増やし、クロック数を増やすことによってプロセッサ内部の通信量を増やす手法によって、最大の性能を達成している。

PEのトポロジー設計に関しては、様々な考え方があるが、各プロセッサを専用化するのか、汎用的に用いるのかによって、性能差が歴然となる。現在までの研究開発によれば、ソフトウェア・アルゴリズムによって可変的にPEのトポロジーを変更できる仕組みが最大の性能を発揮することは事実である。なぜならば、解くべき問題及び課題をアルゴリズムに分解し、それをPE間のプロセッサ連鎖に置き換えることによって、最大の性能を発揮させることが可能なためである。

PEのトポロジー設計に関しては、最適化設計と呼ばれる方法がある。ヒエラルキー型のトップダウン設計方法と演算アルゴリズムによって可変可能なトポロジーを選択する方法が考えられる。前者はBlue Geneで、後者は最新のGRAPE-DRで使用されている設計方法である。演算アルゴリズムに適した設計方法は、ソフトウエアのアルゴリズムの研究からフィードバックされている。ただし、無限再帰法などのアルゴリズムはPEの設計では難しいため、スタックを使わない計算方法を選択する必要がある。つまり、ハードウエアではLIFO 型ではなくFIFO型の設計となる。この設計方法がパイプライン演算の根幹をなしている。

8.2.4. 近未来技術への足がかりとして
---------------------

ETA-10アーキテクチャーの場合には、MOSFETを液体窒素にて冷却することで高速動作を可能にした点では、正しかった。しかし、液体窒素を冷却する装置を含めたシステム全体が巨大化する点が問題であったと思われる。なぜならば、メンテナンスを含めてコストが非常にかかるシステムになるためである。この教訓を元にすれば、将来の冷却型システムの場合には、熱機関も含めた小型化及びシステム全体の密閉度を向上させる必要があると思われる。

走査型トンネル顕微鏡技術等を活用すれば、1原子レベルで操作可能であり、様々な材料を構築できることは事実である。無論のことであるが、この場合には新しい材料を構築するためには非常に時間がかかる点は事実である。量産可能にするためには、化学的プロセスを活用した結晶成長法の方が遥かに理にかなっている。この両者を組み合わせた技術が今後求められる可能性があるし、現在も研究が進められている。

なお、将来に記載したが、放射光技術に関しては、半導体を構成する上でフォトマスクやレチクルを作成するに当たり重要な技術である。そして、それらを写真工学的に活用することによって、超精密半導体を構成するための基幹技術となる可能性を秘めている。しかし、最良の量産化技術を確立するためには、X線レーザーやガンマ線レーザーを手軽に扱える仕組みを作り出すことであろう。既存の、放射光施設では、量産化を行う工場等で保有することは、非常に困難だろうと推定できるからである。なぜならば、SPring-8では、周囲8Kmにも達し、用地買収等を含めても、数百億円以上の金額がかかるためである。それ以外に、工場の付帯設備まで、導入することになれば、現在最先端の半導体製造工場の、数十倍の投資が必要になり、現実的ではないためだろうと推定できるからである。

なお、放射光技術を用いることが出来るようになったときの、半導体製造技術としては、現在の「フォトマスク」とは違う素材が求められることになる。高速中性子測定等で用いられている、グラファイト結晶や鉛等の素材を用いたフォトマスクやレチクルを作成しないとX線レーザーを用いた超精密半導体の量産化は難しい。なお、X線レーザーを用いた半導体量産化システムでは、人への被曝の問題等があるため、極限作業ロボット等を活用した工場の建設も必要とされるだろうと思う。

短波長であり、かつまた、照射時間の長いレーザーはエネルギー量が大きいという特徴を持つ。現在のところ、電子加速によって生じる放射光を用いるのは、このエネルギー量を維持するためである。その高いエネルギー量を持つ、非常にコヒーレンシーの高いX線やガンマ線によって、分子構造の解明や結晶構造の解明が進んでいる。これを工学的に応用するためには、これからも技術開発が重要である。なぜならば、基礎研究がキチンと確立してから、応用技術開発への筋道が開けるためである。そのためには、多少高額であり、かつまた、難易度の高い技術であっても、産業界と学術研究機関の相互連携によって、裾野を広げる努力がこれからも求められていると思う。

現在のスーパーコンピュータシステムにおいて、システムの冷却方法が水冷型から空冷型に変更がなされているのは、心臓部である「システムモジュール」における漏水や腐食等の問題を解決するためである。スーパーコンピュータシステムは、パソコンなどとちがって、専用の建屋や電算機室などに設置される場合が多い。ゆえに、アクセスフリーや強度の高い場所に設置ができるため、多少の騒音や多少の消費電力では問題がないのである。近年、パソコン等において水冷型や静音型が増えてきているのは、生活の場所、事務処理の場所等で使用されることが多いためである。

以上のような、教訓や課題によって、近未来には更なるコンパクトかつ高性能な計算機が開発され、専用・汎用共に、高度な計算機が出現して、実用に供されることになるはずである。

8.3. ソフトウェア技術に関して
-----------------

8.3.1. 現状について
-------------

現在、主流となっているのは最適化技法と呼ばれる手法である。この手法は、コンパイラとユーザとの間の対話によって、その精度 や最適化密度 を決定していく方法である。この技法のみならず、初期値として最適化を行う方法があり、その技法の使い分けはユーザがどれだけハードウエア内部まで理解しているのかによって異なる。

ソフトウェア技術とは様々なレイヤーによって区分けされている。そして、その領域を経験から一歩ずつ上っていくユーザ層と、ただシステムを使うだけのユーザ層という場合がある。この両者を区分けするものはない、お互いのユーザ層がニーズ「ニーズとは批判・指摘・改善提案等を聞くこと」を相互にフィードバックし合うことによって進歩が続いている。つまり、スーパーコンピュータにおいても、時代の要請や解くべき課題によってソフトウェア技術は変わっていくと予測できる。具体的には、より使いやすく、より対話型の言語へ。そして何より、解くべき課題のデータが重要であり、それらのデータを用いて解析を行うソフトウェア開発にはライブラリやフレームワーク、テンプレート等が必須となる。無論、課題を解くためには、その課題を認識する必要があり、当然その問題意識からデータを蓄積した上でのシミュレーションでなければ、正確な予測は難しい。

課題は、与えられる場合場合と、自ら発見する場合がある。教育プログラム等から明らかなように、与えられるのを経て、自ら発見し、課題を解決するための組織に所属しているのが一般の研究者である。

8.3.2. ライブラリの活用とライブラリを選ぶ理由
--------------------------

この相互の蓄積がソフトウエア技術を生むことになる。なお、ソフトウエア技術の場合には、シンプルなアルゴリズムが最速であるという保証はない。あくまでも、データ構造との間で検討されるべきものである。ゆえに、スーパーコンピュータでは、過去からの継承性によって、FORTRANやCさらにはC++が開発に用いられる。近年、C++の利用が増えているのは、より良いCとしての活用方法であり、新たに加わったオブジェクト指向等に関しては、あくまでもライブラリ構築の際におけるカプセル化や機能モジュールの抽象化を目的にしているためである。

8.4. ネットワーク技術に関して
-----------------

今後のコンピュータネットワーク技術について、断言できるだけの予測は不可能である。既に、地球全体がインターネットで接続される時代になった。しかし、様々な情報が飛び交い、どれが正しくどれが間違っているのかわからない事態に陥りつつある。

この観点から、クローズドネットワークとしての専用ネットワーク、オープンネットワークとしてのインターネットの区分けがきちんとされるようになった。このシステムは、今後も続くことになると思われる。

特に、専用ネットワークはある目的にあわせて設計されるため、非常に高性能かつ高速度になる。つまり、CCITT勧告によるOSI参照モデルのうち、ネットワークトランスポート層と物理層との間でのレイテンシーを解消するために、同期通信技術が用いられることになる。なお、完全同期とするためには、計算機間の計算速度のばらつきを解消する必要がある。このため、スカラ型スーパーコンピュータシステムでは、内部PEを同じプロセッサにする。

時間同期による精度の高い通信システムは、プロセッサ間の同期を正確に保つことになる。これによって、データ列はシステム同期に従って順序良く処理されることになる。

高速度の面においては、短い波長のレーザーを用いることによって、達成されることになる。紫外線レーザーを半導体技術を用いて発振させる技術が確立しつつある。短波長のレーザーをきちんと通信に用いるためには、現在の光ファイバー技術においてより純度の高い素材が必要になる。なお、純度の高い素材はアモルファスとならないため、中央に真空の光路を作成するなどの方法もある。この場合には、光路の周囲を紫外線を反射できる素材でコーティングするなどの必要性がある。このため、コスト的には非常に高価となる。短波長レーザの場合には、真空中において最大の効率を発揮するため、将来衛星間通信等で活用される可能性もある。無論のことであるが、地上においては短波長レーザーに適応したファイバーの開発がおこなわれると思う。今後の課題としては、安定的かつより短い波長のレーザー発振が必要になると思われる。

これらの技術を確立するためには、超微細加工技術が必要であり、かつまた、レーザー設計のシミュレーション技術も同時に求められる。無論のことであるが、より精度の高い微細加工技術を達成するためには、より精度の高い計測技術が不可欠になると思われる。精度の高い計測技術とは、時間計測+短波長レーザーによってもたらされるからである。

スーパーコンピューティング・システム外部においては、グリッド・コンピューティング等によって現在までに既知となっていることであるが、バッチ分散型のシステムとしたシステム間の処理速度毎に集計を取るシステムが採用されることになると考えられる。ただし、ソフトウエア分散処理に関しては、システムリソースの状況を逐次管理し最適なスレッドやジョブを割り当てる仕組みが、今後の課題でもある。

つまり、スーパーコンピューティングネットワークの究極のネットワーク技術とは、内部システムにおいては処理時間の限界への挑戦となり、外部システムにおいてはシステム毎の分散型システムとなる。内部システムにおける処理時間の限界は、既に光速度の限界に近づきつつある。特に、試作段階における同期設計技術においては、その問題が発生し始める領域まで進歩を遂げている。今後の課題としては、量産化技術において、どこまで限界へ近づけるのかであろう。なぜならば、製品としてリリースするためには、有る程度の製造技術に余裕がないと難しいためである。具体的には、55nmの配線ルールを達成するためには、40nm以下の製造技術が求められる。

非同期・同期混在設計とは、このようなシステムの中間型インターフェイス技術として用いられることになる。なぜならば、高速の内部システムと、中速・低速の外部システム間において、バッファリングやラウンドロビン型のジョブ分配システムとして機能することになるからである。

8.5. Note
---------

量子力学的には、単一の原子レベルの挙動のように観測されるが、半導体の素子レベルで観測すれば統計的には古典電磁気学的に振舞うのが、現在の半導体技術である。
1の問題を解決するために生じている技術がポストシリコンや超伝導技術、分子コンピューティング、量子コンピューティング等である。
その先には、将来の課題として掲げておくが、量子干渉効果や量子テレポーテーション、高温超伝導、光格子演算等の実験から新たな量子技術が生まれてくる可能性がある。

8.6. 現状のHPC大規模システムのシステム上の問題点
----------------------------

単独のスーパーコンピュータだけによって処理性能を向上させるだけではなく、専用線ネットワークに接続されたスーパーコンピュータ群を仮想的に一つのコンピュータとして活用できる時代に入りつつある。その際において、以下のような問題点も内包されている。

複数のスーパーコンピュータ  が独自アーキテクチャで構築されたため、ソースコードレベルではコンパチブルだが、実行時の最適化問題及びスレッド動作上の問題が発生しうる点
前項を回避するため同一インタフェース仮想中間言語の開発が必要である点
仮想中間言語に関しては、Javaと同様にインタプリタや仮想機械上の動作となり、オーバヘッドが大きい。そのため、性能劣化につながる矛盾を抱えている。さらに仮想中間言語に関して、システムコールのターンアラウンド時間を同期させ全体として最大の性能を発揮させるようなプリミティブな領域でのチューニングが重要となる。
分散処理を前提としたや共通自動ジョブ操作機能の開発が必要とされている点
自動ジョブ操作に関しては、ViVAに代表されるスカラチップへのデータを流し込む仮想ベクトル化技術も組み込む形で進展すると予測される。
ベクトル型とスカラー型の共存関係の構築。
スカラシステムとベクトルシステムとにおける初期の関係の通り、スカラシステムの良さと、ベクトル型の大規模データを一気に処理できる良さを併せ持ったシステムとして構築するためのインターフェイスの改良