217  スーパーコンピュータ「京」 講演録

先日、前JAXA理事長であった立川さんが、主宰している技術同友会で「スーパーコンピュータ『京』」という演題で講演をさせて頂いた。昨日、その講演録が出来上がってきたのを、あらためて読んでみると、難しい演題の割には、結構うまく話しているのではないかと自画自賛してみたりした。これから先、これだけ、うまく話すことが出来るか大いに疑問なので、この講演録を日記に留めておくことにした。この文章を専門家が読むと、多分、話の中には正確さを欠いた部分も随分あることにお気づきかもしれないが、わかりやすく話すための方便だと、ぜひご容赦を頂きたい。

皆様、きょうは大変によい機会をいただきありがとうございます。世界一を取りましたスーパーコンピュータ「京」についてお話をさせていただきたいと思います。

ご案内のように、スーパーコンピュータ「京」は、理化学研究所と富士通が一緒に開発しました。性能は、10ペタ――10ペタと言うのはちょうど1京回で、1兆の1万倍です――で、CPUのチップが9万弱あります。1つのチップの中に8コア入っていますので、全部で70万のコアが入っていることになります。万、億、兆、京、垓、秭、穣、溝、澗、正、載、極と、まだたくさんあるそうですが、今世紀中、この漢字について困ることはないと思います(笑い)。

スーパーコンピュータの性能を測定するテストプログラムにLINPACKというプログラムがございまして、これで10.5ペタとなりました。もう1つ大事な数字は、実行効率の93.2%。これは後ほど申し上げますけれども、非常に大事な数字です。それから、この数字を出すには、29.5時間連続走行したということがございます。

日本の国産で世界一を取ったスーパーコンピュータは、実はこれまで、いくつかありました。宇宙航空研――現在のJAXA――と富士通が、1993年に取りました。そのあと、日立が東大と取りました。そして世界が一番驚いたのは、NECさんがおやりになった「地球シミュレータ」です。何がすごかったかというと、5回連続1位を取っています。つまり、2年半にわたって1位です。これがアメリカを大変に刺激しました。つまり、コンピュータ業界のスプートニク(Sputnik)というわけです。それでこのあとアメリカは、従来にも増して莫大な研究費と膨大な研究者を使い、この数字がどんどん上がってまいります。このため、富士通も日本のメーカーもみんな「もうこれはダメだ、アメリカに勝てるわけがないのだ」と、そういった感じでございました。

一昨年の2011年11月に、「京」が10ペタを取った1番のときは、2番目が中国の天河1A号で2.5ペタ、3番目がアメリカのクレイ社が開発したジャガーで1.7ペタでした。それが、昨年の11月で、もう京は10ペタでは3位に転落しまして、IBMのセコイアが16ペタ、クレイのタイタンが17ペタです。ただ、IBMのセコイアは富士通の京が持つ70万コアの倍の150万コアを持っていますが性能は1.6倍にとどまっています。このあたりの数値が、後ほどいろいろご説明をする中で出てくると思います。

京のプロジェクトは日本のナショナルプロジェクトですので、10.5ペタというのは、前から宣言していました。10ペタ以上に行かないと「京」という名前は付けられないからです。それは予想どおり達成できたのですが、世界が驚いたのは、次の2つの数字でした。

一つは、この性能を測定するのにかかった時間が29時間と言うことです。「29時間も連続して動くなんて信じられない!」。私どもからすると、「なぜそんなことでびっくりするのか」という感じなのですけれども、数十万プロセッサが入っているわけですから、どこか故障をしてしまうのです。こうした膨大な数のプロセッサを使った超高性能スーパー・コンピューターは、せいぜい頑張っても連続で動くのは8時間くらいだという話も聞こえてきますと、「やっぱり日本というのはすごいのだな」、日本の自動車がぜんぜん故障しないというのと同じように、「我われは気がついていないところで凄いのだな」と思いました。我々は、別に29時間動かそうと思ったわけではなく、1000万次元の行列計算をやってみようとして、それがたまたま「29時間かかった」というだけのことなのですが、世界はそれで驚きました。

