コンテンツにスキップ

「スーパーコンピュータ技術史」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
m Botによる: Bot作業依頼 {{Cite web}}の deadurldate 引数を deadlinkdate 引数に変更
Cewbot (会話 | 投稿記録)
228行目: 228行目:
*複数のスーパーコンピュータ (HPC) が独自アーキテクチャで構築されたため、[[ソースコード]]レベルではコンパチブルだが、実行時の最適化問題及び[[スレッド]]動作上の問題が発生しうる点<ref>解決方法としては、システムライブラリ側で吸収するなどの方法がある。実際に、[[Mach]]や[[Linux]]では、この問題を解決するためにシステムライブラリの最適化を行っている。また、スレッドの問題は巨大化した[[カーネル]]を極小化するなどの方法によって解決が可能である。</ref>
*複数のスーパーコンピュータ (HPC) が独自アーキテクチャで構築されたため、[[ソースコード]]レベルではコンパチブルだが、実行時の最適化問題及び[[スレッド]]動作上の問題が発生しうる点<ref>解決方法としては、システムライブラリ側で吸収するなどの方法がある。実際に、[[Mach]]や[[Linux]]では、この問題を解決するためにシステムライブラリの最適化を行っている。また、スレッドの問題は巨大化した[[カーネル]]を極小化するなどの方法によって解決が可能である。</ref>
*前項を回避するため同一[[インタフェース (情報技術)|インタフェース]]仮想中間言語の開発が必要である点
*前項を回避するため同一[[インタフェース (情報技術)|インタフェース]]仮想中間言語の開発が必要である点
**仮想中間言語に関しては、[[Java]]と同様に[[インタプリタ]]や[[仮想機械]]上の動作となり、オーバヘッドが大きい<ref>この問題を解決するためには、[[仮想機械]]の最適化を行うことである。最適化における有名な例では、[[アップル (企業)|アップル]]の[[Macintosh]][[パーソナルコンピュータ]]の初期におけるツールボックスがあげられる。コンパイラの出力を、ハンドアセンブルしなおすことで、ソースコードを極小化する最適化が行われた。</ref>。そのため、性能劣化につながる矛盾を抱えている。さらに仮想中間言語に関して、[[システムコール]]のターンアラウンド時間を同期させ全体として最大の性能を発揮させるようなプリミティブな領域でのチューニングが重要となる。
**仮想中間言語に関しては、[[Java]]と同様に[[インタプリタ]]や[[仮想機械]]上の動作となり、オーバヘッドが大きい<ref>この問題を解決するためには、[[仮想機械]]の最適化を行うことである。最適化における有名な例では、[[Apple]]の[[Macintosh]][[パーソナルコンピュータ]]の初期におけるツールボックスがあげられる。コンパイラの出力を、ハンドアセンブルしなおすことで、ソースコードを極小化する最適化が行われた。</ref>。そのため、性能劣化につながる矛盾を抱えている。さらに仮想中間言語に関して、[[システムコール]]のターンアラウンド時間を同期させ全体として最大の性能を発揮させるようなプリミティブな領域でのチューニングが重要となる。
*分散処理を前提としたや共通自動ジョブ操作機能の開発が必要とされている点
*分散処理を前提としたや共通自動ジョブ操作機能の開発が必要とされている点
**自動ジョブ操作に関しては、ViVAに代表されるスカラチップへのデータを流し込む仮想ベクトル化技術も組み込む形で進展すると予測される<ref>自動ジョブ操作機能に関しては、窓口サーバの自動配分機能が重要である。それぞれのHPCが持つリソース(現在のリソースの状況)を上手に管理することで、最適化したコードを割り振る仕組みを構築できれば可能である。</ref>。
**自動ジョブ操作に関しては、ViVAに代表されるスカラチップへのデータを流し込む仮想ベクトル化技術も組み込む形で進展すると予測される<ref>自動ジョブ操作機能に関しては、窓口サーバの自動配分機能が重要である。それぞれのHPCが持つリソース(現在のリソースの状況)を上手に管理することで、最適化したコードを割り振る仕組みを構築できれば可能である。</ref>。

2021年5月20日 (木) 11:27時点における版

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

コンピュータ誕生以前

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

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

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

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

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

