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

コンピュータ誕生以前

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

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

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

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

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

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

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

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

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

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

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

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

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

パイプライン化と並列化の萌芽 thumb|CDC 6600 1964年 最初のスーパーコンピュータとみなされている 高性能化は大きく分けて2通りの方向から進められた。ひとつはパイプライン化、もうひとつは並列化である。

最初のパイプライン化コンピュータは「ストレッチ」ことIBM 7030とされている。7030は4ステージのパイプラインによりフェッチ・デコード・実行を並列におこなった。『コンピュータの構成と設計 第3版 別冊 歴史展望』p. 86

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

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

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

ILLIAC IVは、プロジェクトとしてはうまくいかなかったとされるが、SIMD型の並列コンピュータの最初期のものと評価されている。『コンピュータの構成と設計 第3版 別冊 歴史展望』p. 144~145

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

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

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

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

一方、日本のコンピュータメーカも独自にアレイプロセッサを開発したりしていたがFACOM 230-75 APU、HITAC M-180IAP、ACOS-1000 IAP、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では同時に液冷から空冷への移行も行われた結果コスト低減という利益もあった。ECLを採用したコンピュータは国産メインフレームの場合、富士通M-1800(1990年)、日本電気ACOSシステム3800(ACOS-4、1990年)、日立MP6000(1999年)といったようにいずれも20世紀末が最後となった。

その他の素子テクノロジ 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年代前後から、専用計算機の開発も盛んとなった。日本ではFXやGRAPEが知られている。

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

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

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

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

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

脱ベクトル シーモア・クレイは超並列スカラ機に否定的で「私が生きている間に彼らが普遍的成功を収めるのは難しいと思う」と述べていたが、突然の自動車事故(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年)が最後のベクトル機となったhttps://ascii.jp/elem/000/001/055/1055814/index-3.html。

コンピュートニク 以上のようにベクトル型から超並列スカラー型への移行が進み、SX(とCrayの一部のモデル)のみがベクトル機となっていたが、2002年に運用を開始した地球シミュレータは、その高い性能と、それによる優れた性能対価格比、さらに「時代遅れ」と思われていたベクトル機であることもあいまって、ASCIプロジェクトにショックを与え、スプートニク危機になぞらえコンピュートニク(Computenik)とさえジャック・ドンガラに言わせしめた。Japanese Computer Is World's Fastest, As U.S. Falls Back - The New York Times2024年9月5日閲覧HPCの歩み50年(第85回)-2002年(a)- - HPCwire Japan2024年9月5日閲覧牧野: 『スーパーコンピューティングの将来』 25.5. スカラ並列機と地球シミュレータ 2005年まで 2024年9月5日閲覧、引用「地球シミュレータが Computonik などと言われたのは、...」

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

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

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

さらに、周辺回路HPCからは離れるが、PCのマザーボードの例ではCPUに電力を供給する回路の発熱が近年では著しく、CPUを液冷とした場合に、一緒に冷却するか、空冷を併用するか、等が悩ましい問題となっている。 の冷却についても液冷が選択されるようになり、かつてのCray-2のようなフロリナート液浸のリバイバルの他、TSUBAME KFCの油漬(PAO)など、材料についても新しい検討が進められている。効率の点で、蒸発冷却の採用も検討されており、新材料としてはNovecがある。フロリナートもNovecも品番により沸点はさまざまなものが用意されているが、Novec 7000 は沸点が摂氏34度である。一方で蒸発冷却は密閉を必要とするなど扱いが面倒という難点があるため、ZettaScalerではフロリナートでも特に沸点が高い(摂氏174度)FC-43 を採用して扱い易さを向上させている。

さらに意欲的な試みとしては、大幅に安価な水の利用や、さらには河川や海洋中への設置を可能であれば目標として、洗濯機等の家電や屋外電気機器の防水仕様で行われるような、基板を完全にモールドしてしまうような手法も研究されている。http://research.nii.ac.jp/~koibuchi/research05.html 2024年9月5日閲覧

GPUとの連携 新たな計算ユニットとして、Graphics Processing Unit(GPU)の活用が考えられている。汎用の(General-purpose)GPUの意でGPGPUという。

長崎大学工学部濱田剛らは、2008年にGPUを用いた銀河衝突のデモンストレーションで270〜470GFLOPSを叩き出しているGPGPUのキラーアプリケーションは「グラフィックス」 - @IT2024年9月5日閲覧。GPUにはグラフィックアクセラレータというかつての呼称があるが、SIMDで汎用のアクセラレータ(「加速部」などとも)として活用可能ではないか、というわけである。もっともディビッド・B・カーク(w:David Kirk (scientist))によると、キラーアプリケーションは、プログラマブル以前のGPUでは不可能で、また膨大な計算が必要なラジオシティやフォトンマッピングをその場で計算するリアルタイム・グローバルイルミネーションなどといったグラフィックの応用だろうという。