もう1つ、世界が驚いたのは、「利用効率93%」です。お金をかけてプロセッサの数を増やせばいくらでも性能が上がるのでしたら、お金持ちの国が世界一になるのですけれども、スーパーコンピュータというのはそう簡単にはいきません。数を増やすということイコール性能向上にはならないのです。本当に、そのプロセッサを使い切るのか――それを利用効率と言うのですけれども――、この利用効率が93%ということに世界は驚きました。一般的な利用効率は70%から80%で、これが50%以下ですと、プロセッサの数を増やせば増やすほど、性能は落ちてしまいます。これは非常に大変なことであります。

そしてもう1つ世界が驚いたのは、「長距離に及ぶプロセッサ結合ネットワーク」です。日本はネットワークがかなり優れています。「京」は、実は橋の上に筐体が載っていまして、橋の下にたくさんのケーブルがあります。20万本のケーブルと総延長1000キロのケーブルが、あの下に内蔵されております。「よくこんなことをやるよ」と、そんな感じです。

世界が驚いた「地球シミュレータ」のさらに250倍というわけですから、スーパーコンピュータをつくるための課題というのは、半端ではありません。課題の1つに、何十万個というプロセッサを、本当にちゃんと効率よく動かせるのかという議論があります。

もう1つは、昨今の電力問題というのが大変に大きい。今までどおりの延長線上でやると、1つのスパコンのセンターが数十メガワット――これは発電所1個分ぐらいになってしまいます――ので、消費電力というのが今回のプロジェクトの大きな問題の1つでした。「京」は、最初から消費電力を決められました。性能だけでなく、消費電力を決められて、なおかつ、そんなに広い面積はダメだと、設置面積も決められました。

その中で、先ほど申し上げたように29時間動くということで、信頼性――ちゃんと動くか――ということと、もう1つはアプリケーションがきちんと動くかが大きな課題でした。性能は良いけれども、きちんとした役に立つアプリケーションが動かないことには単なる箱ですから、それが大きな課題となります。

それをもう1つブレークダウンすると、当たり前の言い方ですけれども、「これはどうしてもマイクロプロセッサは市販のものではダメだ」ということになります。後ほど、なぜダメかということをお話し申し上げます。

それから、CPUの性能も大事なのですけれども、何十万のプロセッサがお互いに会話をしますので、ネットワークの性能というのがすごく大事になります。そしてもう1つは、消費電力。それから、超並列システム。並列処理をするために特殊なソフトを書くのではなく、普通に書いたソフトがコンパイラで、この並列システム用に機械語に置き換えてくれるようなコンパイラが要ります。そして何と言っても、既存のサードパーティのアプリケーションがちゃんと動かないとダメです。これらがいろいろな挑戦の課題であります。

具体的にどうなっているかというと、この1枚のボードの中にプロセッサチップが4個入っています。それとインターコネクト・コントローラというか、通信チップが4個入っています。このシステムボードが1つのロッカーに24枚入っています。なぜ3の倍数なのかというのは後ほど申し上げますけれども、24枚入っています。それで、横に24ラック、奥行き方向に36ラックで、全体で864ラックです。

次に、「なぜプロセッサは市販のプロセッサではダメなのか」ということです。「インテルから良いプロセッサがたくさん出ているではないか」ということもありますが、やはりアーキテクチャをいろいろいじらないと、スパコン向けにはうまくいかないということがあります。

それから2番目は、ちょっと聞いたことがない言葉かもしれませんけれども、ハイブリッド並列ということを申し上げます。たくさんのプロセッサがあると、コントロールが大変なので、それをうまく工夫しなければいけません。また、ハイスピードのコネクタとの接続があるため、「ネットワークとの親和性をよくするために、どうしてもプロセッサは自分でつくらなければダメなのではないか」ということで、自社開発をしております。

具体的には、汎用機の上にペタスケール用のスパコンをエンハンスしたチップをつくりました。その中にコアが8個入っています。そのときに、これから申し上げるような5つの工夫をいたしました。このスパコンの経緯に関して言えば、当時、最先端のテクノロジーでありました45ナノメータのCMOSを使っております。その結果、私どものこの1つ前の世代のものに比べて、性能は3倍で、電力消費が2分の1ということが実現できております。

