Skip to content

2番じゃダメとはこういうことだ!世界一に輝いた「京」の開発者に聞いた!

2011年6月にドイツで開催された第26回国際スーパーコンピューティング会議 (ISC‘11) 。その会場で発表された第37回TOP500リストで、第1位を獲得したスーパーコンピュータ「京」(理科学研究所開発

京の開発リーダーである、理化学研究所の横川三津夫氏にwise9編集部がお話を伺ってまいりました!

↑神戸市中央区のポートアイランド内にある、理科学研究所・計算科学研究機構。この中にスーパーコンピューター「京」が設置されている。

↑理化学研究所の横川三津夫さん。お話を伺ったオフィスもこの巨大な「京」の中にある。

京プロジェクトの発足まで

ーー京のプロジェクトがスタートしたきっかけはどんなものだったんですか?

日本は今まで「科学技術計算用高速計算機システム」に力を入れてきました。1970年頃は通商産業省 (現在の経済産業省) が日本のコンピューターを保護し、コンピュータービジネスを発展させるプロジェクトを行っていました。また、科学技術庁 (現在の文部科学省) が、科学技術計算をするための速い計算機をいくつか開発してきました。これが次世代スーパーコンピュータ(*1)のプロジェクトへとつながっていくわけです。

その例として、1つ目は航空宇宙技術研究所 ( NAL 、現在はJAXAの一部) が数値風洞(*2) という計算機を作りました。

風洞実験という航空力学や流体力学の分野の実験で、本来は小さい飛行機の模型を用いて飛行機の周りの流れを観測するのですが、手間が掛かったり、 微細なところが解りにくかったりといったことがありました。流体力学を応用すれば、模型を用いた風洞で実際の実験を行わなくても、計算だけである程度のところまではシミュレートすることができます。それが数値風洞です。

2つ目は、文部省の方で「格子ゲージ理論」という、クォーク (素粒子の種類の一つ) の振る舞いを解析する計算式を解く並列計算機の開発の流れがあり、筑波大学と日立でCP-PACSという計算機が開発されました。

3つ目は、大気大循環、天気予報や海洋の流れ、エルニーニョ現象、ラニーニャ現象のような地球変動現象の解明を目的とした、「地球シミュレータ」というスーパーコンピューターです。今はJAMSTEC(海洋研究開発機構)にあります。

以上のような流れが続けばよかったのですが、一時期「グリッドコンピューティング」という、計算処理を広域に分散させる方法が注目されました。これにより,日本のスーパーコンピューター開発が停滞してしまったのです。

一方で,地球シミュレータが上手くいったため、アメリカを中心にスーパーコンピューター開発プロジェクトがいくつか計画されました.

このような状況の中日本も、もう一度科学技術計算のための計算機を開発すべきという機運が盛り上がってきて、2005年に文部科学省が大規模な並列分散型スーパーコンピューターの開発計画の提案を、総合科学技術会議(*3)に行いました。

スパコンは科学技術計算のための「ツール」ですが、日本の製造技術やもの作り分野など、色々な産業分野に活かせて、もちろん研究も発展できる。そのためには世界でもトップクラスのスーパーコンピューターが必要であるため、プロジェクトが立ち上がったということですね。

ーー最初から世界最大規模の計算性能の高いものを目指して作られたのですか?

「世界で初めて」計算するような問題を対象とする場合には、計算速度,メモリ,ストレージなどの面でトップクラスでないとできません。それらの指標で世界一を目指すのも、このプロジェクトの大きな目標の一つでした。

*1 スーパーコンピューター:大量の計算を高速に行うために最適化されたコンピューター 

*2 数値風洞:分散主記憶型ベクトルスーパーコンピューター、数値シミュレータである。

*3 総合科学技術会議:科学技術政策について協議する会議であり、省庁再編に伴い2001年より発足した科学技術政策における最高機関である。

スーパーコンピュータのスピードとは

ーー今の並列コンピューターはどの部分を、どんな観点でスピードを測っているのですか?ベンチマークテストみたいなものがあるんですよね?

今回の「TOP500」はLINPACKというプログラムの実行速度で測ります。科学技術計算の中によく出てくる行列計算の連立一次方程式の解法の中で、LU分解法というものがあります。それを並列で解くのがHigh Performance LINPACKですね。

LU 分解法は演算量がアルゴリズムで決まっていて、 (2n/3) 3 + (n/2) 2 という量 (ここでのnはn次正方行列のnをさす) なんです。演算量を計算機の実際の実行速度で割れば実行時間が出てきます。例えば、演算量が浮動小数点演算で100万の演算量だとすれば、 1MFLOPS(メガフロップス)(*4) の計算機ならば1秒で解けるという訳です。

アメリカのJack Dongarraさんが線形代数パッケージを開発し、その作ったプログラムがどのくらい早くなるのか、当時のCPUの性能を測るためにいろいろなシステムのLINPACK性能を集めていました。それがいつの間にか世界的に標準のベンチマークになったということですね。

ーーLINPACKがスーパーコンピュータの性能指標として使われているわけですね

ただ、「LINPACK 性能」だけでそのコンピューターの全ての性能が測れるかというと、そうでもないんですね。プログラムによって計算機の動く部分は異なるんですよ。LINPACKでの実行効率 (理論上のピーク性能と実際に問題を解く際の性能の比) は、大体70~80%くらいに普通は落ち着くんです。しかし今回の計測では93%出ています。

ーー向いている問題・向いてない問題というものはありますか?

「システムの性能を全部使い切れない」という点では、それぞれの計算機システムに問題の向き・不向きはあります。今回のISCで世界2位となった中国の「天河一号 A 」はGPGPU(*5)を基本に作られているため、LINPACKの実行効率は55%くらいしか出ていないんですね。それは計算機の構成部分に依存していて、メモリからCPUのバス幅や、並列計算機ですから一つの実行単位を繋ぐネットワークの帯域幅も関係してきます。LINPACK は比較的お互いのネットワークの帯域幅がそんなに広くなくても、CPUの計算が速ければ速くなります。

しかし一般のアプリケーションはそうではなく、キャッシュベースのプロセッサーだと5%でも良い方です。90%以上の実行効率で計算できるLINPACKというのは、ある意味では扱いやすい、性能を発揮しやすい問題なんですね。

つまり、LINPACK性能はあくまでも性能指標の一つで、TOP500の順位だけがクローズアップされるのはいい方向に動いてないんじゃないかと僕は思います。ただし、そうでもしないと性能を比べる事もできないので、LINPACKは「必要悪」といったところでしょうか。

ーー世界第1位という名誉だけを目的として、ベンチマークテストに最適化したものを作ることもできてしまうんですね。

そうですね。しかし我々は、本当の意味での「汎用計算機」を目指していて、「一般のアプリケーションでも性能を発揮できるようにする」という方針で作ってきています。

*4 MFLOPS(メガフロップス):コンピューターの処理速度をあらわす単位。1FLOPS のコンピューターは、1秒間に1回の浮動小数点数演算ができることを示す。大規模なシミュレーションや科学技術計算に用いる大型コンピューターの性能指標として用いられる。 

*5 GPGPU:高い並列計算能力を持つ GPU(Graphics Processing Unit) を使用して、汎用の数値計算を行うこと

京のハード面における工夫

ーーコアは SPARCチップ(*6)なんですね。

そうですね。SPARC64は、ベースがSPARCアーキテクチャなんです。マイクロアーキテクチャは全部富士通が書き換えて作り直してますから、SPARCと命令互換だけどCPU自体は完全に富士通独自のものと言っていいと思います。もともと富士通はスパコンを昔からやっていて、今までにもSPARCのアーキテクチャをいくつか拡張してきてます。

ーー x86系(*7)は使われないんですか?

x86系も使いますよ。Sandy Bridge(*8)を使ったクラスタは出てきています。周辺や管理するサーバー系はIntel社のアーキテクチャですね。

僕は科学技術計算向けのCPUというものが重要だと思ってます。プログラムは時間方向とメモリ空間での局所性があるから、一回キャッシュに持ってきてレジスタに持ってくれば、結構演算が続くんですよ。京ではレジスタファイルを8倍にしているので、同じデータで何度も計算が出来るんです。1つのコアには,積和演算器を4個搭載してます。2つの積和演算器はSIMD命令(*9)でワンクロックで4演算出来るようになっています。コアは60万以上、800個以上の筐体が並んでいます。CPU内のコア間はハードウェアでバリア(*10)をはれるようになっているので、複数のコアをあたかも一つの CPU のようにコンパイラがサポートして動かせるようになりつつあります。

ーーこれだと、I/O(入出力) の方が大変なイメージがあるのですが。

I/Oはですね、I/Oボードからファイバーチャネル(*11)とInfiniBand(*12)とイーサネットケーブルが出ていて、ファイル自体はInfiniBandのネットワーク上を動かします。どの計算ノードからもInfinibandにダイレクトにいき、ファイルを入手します。

一つ一つの計算ノードは独立に動きますが、一体になって動かすことができるのが今回のミソである「6次元のトーラス結合」 です。あくまでもプログラムを書く場合は3次元のトーラス(*13)イメージで書けば良いのですが、ハードウェアではもう少し複雑になります。6次元の意味は一カ所の計算ノードが壊れても、そこをバイパスするのようなトーラスネットワークをすぐに作れるんです。別の次元を通って3次元のトーラスを作れる面白いアーキテクチャだと思います。

↑6次元トーラス結合の模型

ーーファイルシステムの二階層というのは?

二階層のファイルシステムは,地球シミュレータでも取り入れてたのですが、京はCPUが8万個ありますから、8万個からダイレクトにくる色んなジョブのI/O命令はとても処理しきれないんですよ。そのため我々はグローバルファイルシステムに永続(パーマネント)ファイルをおき、自分のジョブの直下のローカルファイ ルシステムにそのジョブに必要なファイルだけをおいて、I/Oを制限することによって,効率を上げるんです。

ジョブで生成されたローカルファイルシステム上のファイルは、別タスクによってグローバルファイルシステムとやりとりする、そういう思想なんですね。ジョブを動かしつつ、スケジューラーが次のジョブのファイルを転送しておき、次のジョブの間に前のジョブの計算した結果をグローバルファイルに移動させるんです。計算ノードはグローバルファイルシステムに直接アクセスする事は全くないです。あくまでもI/Oノードがそのスケジューリングに合わせてファイルのやり取りをする、そういう仕組みをとってます。

ローカルファイルシステムは、1筐体あたり300GBの磁気ディスクが4個からなるRAIDシステムを、4セットで1台構成、それが12台あるので57TBくらいの容量ですね。これが200筐体以上あるので、10PB(ペタバイト)以上のローカルファイルシステムの容量があるんです。グローバルファイルはまた別にあって、そこは 30PBの容量があります。ローカルファイルシステムは2.5インチの磁気ディスクなんですけど、グローバルファイルシステムは3.5インチの 2TB (テラバイト)の磁気ディスクを使ってます。

*6 SPARCチップ:SPARCとは、サン・マイクロシステムズにより開発されたマイクロプロセッサおよびそこから発展した命令セットとアーキテクチャの総称。現在は非営利団体SPARCインターナショナルにより管理されている。京に採用されているSPARC64 VIIIfxとは、SPARC命令セットと互換性を持たせた上で富士通が独自に開発した純国産 CPU である。 

*7 x86:x86(エックエイトシックス/ペケハチロク)系CPU をさす。Intel 社が1978年に開発した8086とオブジェクトコードレベルで互換性のある CPU の総称である。現在のCore i5,Core i7など、一般に販売されているほぼすべてのパソコンが基本的には8086の発展系であり、x86系であると言える。

*8 Sandy Bridge:Intel 社が「IDF 2010」で発表したマイクロアーキテクチャ。現在の Core シリーズで採用されている。

*9 SIMD命令:1つの命令で、複数のデータを同時に処理して高速化する命令。Single Instruction/ Mulitple Dataの略。「シムド」と読む。

*10 バリア:複数のプロセッサコアを協調して動作させる際に、すべてのプロセッサコアで動作を一致させる必要があると、「バリア同期」と呼ばれる処理を用いる。ハードウェアバリアはソフトウェアでバリア同期を行うよりも数十倍高速に同期処理を行うことができる。

*11 ファイバーチャンネル:コンピューターと周辺機器を結ぶためのデータ転送方式の一つ。機器の接続には同軸ケーブルか光ファイバーを用いる。高い性能が必要なサーバで、コンピューター本体と外部記憶装置を接続するのに利用されている。

*12 InfiniBand:主に外付けインターフェイス用の技術として開発されている。サーバのクラスタリングや外部ストレージとの接続など、超高速での通信が求められる分野での活用が期待されている技術である。

*13 トーラス:種数 (3次元の立体において、開いている穴の数) が1の閉曲面 (閉じられており、内部に空間の一部を完全に包み込んでいる曲面) である。トーラスの最もポピュラーな形として、ドーナツ型がある。

京が1位をとれた理由とは

ーー京が1位を獲得できた理由といいますか、京の特徴はどんなところにありますか?

CPUとしては 4つの積和演算器(FMA)ですね。SIMD命令や浮動小数点精度にもよります.

ーーそれは GPU という意味でですか?

GPUではなく、普通のストリーミング命令です。

科学技術計算は、倍精度浮動小数点の計算が大事になります。倍精度演算をする回路では,バスなども太くなり、結果として配線の物量が増えるんですね。また,配線にいくら良い材料を持ってきても α 線を出す物質が必ず含まれるので、CPU内のSRAM(*14)のビットが変わっちゃうんこともあるんです。つまり計算結果が変わる場合があるということです。これは間欠故障なのでわからないんですよ。そういう意味ではスー パーコンピューターの分野だけじゃないかもしれませんが、CPUを作る上では材料の純度というか、α 線が出ないようなものを使って作るのが大事になります。あとは回路的にビットが変わってもどこかで補正できる、いわゆるECC(*15)であったりパリティビット(*16)を入れて、信号の受け取り側でパリティチェックをするなどの工夫が必要になります。倍精度の積和演算機を使うと、そういう回路がどんどん入る訳です。 それが1つ目の特徴ですね。

2つ目が、レジスタファイルを256個に、浮動小数点レジスタを8倍にしたことです。3つ目が、8個のコア間でハードウェアバリアを張れる機構を入れた事です。各コアでスレッドが動いている時に、それらのスレッドの同期段階ってあるじゃないですか。それをハードウェア命令で出来るんです。4つ目は L2キャッシュ(*17) をソフトウエアからコントロールできるようになっています。科学技術計算でよく使うデータは、ずっと演算器に近いところに置いておきたい訳ですよ。L2とCPUの間は2B/FLOPSですが、メモリとチップとの間は0.5B/FLOPS なんですね。だから,演算器の近くによく使うデータを置くのが大事になるんです。

今回のTOP500での第1位獲得には、4つのポイントがありました。3倍以上の差を付けた性能で1位になった事、93% という実行効率、28時間動いた事と、消費電力性能において汎用CPUでこれだけ出てるのは滅多にないという事です。

ーーちなみに L2 はどのくらい積んでいますか?

6MBです。本当はもっと増やしたかったのですが、限界でしたね。今の技術だったらもっと入るかもしれないです。完成する頃を目指して作るのがスパコンの開発なのですが、ちゃんと確認しながらやっていくと、6MBが限界だったんだと思います。

ーーOS はどういうものを使っていますか?

全部のシステムはLinuxで動いてます。専用のものではなく、ディストリビューション(*18)です。専用のインターフェイスを持ってますから、ドライバは作り込んでます。コンパイラはもちろん新規の開発です。

ーー普通の動きの部分に関しては Linux なんですか?

そうですね。

我々としては、Linuxで動作するソフトウェアはどんな形で実装してもらっても構いません。

ーー開発言語は何を使われましたか?

Fortran とCとC++です。やはり科学技術計算はまだ僕はFortranだと思っています。Fortranのプログラム資産が多いんですよ。プログラム資産をどうするかは、必ず計算機の開発で問題になってきます。プログラムをスクラッチ*19 から作れるならば,もっと違うアーキテクチャもあるかもしれませんが、開発するスケジュールとの兼ね合いもあり、新しい言語を含めて新しいアーキテクチャのシステムを作るのは難しいですね。

ーーアセンプリ言語で書いた方が早くなることはありますか?

もちろんありますよ。C言語の中にアセンブリ言語で書いたプログラムも取り込めます。インラインアセンブリ(*20)を作れますので、場合によってはその方が良いかもしれません。しかし、そこまで書くアプリ屋さんは一握りですね。

ーースーパーコンピュータ間のソフトウエアの互換性はあるんですか?

言語レベルですね。SPARCですからバイナリレベルではなく、Fortranで書いてあって,並列処理はMPI ライブラリ(*21)で書いてあれば,京では動くようにしたいと思っています。しかし、やはり言語やライブラリでは仕様があいまいな部分があり、その解釈の仕方で異なった動作をするコンパイラになったりします。それでも大体のプログラムは流れるところがミソだと思いますけどね。

*14 SRAM:半導体メモリの1種で、読み込み・書き込みが可能。一時的にデータを保持するための揮発性メモリのことである。SRAMでは、トランジスタを複数個使うために消費電力が大きく、サイズも大きくなってしまうが、高速動作が可能となっている。 

*15 ECC:ECCメモリをさす。メモリに誤った値が記録されている事を検出、正しい値に訂正することができる。64bitのうち 1bitが誤った値になった時に、これを検出して訂正する。また、同時に 2bit以上が誤った値になった場合は、訂正はできないが誤りが発生したことを検出することができる。

*16 パリティビット:コンピューターや通信において、与えられた二進数の誤りを検出することをパリティチェック、符号をパリティビットという。

*17 L2キャッシュ: マイクロプロセッサ内部に設けられた、高速な記憶装置。ここに使用頻度の高いデータを蓄積しておくことによって低速なメインメモリへのアクセスを減らすことができ、処理を高速化することができる。

*18 ディストリビューション:Linuxの配布形態のこと。OS動作に必要なものをパッケージとして配布している。

*19 スクラッチ:既存の製品や雛形などを流用せずに、新規にゼロから開発すること。システム開発において、特定のパッケージ製品のカスタマイズや機能追加などによらず、すべての要素を個別に最初から開発することをスクラッチ開発という。

*20 インラインアセンブリ:C言語で記述されたプログラムの一部にアセンブラコードを埋め込むこと。マイクロプロセッサの性能を引き出して実行速度を高めたい場合、メモリ使用量を減らしたい場合、特殊な命令を利用する場合などに使われる。

*21 MPIライブラリ:実装言語が CまたはFortranの並列プログラミング用ライブラリである、並列プログラミングの規格である。

世界一である京をどう利用していくのか


ーー京に関して面白いと思ったのが、利用結果、計算結果を公開する前提なら「京」を無料で使わせるということだったのですが、それについて反響はどうですか?

そういう方向で検討してるのですが、完全に決まった訳ではありません。地球シミュレータでもそのような運用をしていたので、広く使ってもらうにはそんな利用方法が良いのでは、と議論されているところです。もちろん、そのシミュレーションが本当に意味があるのかという課題審査があります。ただ私の思想としては、限られた研究者だけが使うのではなく、色々なアプリケーションを持ち寄って使ってほしいという感じですね。

ーー実際にどういう方法で運用するかは決まっていないという感じですか?

一応、京でシミュレーションする課題については公募をかけようという事になっています。

並列計算機というのは CPU を速くするのも大事ですが、CPU をいくら速くしてもネットワークが遅かったら、あるいは逆にネットワークが速くても 、CPU が遅かったらダメで、バランスが大事なんです。Tofu というネットワークを使っているのですが、この帯域幅やトポロジー(*22)は一つのミソだと思います。

ーー帯域幅はどのくらいですか?

ピーク性能で一方向5GB/secですが,実際にはバースト転送の場合で80〜85%くらいでしょう。

ーーケーブルのレベルの物理層からスーパーコンピュータに適した形に独自開発されたんですよね?

ネットワークについてはそうです。

ーープロジェクトは大体何人くらいでスタートして、最終的に何人くらいの方が関わるんですか?

共同開発者である富士通の技術者は1,000人規模です。CPUの開発からLSI(*23)の開発・実装もありますし、ソフトウエア開発者もいますからね。こちらはプロジェクトマネジメント側になりますので、 30~40人くらいですね。システムの設置には百数十人規模での方が携わっています。

ーー今回非常に驚いたのですが、計算科学研究機構の最寄り駅だった「ポートアイランド南駅」の駅名が変わっているんですね。

7月1日から「京コンピューター前駅」に変わりました。ちなみに、「京世界一おめでとう」という旗を、神戸市がかけてくれたんです。自治体としても、世界一の施設があるというのは、とても喜ばしいのではないでしょうか。

ーーこの建物全部が京の一部っていうイメージなんですか?

建物は京のある計算機棟と、反対側に研究棟がある感じですね。京を使う研究者も研究棟にいるんですが。京の設置面積は、40m × 40mくらいです。

建物の特徴としては、水冷の機構ですね。CPUとICCという通信用のLSIは、銅のパイプを利用した水冷になっているんです。だから建物の中で冷却水を巡回させる方法を取りました。これらは3階に設置してあります。2階には、空調パッケージと、水冷のための熱交換モジュールが設置されています。 システム構築の最初から冷却方式も考えて、そのシステムを設置するための建物を造らないと、これくらいの規模の計算機システムを安定して動かすのは不可能です。

↑「京」のある建物の断面図。マシン階と冷房階がサンドイッチ構造になっている

ーー現在稼働はしてないんですか?

してますよ。

ーーまだ完成してないんですよね?

CPUなどのハードウェアはもう完成してます。

ーーあと何を作れば完成となりますか?

システムソフトウエアです。システム周りのスケジューラ、ファイルシステム含めて、普通のユーザーが使えるような環境はまだ出来ていない。例えば,一つの計算ノードに自分でLinuxを入れてその上で動かすならばもう誰でも使えます。今の状態は,パソコンが来てOSはあるけれど、その上で動く基本的なソフトウェアがまだ完成してない感じなんです。この規模のシステムを、工場で展開してソフトウェア試験をするのは不可能ですね。ここに設置されて初めて,これだけのスケールで動作するソフトウエアの確認が出来るんです。

ーー来年のいつ頃に完成しますか?

来年の6月末が完成予定です。一般公募したアプリケーションを動かして使わせるのが11月になりますね。

*22 トポロジー:ネットワーク上のコンピューターやネットワーク機器を結ぶ接続形態のこと。
*23  LSI:IC (集積回路) のうち、素子の集積度が1,000個~100,000個程度のもの。また、単に IC をさす場合もある。

↑膨大な電力を必要とする「京」は稼働電力の一部を太陽光発電で賄っている

横川さんが考えるコンピューターの世界の今後とは

ーー横川さんは現在、コンピューターの進化の最先端を担っていると思うのですが、今後この世界はどういった方向に進んでいくのですか?

実はこの部分、逆に僕の方からお聞きしたいのですが、一般ユーザーの持つCPUは何がどこまで速くなればいいと思いますか?僕は科学技術計算向けのCPUの性能は限りなく要求されると思うんですね。でも,一般のユーザー向けのCPUは、そろそろ性能的に満足という風に思うのですが、どうですかね?

ーー僕は進化を続けていくと思います。その場合二つの可能性があると思っていて、一つは消費者とも関係ない、開発者の 技術的なモチベーションみたいなもので進化していくと思うんです。消費者としては、気づいたら機能に加わっているような感じですね。もう一つとしては、進化 した機能が入っていることでそれを使う人がいるんですよ。例えば GPU が入っている機械があって、何かちょっとしたエフェクトとかに GPU 入ってるなら使おうかとか、そういう事があるんです。

なるほど。僕の発想はむしろ逆で、まずあるシミュレーションを行いたい人がいて,そのためのスーパーコンピュータを作るんです。そのスーパーコンピュータで培った技術をダウンサイジングして、一般の人向けに使う用途が思い浮かばないんですよね。

でも,やはり今はまだ科学技術計算のための計算能力が足りないので、もう少し能力の高い科学技術計算用のコンピューターは 必要だと思います。どの程度の計算能力が必要なのかは言いにくいですが、キラーアプリ (普及するきっかけとなるアプリケーション) は重要になりますね。やっぱり「何に使うか」がないとやる意味がないですから。

ーー今の日本だと、地震がらみの予想はキラーアプリになりそうですね。


まさに地球シミュレータが、地球変動現象のシミュレーションをキラーアプリとしています。「それが目的」という感じで出したからこそ、普及もして知名度もある。むしろその分野で成功したマシンだと僕は思っています。

ーーもう一つ疑問があるのですが、例えば予算に限度がなかったらどんどん性能はあがっていくものなのですか?それとも今の科学の限界値がこのくらいなのですか?

個々の性能に関しては、京を作った製造技術だと多分これが限界に近いです。規模としては、お金さえあれば2,3倍大きいものも作れるでしょう。しかしソフトウエアの限界があります。全体を協調させて動かす時に基本ソフトウエアは重要です。少しのソフトウェアの擾乱が全体の性能を落とすことはよくある話ですから。

ーーちなみに、技術的に計画当初の想定と違っていた事はありましたか?

使ってみると色々出てきますね。CPUの故障率という点からすると、相当良く出来ています。今回のLINPACKでも、約6万8千個のCPUが28時間ノンストップで動くのは奇跡的なんですよ。かなりしっかり作ったって感じがしますね。

ーーどのくらいで追いつかれてしまうのですか?

ピーク性能的には1年くらいだと思いますね。ただピーク性能で負けても、実行効率の点では一概には言えませんが。だから我々は、アプリケーションでいい結果を出すというところを狙っていきます。京でシミュレーションを行う事で、世界で初めてわかる現象がある。そういうところを目指していきたいです。

ーー最後に、横川さんから読者の方にメッセージをお願いします。

スパコンは「目的」からすると、「道具」だと思うんですね。道具作りとは、色んな基本的な学問領域の集大成なんですよ。半導体の製造技術、それから 回路の技術、電源など部品の技術、組み上げるシステム構築技術、もちろんソフトウエアの技術も必要です。ただ、計算機の開発が始まった1956年当時からフォン・ノイマン型という仕組みは変わってなくて、その中でどういう風な新しい技術を見つけて入れていくかが大事だと思います。そのためにはやっぱり、新しい考え方や技術 を持った本当の研究や技術者っていうのが重要なんです。そういう方向に、みんなで走ってくれればいいんじゃないでしょうか。

ーーありがとうございました。

スーパーコンピューター、というと我々とは直接縁のないものと思いがちだが、数年前まではスーパーコンピューターでしかなし得なかった計算が、いまやスマーフォンに搭載され、手の中で動作するまでになっている。

マイクロエレクトロニクスの進化の速度というものはそれほどまでに凄まじく速い。
だから横川さんのように本当のコンピューティングの最先端を走っている人たちが切り開いた未来が、何年かしたら僕たちの手元に来るかもしれないのだ。

いつの日か、新しいiPhoneに六次元トーラス結合された6万個のコアを持つCPUが搭載されるかもしれない。
そう考えてみると、コンピュータの世界はまだまだ面白いことに溢れている。

そこで実現できるソフトを作るのは、君かもしれないのだ。

このエントリーをはてなブックマークに追加
はてなブックマーク - 2番じゃダメとはこういうことだ!世界一に輝いた「京」の開発者に聞いた!
Post to Google Buzz
Share on GREE

No related posts.

Facebook comments:

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*