特に200X年以降は、DeepLearningやゲームグラフィックス用途などにおいて行列を用いた計算について、高速計算のニーズが高まってきておりGPUをそれらの計算資源として用いる実装が増えてきている。一方で、富岳のように汎用プロセッサ+ベクトル拡張の富士通 A64FX のみとし、GPUによる加速部を採用しなかった例もある。

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

既存CPUの微細化 ロジックICを構築できるメーカがファブレス化を図った結果として、ファウンドリ側のプロセス微細化競争が進み、2020年現在ベース回路設計において7nmスケールのプロセスが実現している。この事が、CPUの多数コア内蔵を可能にし、同じ床面積で以前の2倍スケールの並列化を可能にしている。確かに、並列化は重要であり、大きな数のCPUを同時並列にすることによって、より大規模なデータ処理が可能になる。

しかし、アムダールの法則により、アルゴリズムのうち並列化に適した部分が支配的ならば、其れ相応の性能が出るが、並列化に適さない部分が支配的ならば、全体の計算上のボトルネックとなり、せっかくの大規模並列が無駄になる。そのため、より性能の高い計算機を作るためには、並列化可能部分は大規模並列化を進め、並列化の効果が薄い計算部分はスカラー計算機の先読み分岐等を駆使したプログラムが行われるようになった。

なお、先読み分岐(予測分岐)なども、既存CPUの微細化によってチップに入れることが現実的になった技術でもある。

2010年代以降 2010年代以降のトピックを挙げる。

ベクトル回帰 前述のように残存するベクトル機はNECのSXシリーズのみとなったが(2024年現在の最新モデルグループはSX-Aurora TSUBASA(2017年発売))、一方でベクトル回帰ともいえる動きもある。

RISC-V(2015年〜)は、HPC向け拡張としてMMXやSSEのような命令セットではなく、ベクトル命令セットを拡張として定義している『RISC-V 原典』第8章 (pp.74-88) p.75に「ベクトルの長さとクロックサイクル当たりの最大の処理を命令のエンコーディングから分離することがベクトル・アーキテクチャの最も重要な点である」と強調がある。。RISC-Vの設計者らは既存プロセッサのSIMD拡張の積み重ね、特にIntelのそれを優美でないとみている『RISC-V 原典』p.85に「vfmadd213pd とは何であり、いつ使うべきかを、どうしたら覚えられようか」とある。。

また、富岳(2021年稼働)のA64FXのSIMD拡張であるSVEも同様に、「Scalable Vector 拡張」という名前が示すようにベクトル長に依存しない命令セットでありArm SVE命令セットって美味しいの? - Qiita、ベクトル計算機の命令セットの特徴を持っているhttps://www.fujitsu.com/jp/about/businesspolicy/tech/fugaku/pickup/interview01/#anc-08 に「ベクトルプロセッサとスカラープロセッサ両方の性質を兼ね備えている」とある。。

2020年代以降 2020年代以降のトピックを挙げる。

富岳NEXT 松岡は富岳NEXT(当時は「次世代計算基盤」)の検討において2024年に、富岳では加速部(GPU)を持たなかったのに対し、加速部に積極的な姿勢を見せているhttps://www.mext.go.jp/content/20240605-mxt-jyohoka01-000036337_02.pdf 2024年9月6日閲覧https://www.mext.go.jp/content/20240614-mxt-jyohoka01-000036490_03.pdf 2024年9月6日閲覧。松岡には既にTSUBAMEにおいてGPUマシンの実績がある。

牧野は、2023年9月の研究会で、「データのチップ上・基板上の横方向の移動」を限りなく小さくする必要があり、「GPUの次」が必要だと述べているhttps://www.cps-jp.org/~mosir/pub/2023/2023-09-04/08_makino/pub-web/20230904_08_makino.pdf 2024年9月6日閲覧(牧野は富岳(当時は「ポスト京」)の加速部の責任担当でありhttps://jun-makino.sakura.ne.jp/articles/future_sc/note130.html 2024年9月6日閲覧、富岳が加速部をやめたので、MN-Coreを『その「演算加速部」の復活ともいえる』と書いているhttps://jun-makino.sakura.ne.jp/articles/future_sc/note150.html 2024年9月6日閲覧)。

2025年2月5日の報道https://pc.watch.impress.co.jp/docs/news/1660329.html 2025年10月9日閲覧。によれば、「NVIDIAに限定したものではない」と近藤正章計算科学研究センター次世代高性能アーキテクチャ研究チーム チームリーダー、2025年4月次世代計算基盤開発部門 部門長は述べたというが、同8月22日の報道https://www.hpcwire.jp/archives/98617によれば、NVIDIAとの連携が明言された。

その他

現在