スーパーコンピュータ技術史
なお、放射光技術を用いることが出来るようになったときの、半導体製造技術としては、現在の「フォトマスク」とは違う素材が求められることになる。高速中性子測定等で用いられている、グラファイト結晶や鉛等の素材を用いたフォトマスクやレチクルを作成しないとX線レーザーを用いた超精密半導体の量産化は難しい。なお、X線レーザーを用いた半導体量産化システムでは、人への被曝の問題等があるため、極限作業ロボット等を活用した工場の建設も必要とされるだろうと思う。
短波長であり、かつまた、照射時間の長いレーザーはエネルギー量が大きいという特徴を持つ。現在のところ、電子加速によって生じる放射光を用いるのは、このエネルギー量を維持するためである。その高いエネルギー量を持つ、非常にコヒーレンシーの高いX線やガンマ線によって、分子構造の解明や結晶構造の解明が進んでいる。これを工学的に応用するためには、これからも技術開発が重要である。なぜならば、基礎研究がキチンと確立してから、応用技術開発への筋道が開けるためである。そのためには、多少高額であり、かつまた、難易度の高い技術であっても、産業界と学術研究機関の相互連携によって、裾野を広げる努力がこれからも求められていると思う。
現在のスーパーコンピュータシステムにおいて、システムの冷却方法が水冷型から空冷型に変更がなされているのは、心臓部である「システムモジュール(CPUとメモリ)」における漏水や腐食等の問題を解決するためである。スーパーコンピュータシステムは、パソコンなどとちがって、専用の建屋や電算機室などに設置される場合が多い。ゆえに、アクセスフリーや強度の高い場所に設置ができるため、多少の騒音や多少の消費電力では問題がないのである。近年、パソコン等において水冷型や静音型が増えてきているのは、生活の場所、事務処理の場所等で使用されることが多いためである。
以上のような、教訓や課題によって、近未来には更なるコンパクトかつ高性能な計算機が開発され、専用・汎用共に、高度な計算機が出現して、実用に供されることになるはずである。
現在、主流となっているのは最適化技法と呼ばれる手法である。この手法は、コンパイラとユーザとの間の対話によって、その精度 や最適化密度 を決定していく方法である。この技法のみならず、初期値として最適化を行う方法があり、その技法の使い分けはユーザがどれだけハードウエア内部まで理解しているのかによって異なる。
ソフトウェア技術とは様々なレイヤーによって区分けされている。そして、その領域を経験から一歩ずつ上っていくユーザ層と、ただシステムを使うだけのユーザ層という場合がある。この両者を区分けするものはない、お互いのユーザ層がニーズ(Near Equalデマンド)「ニーズとは批判・指摘・改善提案等を聞くこと」を相互にフィードバックし合うことによって進歩が続いている。つまり、スーパーコンピュータにおいても、時代の要請や解くべき課題によってソフトウェア技術は変わっていくと予測できる。具体的には、より使いやすく、より対話型の言語へ。そして何より、解くべき課題のデータが重要であり、それらのデータを用いて解析を行うソフトウェア開発にはライブラリやフレームワーク、テンプレート等が必須となる。無論、課題を解くためには、その課題を認識する必要があり、当然その問題意識からデータを蓄積した上でのシミュレーションでなければ、正確な予測は難しい。
課題は、与えられる場合(特に、職務上)場合と、自ら発見する場合がある。教育プログラム等から明らかなように、与えられるのを経て、自ら発見し、課題を解決するための組織に所属しているのが一般の研究者である。
この相互の蓄積がソフトウエア技術を生むことになる。なお、ソフトウエア技術の場合には、シンプルなアルゴリズムが最速であるという保証はない。あくまでも、データ構造との間で検討されるべきものである。ゆえに、スーパーコンピュータでは、過去からの継承性によって、FORTRANやCさらにはC++が開発に用いられる。近年、C++の利用が増えているのは、より良いCとしての活用方法であり、新たに加わったオブジェクト指向等に関しては、あくまでもライブラリ構築の際におけるカプセル化や機能モジュールの抽象化を目的にしているためである。
今後のコンピュータネットワーク技術について、断言できるだけの予測は不可能である。既に、地球全体がインターネットで接続される時代になった。しかし、様々な情報が飛び交い、どれが正しくどれが間違っているのかわからない事態に陥りつつある。
この観点から、クローズドネットワークとしての専用ネットワーク、オープンネットワークとしてのインターネットの区分けがきちんとされるようになった。このシステムは、今後も続くことになると思われる。
特に、専用ネットワークはある目的にあわせて設計されるため、非常に高性能かつ高速度になる。つまり、CCITT勧告によるOSI参照モデルのうち、ネットワークトランスポート層と物理層との間でのレイテンシーを解消するために、同期通信技術が用いられることになる。なお、完全同期とするためには、計算機間の計算速度のばらつきを解消する必要がある。このため、スカラ型スーパーコンピュータシステムでは、内部PEを同じプロセッサにする。
時間同期による精度の高い通信システムは、プロセッサ間の同期を正確に保つことになる。これによって、データ列はシステム同期に従って順序良く処理されることになる。
高速度の面においては、短い波長のレーザーを用いることによって、達成されることになる。紫外線レーザーを半導体技術を用いて発振させる技術が確立しつつある。短波長のレーザーをきちんと通信に用いるためには、現在の光ファイバー技術においてより純度の高い素材が必要になる。なお、純度の高い素材はアモルファスとならないため、中央に真空の光路を作成するなどの方法もある。この場合には、光路の周囲を紫外線を反射できる素材(具体的には、純銀等)でコーティングするなどの必要性がある。このため、コスト的には非常に高価となる。短波長レーザの場合には、真空中において最大の効率を発揮するため、将来衛星間通信等で活用される可能性もある。無論のことであるが、地上においては短波長レーザーに適応したファイバーの開発がおこなわれると思う。今後の課題としては、安定的かつより短い波長のレーザー発振が必要になると思われる。
これらの技術を確立するためには、超微細加工技術が必要であり、かつまた、レーザー設計のシミュレーション技術も同時に求められる。無論のことであるが、より精度の高い微細加工技術を達成するためには、より精度の高い計測技術が不可欠になると思われる。精度の高い計測技術とは、時間計測+短波長レーザーによってもたらされるからである。
スーパーコンピューティング・システム外部においては、グリッド・コンピューティング等によって現在までに既知となっていることであるが、バッチ分散型のシステムとしたシステム間の処理速度毎に集計を取るシステムが採用されることになると考えられる。ただし、ソフトウエア分散処理に関しては、システムリソースの状況を逐次管理し最適なスレッドやジョブを割り当てる仕組みが、今後の課題でもある。
つまり、スーパーコンピューティングネットワークの究極のネットワーク技術とは、内部システムにおいては処理時間の限界への挑戦となり、外部システムにおいてはシステム毎の分散型システムとなる。内部システムにおける処理時間の限界は、既に光速度の限界に近づきつつある。特に、試作段階における同期設計技術においては、その問題が発生し始める領域まで進歩を遂げている。今後の課題としては、量産化技術において、どこまで限界へ近づけるのかであろう。なぜならば、製品としてリリースするためには、有る程度の製造技術に余裕がないと難しいためである。具体的には、55nmの配線ルールを達成するためには、40nm以下の製造技術が求められる。
非同期・同期混在設計とは、このようなシステムの中間型インターフェイス技術として用いられることになる。なぜならば、高速の内部システムと、中速・低速の外部システム間において、バッファリングやラウンドロビン型のジョブ分配システムとして機能することになるからである。
量子力学的には、単一の原子レベルの挙動のように観測されるが、半導体の素子レベルで観測すれば統計的には古典電磁気学的に振舞うのが、現在の半導体技術である。
1の問題を解決するために生じている技術がポストシリコンや超伝導技術、分子コンピューティング、量子コンピューティング等である。
その先には、将来の課題として掲げておくが、量子干渉効果や量子テレポーテーション、高温超伝導、光格子演算等の実験から新たな量子技術が生まれてくる可能性がある。
単独のスーパーコンピュータだけによって処理性能を向上させるだけではなく、専用線ネットワークに接続されたスーパーコンピュータ群を仮想的に一つのコンピュータとして活用できる時代に入りつつある。その際において、以下のような問題点も内包されている。
複数のスーパーコンピュータ (HPC) が独自アーキテクチャで構築されたため、ソースコードレベルではコンパチブルだが、実行時の最適化問題及びスレッド動作上の問題が発生しうる点
仮想中間言語に関しては、Javaと同様にインタプリタや仮想機械上の動作となり、オーバヘッドが大きい。そのため、性能劣化につながる矛盾を抱えている。さらに仮想中間言語に関して、システムコールのターンアラウンド時間を同期させ全体として最大の性能を発揮させるようなプリミティブな領域でのチューニングが重要となる。
自動ジョブ操作に関しては、ViVAに代表されるスカラチップへのデータを流し込む仮想ベクトル化技術も組み込む形で進展すると予測される。
ベクトル型とスカラー型の共存関係の構築。
スカラシステム(グリッドシステムに代表される)とベクトルシステム(地球シミュレータに代表される)とにおける初期の関係の通り、スカラシステムの良さ(大規模データベースを効率良く扱う)と、ベクトル型の大規模データを一気に処理できる良さを併せ持ったシステムとして構築するためのインターフェイスの改良。
単一スーパーコンピュータ (HPC) システムの巨大化
等がある。
これらの問題点の解決策として、個々の大型HPCを並列的に接続し、分散クラスターとして扱う研究や投資も行われている。例えば、高速ネットワークによるデータ処理の並列化を目標に、情報基盤としての専用線ネットワークを構築し、Super SINET「所管:国立情報学研究所」、SuperSCiNet「所管:国立天文台」等のGigabit以上のバンド幅を持つネットワークが稼動中である。さらにクラスター基盤としてのGlobusやSCoreの各プロジェクトにて実装仕様策定中であり、これらが全て実現すればHPC間での分散処理可能な仕組みを構築する事ができる。
システムをトータルで見たとき、システム最大性能を発揮させるにはシステムチューニングが重要である。
ハードウエア・チューニングにおいては、データフロー型の設計が将来的に復活し、データオリエンテッドな設計がシステムを構築する上で重要な課題である。これは既に1970年代に提唱された手法であるが、データフロー型ハードウエア技術が成熟を遂げたのは1980年代である。しかし、多目的なソフトウエア開発が行われなかったことによって、一時期のブームに終わってしまった(なお、画像処理プロセッサ(グラフィックボード)等の専用プロセッサとして、そのアーキテクチャーは継承された)。
一方、ソフトウエア手法においては、データ主導型の設計が主流を占めたのは1990年代に入ってであり、ハードウェアのデータフロー型設計に準じた構造をなすには、資料の蓄積、技術の蓄積(成熟化)が必要であった。
これからの10年においては、システム構築に際しては、大規模データ処理技術としてのデータ駆動型の設計及び、計算主導型の設計として、PE(Processor Element)のトポロジー設計が重要になると思われる。これは、現在主流のスカラ型システム及びベクトル型システムの根幹をなす技術であり、データドリブンの設計方法がハードウエア及びソフトウエア全体に及ぼすと予測されるためである。
具体化してみよう。現在のコンパイラは、CPUの性能に甘えることによって、それなりの性能を出している。コンパイルソースからコンパイラを経て、機械語を生成するにあたり、機械語が増えることを冗長化率と呼ぶ。この冗長化率を最小にすることを、最適化と呼ぶ。最小化するためには、CPUの機械語を理解し、最小のプログラムを持って、必要とされるデータを処理するようにすることである。これが、制御等の分野におけるプログラミングの手法であり、工場の機械設備、自動車や飛行機のエンジンを初め、自動販売機、さらにはパチンコやスロット、ポケットゲーム機、携帯電話等のシステム及びプログラムの根幹をなしている。
なぜならば、内部バスの接続はパラレルで行われている。それに対して、外部バスはシリアルである。なお、2次記憶用途などではシリアルでも可能な場合がある。なぜならば、レジスタメモリとメモリ(一般的なRAMのこと)間の通信が最大になるように設計されているのが、現在のCPUであるため。レジスタとメモリの間すら差が大きくなったため、マイクロプロセッサでは1次キャッシュメモリ、2次キャッシュメモリなどが搭載されるようになったのである。
スーパーコンピュータ技術全体から将来を俯瞰すると、これまで培ってきたベクトル型技術とスカラ型技術の双方の技術の両立が求められている。相互に発展してきた技術は、半導体から光技術へ、さらには量子技術へと進歩していくことになろう。量子技術に関しては、これからの研究開発者にとっては格好の課題であり挑戦となるであろう。放射光技術(Spring-8)、カーボンナノチューブ、フラーレン、高温超伝導、さらにはホログラム演算、量子コンピュータ等に関しても研究開発を進めていかなければならない。これらが技術的に確立されることが将来の産業化へと繋がるであろう。特に、基礎研究分野がしっかりと確立されること、そしてそこから派生する技術、さらに将来の産業化への布石となることが重要である。
また、ハードウエアに革命的な発展が仮に起きたとすると、ソフトウエアもそれに追随するために大きな変化が必要となる。
たとえば、現時点で量子計算機により解決可能な問題はShorの因数分解やGroverの検索、あるいは最適化問題など限られた範囲であり、量子現象による汎用コンピュータとそのプログラミングは大きな課題である。同様に光技術についても、光インターコネクトと直結で計算処理ができることなど魅力は大きいが、やはり光計算による汎用コンピュータとそのプログラミングは大きな課題である。
その先の時代にあっては、汎用技術中心に研究開発が行われるスーパーコンピュータとNLSとして開発されると特定目的の超高性能型スーパーコンピュータに別れていくだろう。しかしながら、超高性能型スーパーコンピュータが開発される事によって、その技術的恩恵を受けることが出来るという事実も認識して欲しい。
個人ニーズでスーパーコンピュータを開発するというのは、どだい無理な話である。しかしながら、現実問題として、小さなスーパーコンピュータを自分自身でも開発できるようになった時代へと突入した事実も事実である。つまり今後も、ある特定領域の計算課題を解決するために、必要とされる計算機を開発するということはありえるし、否定はしない。実際に、ハードウエアが存在し、そこに特定の計算課題を処理するためのソフトウエアは、特定領域の問題に際しては、オープンソースの世界でも、ウィンドウズやマッキントッシュの世界でも行われている。
既存の半導体技術を用いた設計方法は、量子コンピュータデバイス群である、ポストシリコン(カーボンナノチューブトランジスタやナノシリコントランジスタ)や高温超伝導素子によって得られることになるだろう。なぜならば、素子の振る舞いが既存のトランジスタ群と同じために扱いやすいという特徴を持つためである。(※)
完全な量子技術の場合には、解くべき課題によって特化された専用コンピュータとして出現する可能性が大きい。なぜならば、量子重ねあいの場合には、確率変数を取り扱わなければならない問題を抱えているためである。シミュレーション領域においては、確率変数を取り扱うことによってある程度の予測可能性が得られる。
1と2の考察の結果から明らかなように、当面は既存の半導体を置き換えるための量子技術が中心である。しかし、大容量のメモリーを取り扱ったり、多層記憶を可能にするための技術として量子技術が進展すると予測できる。
今後1ビットをON、OFFで構成されたスイッチングCPUから1ビットを周波数データとして扱うようなCPUが可能になり、このようなCPUになってくると、内部では電気信号を使用しないため、ビット単位で処理を平行して行なうことができ、1サイクルで大量のフィルタプログラムの起動が可能で、画像処理などさらなる高速化が望める。またかなりの小型化も可能であるため、手のひらサイズのスーパーコンピュータも可能になると予測できる。
現在のフラグシップ技術の一つである、バイオメディカルコンピュータについて。この計算機群は、ヒューマンサポートのために開発されることになるであろう。なぜならば、様々な諸事情によって後天的に生じた障害を克服し、社会復帰を行うため。さらには、先天的な障害に関しては、記憶操作等の可能性があるため倫理的かつ同義的課題を含むため、将来生命倫理の観点から議論がなされるべきである。バイオメディカル型の場合には、人に優しい技術を目指すことが重要であり、非同期・同期設計も含めて、処理速度の遅い人間と処理速度の速いシステムとの仲立ちをするシステムとして構築されることが理想であるし、でなければならない。
つまり、バイオチップ型コンピュータとは、人の記憶や感情を操作するのではなく、人間が人間らしい生き方をするために生まれるコンピュータであるといっても過言ではない。なぜならば、人間の脳ほど高性能なコンピュータはない。多様な言語を操り、多様な感情表現ができ、一兆にも及ぶ細胞群を上手にコントロールして人が人らしく、この世界に存在するためである。
なお、その他を記載したのは、この流れを一時期のものに終わらせず、日本においては「脳の世紀」、アメリカにおいては、Dedicate of Brain(脳科学の10年計画)と呼ばれた時代を総括するためである。