以前に世界一を取ったNECさんの開発された「地球シミュレータ」は、ベクトルプロセッサと呼ばれました。科学技術計算は行列計算がすごく多いのです。行列計算というのは積和ですから、掛け算と足し算をしたものを、また足すというループがグルグルと回るわけです。その意味で、「地球シミュレータ」というのはベクトルプロセッサとしては大変に優れたプロセッサでありましたけれども、今、どちらかというと世界の大きな流れは、スパコンを作るのに、特殊なベクトルプロセッサではなくて汎用のスカラープロセッサを使うという方向に行っています。その方がソフトウエアを作りやすいからです。

それでもベクトル演算というのは非常に大事な機能なので、このプロセッサは、スカラーのプロセッサでありながら、ベクトル演算機能を持っています。つまり、行列演算用に掛け算したものを足して、もう1つ足す。なおかつこれを2つ並列に、1つのコアで合計8個の命令を1命令で行なう――これをシングル・インストラクション・マルチプル・データと言うのですけれども――、こういったベクトル演算機能を特殊に追加してございます。

そして、演算をするには、必ずメモリが要ります。CPUと同じ速度で動く非常に高速のレジスタ、それからCPUのチップの中にはあるのですけれども、メモリとしての構造を持ったキャッシュメモリ、そしてプロセッサの外にあります外部メモリ、さらにその背後にハードディスクと、メモリは4階層になっているわけです。今回のスパコンでは、非常に高速で動くレジスタを、整数のレジスタについては倍、浮動小数点レジスタについては約8倍にして、並列計算をするためにデータをあちこち引き回さなくていいように――つまりレジスタの中で並列計算がどんどんできるようなかたちで――、レジスタを拡張しております。

レジスタの次に、キャッシュというのがあります。プログラムを組む人はキャッシュの中でデータが次々と使われるということを知っているのですけれども、コンパイラがうまくそれを理解できないといけないので、その命令の上に宣言文を置いておくと、このプログラムを組んだ人のデータがキャッシュから出ないように、特殊な工夫をしております。

プロセッサが数万個あるので、できれば故障してほしくありません。部分的な故障であればそれを自分でリカバリーしてほしい。一番大事なことは、CPUが壊れても、それをディセイブル(disable)して動かさないようにすればいいのですが、一番困るのは、おかしいのに自分でおかしいと気がつかないことです。よく酔っぱらっている人は、「俺は酔っぱらっていない」と言うのですけれども、プロセッサが壊れるときというのは、ある意味では人間の酔っぱらいみたいなもので、壊れているがゆえに、俺は酔っぱらっていないと言うわけです。それが一番困るのです。やっぱり酔っているときは酔っていると言ってもらわなくてはいけないのです。

そういうことができるように、エラーが起きたら自分で検出して、なおかつ自己修復する。それから、「自分はおかしい」ということに気がついて、中央のコントローラに、「私は酔っぱらっているかもしれない、私のやることは信じないでください」と、こういった宣言をちゃんときちんと言えるように、チップ上のほとんどに、「自分は酔っぱらっている」と言えるような仕掛けをしてございます。

今申し上げたように、できるだけ故障しないようにするのですけれども、年間故障率が1%であっても、10万個もあると、9時間に1回、故障をしてしまいます。普通は半導体のジャンクション温度、接合温度は85℃以下にしています。放っておいて何も冷やさないと200℃ぐらいになるのですけれども、「最低限85℃にしなさい」というのが、普通の回路技術者が回路を組むときの条件です。「京」では、さらにガンガンに冷やして、30℃まで冷やしております。50℃も下げるとどういうことが起きるかというと、寿命は100倍になりますし、故障率は3分の1になります。そのために全体を、とんでもない水冷をしております。水冷のためのパイプの総延長は70キロ、ゴム管が23キロ、接合ジョイント数は50万個。これはプロセッサ、コンピュータというよりも、「巨大な冷蔵庫」と言ったほうが正しいぐらいの構成になっております。

半導体が小さく微細になってきますと、本来の仕事をするのに電力を使うのではなくて、リーク電流――漏れ電流とも言いますけれども、仕事をしていないのに電気を使う――という、とんでもないことをします。そのリーク電流の量がどんどん増えてまいります。しかし、ジャンクション温度を下げていくと、リーク電流は全体の電力の10%と非常に少なくすることができます。低消費電力向けに関しても、冷やすということは大変に意味があります。