中国や日本では独特の数学(日本のものを和算と言う)が発達し、算木算盤(「そろばん」ではなく「さんばん」)という器具が生まれ、天元術といった計算術が生まれた。

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

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

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

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

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

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

コンピュータ黎明期

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

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

CDC 6600 1964年 最初のスーパーコンピュータとみなされている

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

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

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

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

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

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

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

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

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

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

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

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

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

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

である。

ソフトウエアの進歩

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

並列化

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

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

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

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

CMOS化

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

その他の素子テクノロジ

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

ベクトル型以外の発展

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

PACS

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

専用計算機

(存在自体はもっと前からあったものだが)1990年代前後から、専用計算機の開発も盛んとなった。日本ではFXGRAPEが知られている。

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

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

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

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

GPGPU

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

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

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

脱ベクトル

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

日本メーカでは、並列ベクトル機は日立がHITAC S-3800(1992年)を最後に、富士通がVPPシリーズのVPP5000(1999年)を最後に、それぞれSRシリーズ(SR2001 1994年~、SR2201 1996年、ただしSRシリーズはCP-PACSで開発された擬似ベクトル機能により、従来のベクトル機のプログラムを高速実行する機能を持っている)、APシリーズ(AP1000 1992年~)およびPRIMEPOWER HPCシリーズ(PRIMEPOWER HPC2500 2002年~、自動並列化コンパイラなど、VPP5000を代替する旗艦シリーズとしてのスカラ機はこのシリーズから)の超並列スカラ型に移行し、日本電気のSXシリーズのみが、スーパーコンピュータ市場に残るベクトル計算機となっている(日本電気は80年代後半から90年代後半にかけて、Cenjuという並列計算機も作っているが、その後はベクトルに絞っている)。またCray社では、2003年のCray X1(en:Cray X1)ないしその更新であるCray X1E(2005年)が最後のベクトル機となった[10]

コンピュートニク

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

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

ゼロ年代中盤以降

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

液冷回帰

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

  • 欠点: 部品点数の増加などによる高コスト、最悪の場合として漏洩トラブル等があるという高リスク
  • 利点: 集中的に発生する熱を熱伝導率の高い液体で高速に吸い上げ、それを流体の移動によって高速かつ強制的に移動させ、ラジエタ等といった大型の機器により緩やかに効率よく外部に熱を捨てる、というサイクルのため、熱設計に余裕を持てること

21世紀に入ってからは、密閉されている、ヒートパイプ等といった形態ではパーソナルコンピュータでも広く併用されているが、とどまることのない集積度の向上とデナード則の限界(ムーアの法則の限界)による電力性能改善の頭打ちによる発熱密度の過大のために、配管を含む冷却システムとしての液冷も、利用されるようになってきた。京コンピュータ(富士通)や地球シミュレータの3代目システム(日本電気)、SR16000(モデルM1、日立)などがその例である。

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

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

GPUとの連携

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

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

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

既存CPUの精密化

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

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

その他

現在

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

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

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

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

課題認識について

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

デバイス技術について

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

現状について

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Note

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

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

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

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

等がある。

これらの問題点の解決策として、個々の大型HPCを並列的に接続し、分散クラスターとして扱う研究や投資も行われている。例えば、高速ネットワークによるデータ処理の並列化を目標に、情報基盤としての専用線ネットワークを構築し、Super SINET「所管:国立情報学研究所」、SuperSCiNet「所管:国立天文台」等のGigabit以上のバンド幅を持つネットワークが稼動中である。さらにクラスター基盤としてのGlobusSCoreの各プロジェクトにて実装仕様策定中であり、これらが全て実現すればHPC間での分散処理可能な仕組みを構築する事ができる。

システムをトータルで見たとき、システム最大性能を発揮させるにはシステムチューニングが重要である。

ハードウエア・チューニングにおいては、データフロー型の設計が将来的に復活し、データオリエンテッドな設計がシステムを構築する上で重要な課題である。これは既に1970年代に提唱された手法であるが、データフロー型ハードウエア技術が成熟を遂げたのは1980年代である。しかし、多目的なソフトウエア開発が行われなかったことによって、一時期のブームに終わってしまった(なお、画像処理プロセッサグラフィックボード)等の専用プロセッサとして、そのアーキテクチャーは継承された)。

