スーパーコンピューターの「将来」というタイトルの文章なのにいつまでも昔
の機械の話をしていてもしょうがないのですが、今回はもうちょっと長期的な
視点から過去を振り返ってみます。
問題は、過去 30年間になにが起こったか、ということです。
もうちょっと具体的には、「普通の計算機」と「スーパーコンピューター」の
関係にどう変化があったか、ということです。以下に、1975 年から 10 年お
きに、代表的なスーパーコンピューターと適当に選んだミニコンやワークステー
ションの推定販売価格と性能を示します。値段、速度ともに 2-3倍違うかもし
れませんが、結論には影響しません。
年 ハイエンド ローエンド
速度 価格(推定) 速度 価格(推定) 比率
1975 Cray-1 100Mflops 10M$ PDP-11/70 10kflops? 50K$? 50:1
1985 Cray XMP 1Gflops 10M$ PC-AT 30kflops? 5K$ 17:1
1995 VPP-500 100Gflops 30M$? Dec Alpha 300Mflops 30K$ 1:3
2005 SX-8 10TF 50M$? Intel P4(D) 12 Gflops 1K$ 1:60
つまり、 1975 年には Cray-1 は同じ値段でミニコンを沢山買ったのに比べて
50 倍の性能があったのが、 2005 年には NEC SX-8 は同じ値段だけ PC を買っ
たのの 1/60 の性能になっている、ということです。言い換えると、ハイエン
ドとローエンドの相対的な価格性能比は 30 年間で 3000倍変わった、つまり
スーパーコンピューターは 3000倍高い買い物になった、ということです。
1985 年以降は 10 年につき 20 倍程度の速度でこの比が変化しています。
これでは、今スーパーコンピューターが割にあわないのは当たり前です。1975
年の Cray-1 とは位置が逆転しているのですから。ユーザーとして見ると、
20 年前には計算のサイズを問わず計算センターでやったほうが安くついたの
に対して、今は手元の PC でできる計算ならそっちのほうが安あがりだ、とい
うことです。これが、計算センターというものが成り立たなくなった基本的な
理由です。
この状況をどう認識するか、には3つの立場がありえます。
-
大規模計算は必要であり、高価であるとしても他の方法より安い。 PC と価格性能比を 比べてどうこうというのは比べるべきではないものを比べているのであって意味がない。
-
大規模計算なんてものは贅沢品で、PC つないでできる以外のことを考えるのはおかしい。
-
現在のスーパーコンピューターの作りかたが間違ってるのでもうちょっと違う作り方をするべき。
この中のどれか一つだけが正しい解である、というつもりはありません。
ありませんが、例えば PC をつないでできることに 60 倍高い機械を使う、と
いうのは、趣味ならともかく税金でやってるなら無駄使いといわれてもしかた
がない、というのはそういうものではないかという気もします。
もっとも、ここでややこしいのは、計算機のコスト、特にスーパーコンピュー
ターのコストは開発費が大きな部分を占める、ということです。つまり、計算
機をつくろうと思うとハードウェアの開発だけで数百億、ソフトウェアを入れ
るとその 10 倍とかいったお金がかかるわけです。その分が量産コストよりも
大きいとハードウェアは非常に割高になります。例えば Cray の場合は現在の
年間の売り上げが数百億の下のほう、NEC もスーパーコンピューターの売り上
げはその程度かもっと下でしょう。つまり、開発費がコストの大半になるわけ
です。しかも、半導体技術の進歩にともなって開発コストはどんどん上がって
います。
日本のスーパーコンピューターの場合、 1980年代には状況が違いました。ハー
ドウェア開発費の相当部分をメインフレームの売り上げから出すことが可能だっ
たからです。しかし、メインフレームはスーパーコンピューターよりももっと
価格性能比の相対的低下が大きく、既に汎用マイクロプロセッサベースに置き
かわっています。従って、マイクロプロセッサベースのものでなければスーパー
コンピューターも作れないし、しかしそれでは PC をイーサネットでつなげる
のと何が違うのかわからない、ということになるわけです。
ASCI や地球シミュレータといったプロジェクトは、上の (1) の立場をとるも
のであったといって間違いではないでしょう。つまり、核実験の代わりとか
地球環境問題の解決(できるかどうかは別として)のための必要な投資である、
というわけです。
(2) の立場をとるなら、ハードウェアを作るとかは考えないで、 PC をつない
でできることを考えろ、ということになります。ここではもちろん並列化をど
うするかが問題になりますし、普通の(2005年現在なら)ギガビットイーサネッ
トを TCP/IP から使う、とかいうものでは遅くてあまり性能がでない、という
ことはあります。 もっとも、ネットワークスイッチやインターフェースカー
ドなら、計算機全体を作るよりもずっと開発費は小さいですから、そこだけを
作る、というのは商売として成り立ってもいいと思われます。実際、 Myricom
や Quadrics のような HPC 専用のネットワークハードウェアメーカーが存在
できているのはそのためでしょう。
もっとも、汎用のイーサネットもギガビットイーサネット や 10GbE になると
バンド幅では Myrinet と差がなく、さらにレイテンシもソフトウェアのオー
バーヘッドを切り詰めると Myrinet 等と大差なくできるので、専用ネットワー
クのメリットも見えにくくなっています。 現状で 2-4μ秒のレイテンシをさ
らに 1 桁下げるとかいったことができないと、将来は厳しいでしょう。
同じことが、 Cray XT3 や XD1 のような、マイクロプロセッサを使ってシス
テム全体を作る方向についてもいえます。同じというより、ネットワーク部分
以外にも開発費がかかる分不利になるわけです。 1993 年には T3D に競争力
があったとして、 2005年にそれと同じことを期待するのは無理があります。
無理がある理由の本質は、ノード単価が下がっていることです。上の表に書い
たように、1995 年には 300Mflops で 300万円のワークステーションというも
のがまだ存在できていました。Pentium なら50万円で理論ピークは 100
Mflops 程度あったかもしれませんが、実際の性能差は多くの場合にもっと大
きかったからです。ノード当り 300万なら高速ネットワークをつけても値段に
響きません。しかし、30万となると話が違います。しかも、ノード当りの処理
速度は 40倍程度にはなっているわけですから、ネットワーク速度もそれに見
合ったものが必要、となるとなかなか無理なわけです。これは、結局のところ、
よほど簡単なものか、あるいはものすごく大量に作るのでない限り、プリント
基板1枚の量産費用は数万円になって、それで商売して成り立つためには数十
万円で売る必要があるからです。
そもそもノード単価が下がった理由は何か?というのも問題です。これはし
かし、高い機械が安くできるようになったわけではなく、安い PC の性能が
順調に上がった、というのが本質です。言い換えると、高い機械が相対的に性
能が上がらなくなったわけです。上がらなくなった理由は何か?というのはし
かしもうちょっと分析が必要です。これは次回に考えることにしましょう。