レジスタとかセクターキャッシュを拡張したり工夫をしたりして、データがメモリまで一回退避しないようにする――つまりプロセッサとしてはメモリから持って来る――というのは力技で、電気を食うのです。こういった電気を食うような仕事――よそのメモリから自分の中に取り込むような電気を食う動作――を抑制してやるだけで、電気が減るという工夫ができます。

実はこれが一番大事なことなのですけれども、数十万コアというのはすごいのですけれども、会社もそうですが、社員が増えれば仕事ができるというものではないのです。社員が増えれば増えるほど、実はオーバーヘッドは増えてきます。それはスーパーコンピュータも同じで、これに平均的に仕事を分け与えるというのはものすごく大変なことです。ここが1つ大きな工夫です。増やさないと性能は上がらない。性能を増やすとオーバーヘッドが出る。これをどうするかというのが、大変に大きな問題であります。

非常にわかりやすい話で喩えて申し上げますと、1000人月という仕事があります。1000人月というのはだいたい100人でやって10ヵ月後に、ある工事が出来る。では「1万人だったら3日で出来るよね。10万人だったら3時間で出来るではないか。100万人だったら20分で出来るではないか。皆さんもうおわかりのように、そんなことは無理です。プロセッサも人間と同じで、たくさん集まれば早く仕事が出来るというのは嘘なのです。

それをきちんと方程式として現した人がいます。IBMの元スーパーエンジニアだったアムダールです。彼は、IBMを辞めて富士通に来ました。この人は、「こういう法則があるのだ」と。つまり、「並行してやれる仕事はいいが、並行してやれない逐次処理の部分がある。その逐次処理の部分が全体の1%あったとすれば、もうそれは100プロセッサまでしかスピードアップしない。」ということです。

そうすると、「京」の場合は70万コアですから、LINPACKという試計算のプログラムの中では、逐次処理は800万分の1しか許されないことになるのです。しかし、アプリケーションというのは、800万分の1しか逐次処理がないと言われても、処理の中には逐次処理をしなければいけないところが結構沢山あります。つまり、逐次処理が多いと、いくら増やしてもどこかで止まってしまうのです。スーパーコンピュータをつくる上で、一番大変なところはここです。まさにパラドックスです。

先ほど申し上げたハイブリッド並列というのはそういうことで、いわゆるCPUを増やせば増やすほど上がるというのは嘘で、増やせば増やすほど実はオーバーヘッドが増えて性能が下がってしまうのです。これをどうして解決するかというのと、私達はハイブリッド並列にしました。先ほどプロセッサチップの中に8個のコア、8個のCPUがあると言いましたが、外から見たときに、この8個のCPUがないように見せたらどうか――つまり、この中には8個あるのではなくて、1個しかないように見せる――ということで、プロセッサ数を8分の1に減らすのです。スレッドというかたちで、プロセッサの中で並列を行なうことによって、外から見たときに全体のプロセッサの数を減らしてやれば、先ほど言ったようなオーバーヘッドは減っていくわけです。こういった処理を今回はやりました。

これはアプリケーションプログラムから見えないようにやりました。これが非常に実行効率を上げた大きな原因になっております。8個のコアを仮想的に1つの構成のコアに見せかける。いろいろな工夫をして、コンパイラを見せて、実際にアプリケーションプログラムは、この新しいプログラムでリコンパイルするだけで、あたかも8つのコアが1つになるように見えるということであります。

もう1つは、CPUとCPUのプロセッサの間を、いかに高速で通信経路を結ぶかということで、6次元メッシュ/トーラスということをしました。6次元メッシュ/トーラスというのは、先ほど、1枚のボードの上に4つのCPUチップが載っていると申し上げましたが、これを3枚のシステムボードを1つの対にします。ここには球が12個あります。この12個の中で、3次元で結線するような、AとBとCで3次元で結線するようなトーラスノードをつくりました。1つのロッカーの中には24枚ありますから、つまり、このノードが1つのロッカーの中に8個あることになります。それで、横に24ラックで奥行きが36ラックですから、今度はこれを3次元で組み合わせる軸がX、Y、Zで、またこれを3次元に組み合わせる。合計で6次元、ということです。ちょっとわかりにくいと思いますけれども、説明はこれが精一杯でございますので、堪忍をしてください。