一方、ソフトウエア手法においては、データ主導型の設計が主流を占めたのは1990年代に入ってであり、ハードウェアのデータフロー型設計に準じた構造をなすには、資料の蓄積、技術の蓄積(成熟化)が必要であった。 これからの10年においては、システム構築に際しては、大規模データ処理技術としてのデータ駆動型の設計及び、計算主導型の設計として、PE(Processor Element)のトポロジー設計が重要になると思われる。これは、現在主流のスカラ型システム及びベクトル型システムの根幹をなす技術であり、データドリブンの設計方法がハードウエア及びソフトウエア全体に及ぼすと予測されるためである。

詳細について

具体化してみよう。現在のコンパイラは、CPUの性能に甘えることによって、それなりの性能を出している。コンパイルソースからコンパイラを経て、機械語を生成するにあたり、機械語が増えることを冗長化率と呼ぶ。この冗長化率を最小にすることを、最適化と呼ぶ。最小化するためには、CPUの機械語を理解し、最小のプログラムを持って、必要とされるデータを処理するようにすることである。これが、制御等の分野におけるプログラミングの手法であり、工場の機械設備、自動車や飛行機のエンジンを初め、自動販売機、さらにはパチンコやスロット、ポケットゲーム機、携帯電話等のシステム及びプログラムの根幹をなしている。

なぜならば、内部バスの接続はパラレルで行われている。それに対して、外部バスはシリアルである。なお、2次記憶用途などではシリアルでも可能な場合がある。なぜならば、レジスタメモリとメモリ(一般的なRAMのこと)間の通信が最大になるように設計されているのが、現在のCPUであるため。レジスタとメモリの間すら差が大きくなったため、マイクロプロセッサでは1次キャッシュメモリ、2次キャッシュメモリなどが搭載されるようになったのである。

将来

スーパーコンピュータ技術全体から将来を俯瞰すると、これまで培ってきたベクトル型技術とスカラ型技術の双方の技術の両立が求められている。相互に発展してきた技術は、半導体から光技術へ、さらには量子技術へと進歩していくことになろう。量子技術に関しては、これからの研究開発者にとっては格好の課題であり挑戦となるであろう。放射光技術(Spring-8)、カーボンナノチューブフラーレン高温超伝導、さらにはホログラム演算、量子コンピュータ等に関しても研究開発を進めていかなければならない。これらが技術的に確立されることが将来の産業化へと繋がるであろう。特に、基礎研究分野がしっかりと確立されること、そしてそこから派生する技術、さらに将来の産業化への布石となることが重要である。

また、ハードウエアに革命的な発展が仮に起きたとすると、ソフトウエアもそれに追随するために大きな変化が必要となる。

たとえば、現時点で量子計算機により解決可能な問題はShorの因数分解やGroverの検索、あるいは最適化問題など限られた範囲であり、量子現象による汎用コンピュータとそのプログラミングは大きな課題である。同様に光技術についても、光インターコネクトと直結で計算処理ができることなど魅力は大きいが、やはり光計算による汎用コンピュータとそのプログラミングは大きな課題である。

その先の時代にあっては、汎用技術中心に研究開発が行われるスーパーコンピュータとNLSとして開発されると特定目的の超高性能型スーパーコンピュータに別れていくだろう。しかしながら、超高性能型スーパーコンピュータが開発される事によって、その技術的恩恵を受けることが出来るという事実も認識して欲しい。

個人ニーズでスーパーコンピュータを開発するというのは、どだい無理な話である。しかしながら、現実問題として、小さなスーパーコンピュータを自分自身でも開発できるようになった時代へと突入した事実も事実である。つまり今後も、ある特定領域の計算課題を解決するために、必要とされる計算機を開発するということはありえるし、否定はしない。実際に、ハードウエアが存在し、そこに特定の計算課題を処理するためのソフトウエアは、特定領域の問題に際しては、オープンソースの世界でも、ウィンドウズやマッキントッシュの世界でも行われている。

