TEXT/YUBASCRIPT

Web開発とか生物学とかTwitterとかの話題を適当に書いてる

「世界一のスパコン」を使う人の立場から考える

世界一を獲得したスーパーコンピュータ「京(けい)」の、100倍の性能を持つ次世代スーパーコンピュータを作ることが最近話題になっていますね。

「京」といえば、作ってる最中に政権が交代して、「2位じゃダメなんですか?」の事業仕分けに晒され、それでも何とか予算を確保して見事世界一を獲得、日本の技術力バンザーイ、という、何かとドラマチックな(プロジ○クトXにしやすそうな)背景を持ったスパコンです。
(1年後にアメリカ国家核安全保障局の「セコイア」に抜かれて、現在は世界3位。)

しかし、ユーザーの立場から言えば、自分の使っているスパコンが「世界一かどうか」というのは全くどうでもいいことです。 僕も自分の研究にスパコンを使ったことがあるのですが、それが世界何位のスパコンかなんて考えもしませんでした。

なぜかといえば、スパコンは通常のパソコンと違い、1人で全部の性能を使える訳ではないからです。今回はこのへんの事情について解説します。

「京」という名前の由来は「1秒に10,000,000,000,000,000回(1京回)の計算ができる」という性能から来ています。(より正確には、128GFLOPSのCPUが90,000個並列されていて11.5PFLOPS)

しかし、この1京回の計算が、すべて一つの目的のために使われる訳ではありません。「京」を使いたい科学者や企業はいっぱいいますので、そのようなユーザーの依頼に応じて「1京回のうち何百兆回は津波の動向予測に、何十兆回は銀河の衝突計算に、何兆回は医薬品の設計に...」といった具合に割り振られています。

スパコンの1回の使用は、だいたい以下のような流れです。

  • 研究者が「何個のCPUを使って、この計算をしてください」と命令する(ジョブ投入)
  • コンピュータが命令を受理し、必要数のCPUが空くのを待つ
  • CPUが空いたら計算を開始
  • 計算が終了したら、結果を研究者に返す

スパコン使用の際は、まずユーザー(研究者や企業)が「こういう研究をするので、使わせてください」と申請します。 そしてその内容に応じて、所有者から「あなたは何個のCPUを、何時間まで使っていいですよ」と許可がおり、使用のアカウントとパスワードが渡されます。
(学術用途の場合。企業利用の場合はよく知らん)
なので、ユーザーの側からすれば「スパコンが何個のCPUを持っているか」ということはあまり関係がなく、「自分が使っていいのは何個・何時間か」が重要になります。

僕は当初、国内ではかなり大規模なスパコンを使っていたのですが、そこはユーザーも非常に多く、計算を投入してもCPUが空くまでの待ち時間がすごく長いものでした。「3時間の計算を実行するために、3日待たされる」ということもザラでした。結局途中で使用を取りやめて、大学内の小さめのスパコンで研究を仕上げました。

というわけで、「世界一のスパコン」というのは使う側にとってはどうでもいい事です。「世界一」が1台ある事よりも、「それなり」のスパコンが自分の大学にある方が良いのです。

では、件の「2位じゃダメなんですか」は正しかったのでしょうか? そんな事ないです。世界一のスパコンは、使う側よりも作る側にとっての存在意義が大きいです。こういうのを国内で作る技術をきちんと保持しておかないと、「使う側」の嬉しいスパコンが供給できなくなってしまうからです。

「京」と同じ技術で、1/10程度の性能を持つスパコンを東大が購入したりしていますし。

いずれにせよ、このへんの科学技術政策の問題は「なんか税金の無駄っぽい」やら「なんか役立つっぽい」といったイメージ論で語られることが多く、「どんなものを作って、どういうふうに使われるのか」への理解があまりに欠けている気がします。「技術大国ニッポン!」というからには、国民もきちんとその内実を理解してほしいものですね。

関連記事