そうするとどうなるかというと、先ほどの3枚のボードが並んでいる中を、6次元の組み合わせで、いろいろな通信経路ができます。これには、どこかで故障しても迂回してきちんと行けるということと、一番近い距離で、一番速く目的のプロセッサのところまで行って通信ができるという、2つの意味があります。要するにそのうちの1つは、複数の経路が取れるということが大きな理由であります。

神戸のスーパーコンピュータ「京」を1人で使うというのは、それはそれで結構ですけれども、「複数の人間で使いたい」ということがあります。ところが複数の人間で使うときに、プロセッサがバラバラの位置にいると距離がありますので、そこで通信の時間がかかってしまいます。ですから複数の人で「京」を分けるときに、立方体で分けるような分け方をすると、近くにプロセッサが並んで、効率的に仕事ができます。それでこのように立方体の区画で分けたときでも、先ほどの6次元のトーラスというのは、それぞれの中で6次元のトーラスがまた実現をできることになります。

アプリケーションの最適化ということで一番大事なことは、並列をいかにうまく性能を出させるかで、特に高並列が大事となります。高並列というと、数を増やせば増やすほど性能が上がるというのは実は嘘で、その中でどうやって本当の意味での性能を上げるのかということが大きな問題であります。LINPACKというのは、単体のスーパーコンピュータの性能を表す1つの試計算のプログラムとしては良いものなのですけれども、先ほど言ったように並列部分、つまり逐次処理が800万分の1以下というようなことは、現実のソフトウェアではあり得ないのです。

ところがスパコンは、現実のアプリケーションで使います。「そのときの性能はどうなるか」ということのほうが大事になるでしょう。つまり、LINPACKが10ペタだ、20ペタだとか言うよりも、「本当にアプリケーションが速く動くことが大事だ」と言ったのがゴードン・ベルです。ゴードン・ベルはDECのミニコンを開発した天才技術者ですけれども、ゴードン・ベル賞というのが毎年行なわれています。

2011年に富士通の「京」が10ペタのとき、第2位の中国の「天河1A号」は2ペタでした。5倍の性能があるわけですから、ダントツの1位です。ダントツの1位のスーパーコンピュータを使ってゴードン・ベルで1位を取るなどは当たり前です。ところが、去年は「京」は3位です。この第3位のスーパーコンピュータで、筑波大と理研と東工大の方々のチームによるダーク・マター・シミュレーションのソフトは1位でした。アメリカの研究者は、これと同じソフトを16ペタのIBMのスーパーコンピュータの上でやったのですけれども、スパコン京を使った日本の研究者が1位でした。

これには2つの可能性がありまして、筑波大、理研、東工大の計算科学の人たちが、スーパーコンピュータの使いこなし方がアメリカの研究者よりも、間違いなく優れていた。もう1つの仮説は、富士通の「京」は実際のアプリケーションに向いていたのではないかということです。私はたぶん両方だろうと思います。そういう意味で、よく新聞紙上で、今年は1位だ、2位だ、3位だと言うのですけれども、実際のアプリケーションが動いて何位だという、ゴードン・ベルさんがつくられた賞というのは、非常に大きな意味があります。

第1の科学は理論で、第2の科学が実験で、第3の科学がシミュレーションです。シミュレーションというのはまさに今、国家の安全上の問題に対して非常に重要だと言われています。先ほど申し上げたように、NECさんがつくられた画期的な「地球シミュレータ」が出たあと、アメリカはショックを受けました。それでアメリカは、国の資源、お金と人と物をかけて、スーパーコンピュータに全力をかけたのです。

スーパーコンピュータに、アメリカで一番力を入れている省はDOE――エネルギー省――です。なぜかというと、DOEは核実験のシミュレーションもやっています。皆さんおわかりだと思いますけれども、臨界前核実験ができるのはアメリカだけなのです。世界中に核実験を中止しておきながら、アメリカだけは臨界前核実験をやっているのです。その臨界前核実験は、スーパーコンピュータでやっているからできるのです。途中でやめてしまったそのあとは、スパコンでやらせるのです。したがって、アメリカはとんでもなくお金をかけています。