付記

  1. 既存の半導体技術を用いた設計方法は、量子コンピュータデバイス群である、ポストシリコンカーボンナノチューブトランジスタやナノシリコントランジスタ)や高温超伝導素子によって得られることになるだろう。なぜならば、素子の振る舞いが既存のトランジスタ群と同じために扱いやすいという特徴を持つためである。(※)
  2. 完全な量子技術の場合には、解くべき課題によって特化された専用コンピュータとして出現する可能性が大きい。なぜならば、量子重ねあいの場合には、確率変数を取り扱わなければならない問題を抱えているためである。シミュレーション領域においては、確率変数を取り扱うことによってある程度の予測可能性が得られる。
  3. 1と2の考察の結果から明らかなように、当面は既存の半導体を置き換えるための量子技術が中心である。しかし、大容量のメモリー[要曖昧さ回避]を取り扱ったり、多層記憶を可能にするための技術として量子技術が進展すると予測できる。

別記 今後1ビットをON、OFFで構成されたスイッチングCPUから1ビットを周波数データとして扱うようなCPUが可能になり、このようなCPUになってくると、内部では電気信号を使用しないため、ビット単位で処理を平行して行なうことができ、1サイクルで大量のフィルタプログラムの起動が可能で、画像処理などさらなる高速化が望める。またかなりの小型化も可能であるため、手のひらサイズのスーパーコンピュータも可能になると予測できる。

バイオコンピューティング

現在のフラグシップ技術の一つである、バイオメディカルコンピュータについて。この計算機群は、ヒューマンサポートのために開発されることになるであろう。なぜならば、様々な諸事情によって後天的に生じた障害を克服し、社会復帰を行うため。さらには、先天的な障害に関しては、記憶操作等の可能性があるため倫理的かつ同義的課題を含むため、将来生命倫理の観点から議論がなされるべきである。バイオメディカル型の場合には、人に優しい技術を目指すことが重要であり、非同期・同期設計も含めて、処理速度の遅い人間と処理速度の速いシステムとの仲立ちをするシステムとして構築されることが理想であるし、でなければならない。

つまり、バイオチップ型コンピュータとは、人の記憶や感情を操作するのではなく、人間が人間らしい生き方をするために生まれるコンピュータであるといっても過言ではない。なぜならば、人間の脳ほど高性能なコンピュータはない。多様な言語を操り、多様な感情表現ができ、一兆にも及ぶ細胞群を上手にコントロールして人が人らしく、この世界に存在するためである。

なお、その他を記載したのは、この流れを一時期のものに終わらせず、日本においては「脳の世紀」、アメリカにおいては、Dedicate of Brain(脳科学の10年計画)と呼ばれた時代を総括するためである。

歴史上のスーパーコンピュータの一覧

技術史の観点から重要と思われるスーパーコンピュータや、その源流となったコンピュータを示す。

一部には最大構成での性能である。また、機種名の後ろの「/4」などは、PE(プロセッサ・エレメント)の数を表す。(ただしNEC SX-3/44Rはベクトルパイプライン44本、研究用途、を表している)