このようにアメリカが本気で頑張ってきたスパコンの分野で日本が再び勝てるのか? 私は正直言って「もうスパコンはダメだ」と思って諦めました。そして諦めかけた2008年にJAXAさんから、「わかったよ、諦めるのはいいけれども、最後に1回やってみないか」と言われたのです。今回、立川理事長に「スパコン京」の講演をやれと言われたときに、私は二つ返事で「やります」と言ったのは、それだけJAXAでお世話になっているからです。

スパコン京の前にJAXA向けに開発したFX1は、実は世界一のスーパーコンピュータではありませんでした。けれども、世界で最も利用効率の高いスーパーコンピュータでした。このスーパーコンピュータが93.5%と言う世界があっと驚くような利用効率を出したのです。JAXAさんに言われて私どもは気がつきました。「そんな高い利用効率だったら、あとはお金をかけるだけで世界一のスパコンが出来るではないか」と。もちろん1社でそんなお金はありませんから、国と一緒になってお金をかけ、このように世界一が出来上がったのです。

2012年はIBMとクレイに抜かれて、10ペタは第3位です。去年から発売していますけれども、富士通は既に、この2年間の間に「スパコン京」よりさらに進化した製品を出しています。CPUコアの中を16コアにして、性能も倍に上げています。仮に日本にお金があったとして、この「京」のロッカーの中のプロセッサをこの最新版に置き換えたら、23ペタという性能が出ます。もちろん、これは世界一になります。

別に悔しくて言うのではないのですけれども、日本は5年間かけて1000億円のお金をかけました。アメリカは1年間で3000億のお金をかけています。国力の差があるのだから仕方がない。日本は、こうした壮大なプロジェクトを、せめて7年か8年に1回やるしかないのだけれども、その予算がついたときに、それに備えた技術だけはしっかりと持っていなければいけないということです。

スーパーコンピュータというのは「何の役に立つのか」ということがよく言われます。今日みたいに技術的に造詣が深い方の前でお話をするのはわかりやすくていいのですけれども、そういうことがよくわからない人のために、こういうお話をしています。

「第3の科学」というのは何が大事なのか。ノーベル賞を取った人のノーベル賞物語というのがあります。ノーベル賞物語というのは3部作で出来ています。1つは、ノーベル賞は地道な研究を長年続けないとできない。だけど、その途中で幸運の女神が降りてきて、今までやっていたこととぜんぜん違うことが、あるときに起きる。ノーベル賞を取るような人は、やっぱり変だなと、普通の人が見逃すようなことを見逃さない。なおかつ、その、おかしなことが起きたことを、どうして起きたのだろうかと、徹底的に追究するわけです。それでだいたいノーベル賞が取れるわけです。

では、真面目で一生懸命な人がノーベル賞をなぜ取れないか。それは幸運の女神が降りてこないからです。40年間研究をすれば、必ず幸運の女神が降りてくるとは限らない。私も毎年4回、ジャンボ宝くじを買っていますけれども、20年間買って1回も当たらない(笑い)。でもそれを、1年間に100万回買ったら当たりますよね。スーパーコンピュータというのはそういうことなのです。つまり、時間軸を100万倍ぐらいに回して、40年の人生を100万倍にすれば、幸運の女神は降りてくるでしょう。今、地球の問題、人類の問題として、いろいろな課題があるのですけれども、その課題を解決するには、たぶんノーベル賞級の研究が要るのです。それを取るためにこそ、スーパーコンピュータが要るのではないですかと、こういう話であります。

文科省は「京」の利用分野として、生命科学・医療・創薬、新物質・エネルギー、防災・地球変動予測、次世代ものづくり、物質と宇宙の起源の5つの分野を挙げております。この5つの分野は、文科省の「次世代スーパーコンピュータ戦略委員会」というのがありまして、そこで決めたわけですけれども、実は私はその戦略委員会の委員もさせていただきました。ここに参加させて頂いたのは大変に良かったのです。

その戦略委員会は、来るべき時期に神戸でつくられるスーパーコンピュータを、「どういう人たちに使わせるか」というヒアリングコンテストをやりました。たぶん延べ100に及ぶ日本の主に大学、あるいは国立の研究機関の方々――現在、スーパーコンピュータでいろいろな研究をしている方々――が応募をされたと思うのです。それをだいたい延べ100時間ぐらいにわたって審査をさせていただきました。これが大変に良かったと申し上げましたのは、「日本でこれだけ多くの方々がスーパーコンピュータを使って、最先端の研究を日夜されているのだ」ということに、スーパーコンピュータを作ってていながら、改めて大きな驚きを覚えたからです。

それからもう1つは、プレゼンテーションをするときの、その研究者の方々の顔というか、お話の仕方が、ものすごく熱気があることです。「自分たちは永年こういう研究をしてきたのだけれども、それを、ぜひ神戸の世界一のスーパーコンピュータでやりたいのだ」という。やはり「世界一」というところがあるのですね。やはり研究には情熱が大切です。「世界第2位ではダメなのでしょうか」ということがありましたが、第2位ではダメなのです。第2位だと、情熱は湧かないのです。

その中で、いくつか感動を受けた話を、ご紹介をしたいと思います。1つは人工光合成です。ご案内のようにCO2を削減するということは、大変な問題です。特に日本は、これから化石燃料が増えますますCO2が増えてくるので、「みんなで省エネをしましょう」、「夏は暑いと言いません、冬も寒いと言いません」ということがあります。そうした我慢も良いのですけれども、CO2を減らす一番良い方法は、CO2を原料にしてプラスチックを作ってしまうことです。あるいは炭水化物を作ってしまうこと、これが一番良いことだと思います。

私たちはいろいろな科学を生物に真似てきて、エレクトロ・ルミネッセンス(Electroluminescence:EL)もたぶんホタルから学んだと思うのです。そういう意味では植物が普通にやっている人工光合成を私たちができれば、CO2の問題は一挙に解決します。今、実験室で出来ており、その実験室で出来ているものを、どうやって量産化するかということに関して、スーパーコンピュータを使ってやりたいという研究者がいました。

次はパンデミックです。地球温暖化になってくるときに、いわゆる鳥インフルエンザ、豚インフルエンザを含めたインフルエンザで大変なことが起きる可能性があります。昔と違って今は飛行機とか乗り物がすごく発達していますので、流行は従来以上に加速します。特に都市化が進んでいる中では、多くの人たちは密度が濃くなっていますので、この問題をどうするかというのは大変に大きな問題です。

先ほど人工光合成が実験室ではすでに出来ていると言いましたけれども、ウィルスの人工合成も実験室ではもう出来ているのです。けれども、これは怖いですよね。生物化学兵器そのものです。そのために、これをやる実験室は、安全基準のP4で間に合うのか、P5にするかという議論があるのです。こんなものが悪意を持っている人に渡ったならば本当に怖いのですけれども、なぜつくるかといったら、薬をつくるためです。イナビルだとかそういうものをつくるためにつくるのです。これをコンピューターの上で仮想的につくり、それを治す薬もコンピュータ上でつくれば、実際にモノが出来ないのだから、良からぬことを考えている人の悪の道具にはならないですむのではないか、ということです。

これを0.5テラFlopsのスパコンでやると500年かかるのです。これを1ペタFlopsのスーパーコンピュータだと3ヵ月、神戸は10ペタありますが、90日の10分の1で、それでも9日間かかるのです。速いということは、今まで500年かけなければできなかったことを出来るようにするという意味で、やっぱり速さというのは意味があるのだということであります。

最近はもっといろいろ言い出しまして、例のレアアースです。レアアースは日本の産業の要なのですけれども、この代替物が出来ないかという研究をいろいろな方々がやられています。磁界シミュレータという、レアアースの磁石の研究というのがあるのですけれども、磁化反転解析するのに神戸のスーパーコンピュータで3日かかるというのです。これがもう少し早くできないかと考えています。