歴史上のスーパーコンピュータの一覧
日付 ベンダ&名称 実効性能 プロセッサ 技術的注目点 設置場所
1941年 Zuse Z3 1.4FLOPS 独自開発(リレーによる計算機) 浮動小数点専用機。 ドイツ航空研究所(現:ドイツ航空宇宙センター),ベルリン,ドイツ
1941年 ABC 30OPS 独自開発 真空管計算機。連立方程式専用計算機。 アイオワ州立大学,アイオワ,アメリカ
1944年 Colossus 5kOPS 独自開発 暗号解読専用計算機。第二次世界大戦時ナチスの用いていた暗号を解読するために、数学者によって考案され、多くの技術者を国家動員することによって生まれた計算機。 ブレッチレイ・パーク,イングランド,イギリス
1946年 ENIAC 50 kOPS 独自開発 真空管とパッチボードプログラムによる、電子計算機。 ペンシルベニア大学,ペンシルベニア,アメリカ
1953年 Strela英語版 独自開発 軍事と経済計画向けを指向した計算機[22]。ベクトル、パイプラインと、今日のスパコンの条件を満たす。 Kalmykov計算機工場,モスクワ,ソビエト連邦
1960年 UNIVAC LARC 独自開発 科学技術計算向けを指向した計算機。当時世界最高速。 ローレンスリバモア国立研究所,カリフォルニア,アメリカ
1961年 IBM 7030(STRETCH) 1.2 MIPS 独自開発(ディスクリートトランジスター) IBMによる初のスーパーコンピュータ。当初4MIPSの性能を予定していたがそれを達成できなかったため、ごく少数しか製作されなかった。この後IBMは汎用設計機のハイエンドモデルとしてSystem/360モデル95や続くSystem/370で高性能機を作っている。 ロスアラモス国立研究所,ニューメキシコ,アメリカ
1964年 CDC 6600 3 MFLOPS 独自開発(ディスクリートトランジスター) 浮動小数点演算専用機として開発された。 ローレンスリバモア国立研究所,カリフォルニア,アメリカ
1969年 CDC 7600 36 MFLOPS 独自開発(ディスクリートトランジスター) パイプライン演算機構が初めて搭載された計算機。
1974年 CDC STAR-100 100 MFLOPS 独自開発(TTL型) STARの場合には、それまでの3倍の性能を出すために、内部バスの配線がスター(星)状になっていることに由来する。
1975年 イリノイ大学バロース ILLIAC IV 150 MFLOPS 独自開発(ECL型) 大規模スカラ計算機の元祖ともいえる計算機。 アメリカ航空宇宙局 アーメスリサーチセンタ、カリフォルニア、アメリカ
1976年 Cray-1 250 MFLOPS 独自開発(ECL型) 初めて、ベクトルレジスターを採用した計算機。ハードウエアによる、パイプライン演算機能は、初期モデルでは省略された。よって、初期のCray-1では、ソフトウエアパイプラインという、アセンブリ言語にて擬似パイプラインを実現する必要があった。 ロスアラモス国立研究所,ニューメキシコ,アメリカ
1981年 CDC Cyber 205 400 MFLOPS 独自開発(ECL型) Cyberシリーズは、ベクトルレジスターと同時に、ハードウエア・パイプライン演算機能を搭載していた。FORTRANでもきちんとベクトル最適化が出来る設計になっていたのだが、OSにてタイムシェアリングを提供できなかったため、数台が製造されるに終わった。
1982年 FACOM VP-100 250 MFLOPS 独自開発(ECL型) 国産では最初にベクトルレジスターを採用した計算機。VP-200シリーズ、VP-400シリーズは、名古屋大学京都大学計算流体力学研究所等に納入された。また、この後廉価版のVP-10シリーズなども発表され、大手企業を中心に導入され、国内のベストセラー機になったこともあるようである。 富士通,沼津工場,日本
HITAC S-810 630 MFLOPS 独自開発(ECL型) 大規模ベクトル計算機として開発された計算機であり、メモリー量もGBを超えて搭載できたモデル。最初のモデルは、東京大学に納入された。東京大学大型計算機センターでは、当時の円周率計算速度及び精度の世界記録を塗り替える成果を上げた。 日立製作所,海老名工場,日本
1983年 Cray X-MP/4 941 MFLOPS 独自開発 ベクトルレジスターを複数搭載した計算機。CRAY-1やCRAY-2は、シングルベクトルレジスターで性能を上げるための専用機であったが、X-MPシリーズでは、ベクトルレジスターをコンパクト化して、複数搭載しタイムシェアリングできるようになった機種。UNIX系のOSが採用された機種としても有名。 ロスアラモス国立研究所; ローレンスリバモア国立研究所; バテル記念研究所; ボーイング
NEC SX-1,SX-2 1.2 GFLOPS 独自開発(ECL型) クラスターノードによる接続が可能なベクトル型計算機。クラスターノードとは、地球シミュレータまで続いているが、大型のクロスバー交換機と見れば分かりやすい。各プロセッサを専用の通信ノードにて接続し、計算ジョブやデータを各計算ノード毎に割り振る仕組みのことである。 日本電気, 府中工場,東京
1984年 M-13ドイツ語版 2.4 GFLOPS 独自開発(TTL型?) ベクトルレジスターを採用した計算機。一説には、最初の専用機はCray-1のコピーとも言われている。しかし、旧共産圏の国々では集団型プロジェクトマネジメントによって、仮説から理論への実践が行われており。かつまた、高い教育水準によって多くの優秀なエンジニアがいたため十分に可能であったと思う。例をあげておけば、核融合トカマク型)、原子核物理学シンクロトロン)、ロケット開発や航空機開発等において著名な研究者並びに成果を上げている。 モスクワ物理学・技術研究所 コンピュータ部門,モスクワ,ソビエト
1985年 Cray-2/8 3.9 GFLOPS 独自開発 冷却方式をそれまでの空冷から、フロン冷却に変えた計算機。同時に、ベクトルレジスターの容量の拡大が行われ、パイプライン演算機構も、加算及び乗算に加えて、除算及び減算も組み込まれたことによって、シングルプロセッサの能力でもCray-1の数倍の性能に達している機種。この計算機上で、商用の多くの数値解析ソフトウエア及び可視化ツールが開発されたため、自動車メーカや航空機メーカの多くが採用した機種でもある。 ローレンスリバモア国立研究所,カリフォルニア,アメリカ
1989年 ETA10-G/8 10.3 GFLOPS 独自開発(FET 冷却方式として、液体窒素を用いた計算機。CMOS-FETを最初に採用。実効性能が高かったが、メンテナンス面やソフトウエア開発面での不備によって数少ない生産が行われた機種。一部の構成は、東京工業大学に納入されて、研究に用いられた。 フロリダ大,フロリダ,アメリカ
1989年 アンリツ QCDPAX英語版 14 GFLOPS マイクロプロセッサ(MC68020)・DSP(L64133) マイクロプロセッサを大規模並列に搭載した計算機。当時、コンピュータグラフィックス用に開発されたマイクロプロセッサの並列機(東洋リンクスのLinks)などもあり、マイクロプロセッサによる技術的可能性の追求が行われた記念するべきモデル。当時、英国のInmos社では、Transputerと呼ばれるマイクロプロセッサの並列機が発表されており、技術の同時発生が見て取れる。 筑波大学,筑波,日本
1990年 NEC SX-3/44R 23.2 GFLOPS 独自開発 ECL技術による限界となったベクトル型計算機。この機種が原型となって、地球シミュレータ開発が行われることになった。主に、ECLバイポーラ型のトランジスタから、低電圧MOS-FETへの置き換え等が実施された。 日本電気 , 府中NEC6号館, 日本
1993年 シンキングマシンズ CM-5/1024 65.5 GFLOPS マイクロプロセッサ(SPARC データフロー型の計算機であり、かつまた、PEとしてマイクロプロセッサを採用した計算機。この機種以前の、CM-1が1ビットプロセッサ(ASICによって実現された、人工知能計算機)の超大規模並列機であったのに対して、本機ではマイクロプロセッサに変えた点が違いである。なお、源流は1950年代初頭の人工知能研究から始まる。なお、小規模構成のCM-5は、映画「ジュラシックパーク」にも出演している。 ロスアラモス国立研究所; 国家安全保障局,アメリカ
富士通 数値風洞システム(NWT) 124.50 GFLOPS マイクロプロセッサ(Ultra SPARC) PEとして、マイクロプロセッサを採用し、ナビエ-ストークス方程式を効率良く計算できるフレームワークを搭載した計算機(ここにおける、フレームワークとは、OS+コンパイラ+ライブラリ群を統合した開発環境のことである。例を挙げておけば、Smalltalkなどもフレームワークに該当する)。日本で実用化された、分散型の商用スーパーコンピュータ(ここでの定義は、倍精度浮動小数点演算が可能な機種)としては、最初の機種にあたる。この経験を生かして、VPPシリーズへと進歩を遂げたと思う。 航空宇宙技術研究所(現:宇宙航空研究開発機構), 府中市, 日本
インテル Paragon XP/S 140 143.40 GFLOPS マイクロプロセッサ(Intel i860 マイクロプロセッサの大規模並列機。 サンディア国立研究所, ニューメキシコ,アメリカ
1994年 富士通 数値風洞システム(NWT) 170.40 GFLOPS マイクロプロセッサ(Ultra SPARC) NSシステムのプロセッサを強化(増や)した計算機 航空宇宙技術研究所 (現:宇宙航空研究開発機構), 東京, 日本
1996年 日立 CP-PACS/2048 368.2 GFLOPS マイクロプロセッサ(独自拡張PA-RISC 超並列計算機。超並列型とは、数値風洞システム等でも行われているが、スカラプロセッサ群からなるノードを一つの大きなプロセッサと見立てて、アルゴリズムを分解し、ノード間通信を行いながら演算処理を行う計算機のこと。GRAPEとの違いは、GRAPEが計算ノードを専用化しているのに対して、超並列計算機では汎用プロセッサを用いる点である。 筑波大学, つくば市, 日本
1996年 日立 SR2201/1024 220.4 GFLOPS マイクロプロセッサ(独自拡張PA-RISC) CP-PACSの技術をベースに商用化を行った超並列計算機。 東京大学, 東京,日本
1997年 インテル ASCI Red/9152 1.338 TFLOPS マイクロプロセッサ(Pentium Pro) ASCIとは、Redブック、Greenブック、Blueブックに基づく計算機の設計ガイドラインに基づく計算機(DARPAによって制定)。この機種は、Xeonを最初に採用した超並列機である。OSは、Intel社のUNIXを採用していた[23] サンディア国立研究所, ニューメキシコ,アメリカ
1999年 インテル ASCI Red/9632 2.3796 TFLOPS マイクロプロセッサ (Pentiume Pro)
2000年 IBM ASCI White 7.226 TFLOPS マイクロプロセッサ(POWER RGBの全ての要求事項を満たすと、Whiteになる。RS-6000SPの並列機。この機種の源流は、電話交換機用に開発されたRISCプロセッサである。なお、同じような構成で、VAXシリーズを用いた並列機がTRW社で研究開発されていたこともある[24] ロスアラモス国立研究所, カリフォルニア,アメリカ
2002年 NEC 地球シミュレータ 35.86 TFLOPS 独自開発(ベクトルプロセッサ)このCPUは、SX-6シリーズへ受け継がれる。 超高速・大容量ベクトル型計算機。 海洋研究開発機構, 横浜, 日本
2004年 IBM Blue Gene/L 70.72 TFLOPS マイクロプロセッサ(PowerPC440) メッセージパッシングモデルによる大規模計算機。スカラ型のPEには、組み込み型CPUにFPUを付加することで、非常にコストパフォーマンスの高いシステムとなっている。また、商用機としては、IOノードのOSLinuxカーネルを採用する等、オープンソースの成果を活用した大規模スーパーコンピュータシステムとなっている。 アメリカ合衆国エネルギー省/IBM, USA
2005年 136.8 TFLOPS マイクロプロセッサ(PowerPC) アメリカ合衆国エネルギー省 国家核安全保障局/

ロスアラモス国立研究所,カリフォルニア,アメリカ

280.6 TFLOPS マイクロプロセッサ(PowerPC)

脚注

  1. ^ 『コンピュータの構成と設計 第3版 別冊 歴史展望』p. 86
  2. ^ 『コンピュータの構成と設計 第3版 別冊 歴史展望』p. 86
  3. ^ James Bohn. “The Illiac I”. Music School, University of Illinois at Urbana Champaign. 2012年5月8日閲覧。
  4. ^ トランジスタを用いた「最初の」コンピュータがどれか、という件は議論が多い。
  5. ^ Andrew A. Chien (1996年1月). “CS 433 Theory of High Speed Parallel Computation 講義要約”. カリフォルニア大学サンディエゴ校 Concurrent Systems Architecture Group. 2005年10月30日時点のオリジナルよりアーカイブ。2012年5月8日閲覧。
  6. ^ 『コンピュータの構成と設計 第3版 別冊 歴史展望』p. 144~145
  7. ^ 『コンピュータの構成と設計 第3版 別冊 歴史展望』p. 89
  8. ^ FACOM 230-75 APU、HITAC M-180IAP
  9. ^ ECLを採用したコンピュータは国産メインフレームの場合、富士通M-1800(1990年)、日本電気ACOSシステム3800(ACOS-4、1990年)、日立MP6000(1999年)といったようにいずれも20世紀末が最後となった。
  10. ^ http://ascii.jp/elem/000/001/055/1055814/index-3.html
  11. ^ 牧野『スーパーコンピューティングの将来』 25.5. スカラ並列機と地球シミュレータ 2005年まで 2013年7月11日閲覧
  12. ^ HPCからは離れるが、PCのマザーボードの例ではCPUに電力を供給する回路の発熱が近年では著しく、CPUを液冷とした場合に、一緒に冷却するか、空冷を併用するか、等が悩ましい問題となっている。
  13. ^ Aurora | Argonne Leadership Computing Facility”. www.alcf.anl.gov. 2021年4月6日閲覧。
  14. ^ Last in Fast out 具体的には、メモリのヒープ領域を活用してデータや演算子を積み上げる。そして、それを設定したトップアドレスから読み出す仕組みのこと。これをスタックと呼ぶ。
  15. ^ 機械語最適化精度のこと。具体的には、ループ演算をマクロ展開したり、PEそのもののアーキテクチャーに合わせたコンパクトな機械語を構築すること。
  16. ^ 具体的には、PEそのものの演算量に対して最大の性能を発揮するために必要な機械語の密度のこと。
  17. ^ 解決方法としては、システムライブラリ側で吸収するなどの方法がある。実際に、MachLinuxでは、この問題を解決するためにシステムライブラリの最適化を行っている。また、スレッドの問題は巨大化したカーネルを極小化するなどの方法によって解決が可能である。
  18. ^ この問題を解決するためには、仮想機械の最適化を行うことである。最適化における有名な例では、AppleMacintoshパーソナルコンピュータの初期におけるツールボックスがあげられる。コンパイラの出力を、ハンドアセンブルしなおすことで、ソースコードを極小化する最適化が行われた。
  19. ^ 自動ジョブ操作機能に関しては、窓口サーバの自動配分機能が重要である。それぞれのHPCが持つリソース(現在のリソースの状況)を上手に管理することで、最適化したコードを割り振る仕組みを構築できれば可能である。
  20. ^ お互いのシステムの持つバス間を連結できるインターフェイスが開発できれば可能である。実際に、高エネルギー加速器研究機構では、高エネルギー加速器トリスタン装置(電子・陽電子衝突型加速器。なお、CERNLEPも同じタイプの加速器。現在は、LHCが稼動に向け準備中)においてDECVAX富士通VPシリーズを直接結合する形でシステムを構築した事例もある。
  21. ^ この問題は、これからも課題である。最大の性能を発揮するコンピュータは、どうしてもセンター型にならざるを得ない。最大の原因は、PE(ベクトル・スカラーを含む)間の通信の問題があるためである。内部バスの速度を、仮に1000としよう。外部バスの速度は、1〜100程度になるためである。この速度が逆転しない限り、現在のところは不可能である。
  22. ^ [1]
  23. ^ 各計算ノードではサンディア国立研究所が独自に開発した "Cougar" という軽量カーネルが動作し、利用者からは単一のUNIXマシンに見せるためインテルパラゴンの開発でOSF/1を移植した"Teraflops OS"が採用されている。
  24. ^ コンピュータアーキテクチャー-電脳構築学-、坂村健、共立出版

参考文献

電気通信の教科書

  • 寺田浩詔,木村磐根,吉田進,岡田博美,佐藤亨,情報通信工学,オーム社,1993

コンピュータアーキテクチャーの教科書

  • 坂村健、コンピュータアーキテクチャー -電脳建築学-、共立出版、1984
  • コンピュータシステム研究専門委員会監修,電子情報通信学会編,-コンピュータアーキテクチャシリーズ-スーパコンピュータ,オーム社,1992
  • デイビット・A・パターソン、コンピュータアーキテクチャー設計・実現・評価の定量的アプローチ、日経BP、1994

回路設計の教科書

  • 小林芳直,定本 ASICのシステム設計,CQ出版社,1995
  • 小林芳直,定本 ASICの論理回路設計,CQ出版社,1998

コンピュータ開発のエッセイ

  • 嶋正利,「マイクロコンピュータの誕生」わが青春の4004,岩波書店,1985
  • 立花隆,電脳進化論-テラ・ペタ・ギガ-,朝日新聞社,1993
  • 杉本大一郎, 手作りスーパーコンピュータへの挑戦 テラ・フロップス・マシンをめざして,講談社,1993
  • 遠藤諭,計算機屋かく戦えり-新版-,アスキー,1996
  • シーモア・クレイ他著,スーパーコンピュータの未来,三田出版会,1992
  • ILLIAC に関するオーラルヒストリー資料.[2] Charles Babbage Institute, University of Minnesota. Herman H. Goldstine, Stephen Lukasik, David Wheeler など参照。

外部リンク