もう1つは、心臓シミュレータです。今、世界中で分子レベルの心臓シミュレータが開発されています。これはなぜそうなっているかというと、40%の新薬は心臓の副作用でダメになってしまうのです。しかも、心臓の副作用というのは、臨床実験をやったときに初めてわかるのです。例えばこれもよくお話をしているのですけれども、肝炎というのがありますね。A型肝炎、B型肝炎、C型肝炎。「この薬を飲めばたちどころに治りますよ。ただし、心臓は止まります」というと、これはまったく良い薬ではありません。今、副作用に関して、世界中が神経を尖らせています。アメリカのFDA((Food and Drug Administration)という薬の承認機関がありますけれども、アメリカのFDAは「訴訟リスクのある新薬は認めない」というようになり、現在、市販されている薬も、これからFDAに申請したらほとんど通らないだろうと言われています。

心臓が止まったら、ほかの臓器がいくら元気でもダメですから、心臓だけは副作用があってはいけません。そうは言うのですが、その副作用というのは、健康な心臓ではおきないのです。副作用がおきるのは、何らかの病気を持った心臓なのです。それで、世界中がやっている心臓シミュレータというのは、病気を持った心臓を仮想的につくりだすということです。新薬と分子レベルで結合をして、副作用があるか・ないかということを、臨床実験をやる前にスクリーニングをしておけば、無駄な努力をしないですみます。そうゆうわけで心臓シミュレータが、今、世界中でつくられているのです。けれども、最も精緻なモデルは3日で1拍だというのです。1拍やって、「大丈夫だ、止まらない」とは言えないですよね。もうちょっと何拍かしてもらわないと心配だということです。

津波に関しても、もっと緻密にやろうとすると、もう少し速くなければいけないということで、スパコンはもっともっと速くならなければいけないという要求があります。もう次の話が出ています。アメリカみたいに年間3000億の予算がある国は毎年やればいいのです。けれども日本のような、5年間で1000億円がやっとという国は、1つ1つのステップごとに目標を置いてやらないと続きません。そういう意味では、10ペタの次は1000ペタでしょう。1000ペタというのは、実はペタではなくてエクサ(Exa)になるのですね。次は今回の「京」の100倍のところを目指してやりましょうということで、政府、文科省を含めて、今、動きが出ております。

では目標はいつなのかと罫線を引いてみますと、エクサというのは、だいたい2018年ぐらいになるのではないか。そういうところを目標にして、エクサのスーパーコンピュータをつくろうではないかということが、まだ案の段階ですが始まっていて、私どもも「大変だけれども、せっかくだからやってみようか」という感じで、そのプロジェクトに参画をしているところでございます。

先ほどゴードン・ベルのところで申し上げましたけれども、スーパーコンピュータを使いこなすという意味では、計算科学というのがすごく大事なのです。一方、ハードウェアをつくるというのは計算機科学と言っていますけれども、両方の学問が相まっていかないと、次はダメなのではないかと考えられています。そういう意味では、私どもだけではなくて、計算科学が一生懸命にやっておられるところと一緒になってしないと、たぶんうまくいかないのではないかと思っております。

消費電力の問題ですとか、密度の問題ですとか、あるいは故障したときに自己診断をしてディセイブルするような、そういった自律システムをやるという意味では、ここに書いてないようなこともたくさんやらなくてはいけないと思うのです。いきなり100倍は無理です。途中に10倍が要るのではないのかということで、100ペタのトランスエクサを、2014年か2015年ぐらいで一回作ってみないとダメではないか。JAXAさんでやらせていただいたFX1みたいなマイルストーンを一回踏まないとうまくいかないのではないかと思っています。そのときはたぶん、今はカッパー(Copper)のケーブルでやっているのですけれども、光を使わないといけないだろう。もっといろいろなことをたくさんやらないといけないだろうということがございます。

何のためにやるのですかという議論もあります。「スーパーコンピュータは外から買ってきたらいいではないか」。確かにそうかもしれないのですけれども、今年、ちょうど伊勢神宮が20年に一度の式年遷宮ですね。そういう意味では、「地球シミュレータ」からスパコンの「京」の7年間――今度がまた次が7年後か10年後かわかりませんけれども――も伊勢神宮に倣って、式年遷宮をやらなくてはいけないのではないか、一度途切れたら、もう回復はできないのではないかと思います。そういう意味で、いろいろ皆さんのご支援をいただきながら、国や大学、いろいろな方々と一緒にコラボレーションをさせていただきながら、次のエクサスケールということで、もう一度、世界一の日の丸のスーパーコンピュータが出来ればいいかなと思っております。きょうはご清聴をありがとうございました。

コメントは受け付けていません。