我々がふだん接するITの世界とは、歴史、思想、文化といった面で大きく異なるスーパーコンピュータ。では技術的にはどれほどの違いがあるのでしょうか。スパコンと一般のITの世界では互いに共有できる部分はあるのか、それともまったく別の存在としてこれからも交わることなくそれぞれに発展していくのか?
6月に米サンフランシスコで行われたクラウドカンファレンス「GigaOM Structure 2013」において、筆者はロスアラモス国立研究所のHPC部門リーダーであるゲイリー・グライダー(Gary Grider)氏のセッションを聞く機会を得ました。
米国には核兵器のシミュレーションを専門に行う研究所がいくつかありますが、最も有名なものはニューメキシコ州にあるロスアラモス国立研究所とカリフォルニア州にあるローレンスリバモア国立研究所です。1945年に広島および長崎に投下された原子爆弾が、"マンハッタン計画"の下、ロスアラモス国立研究所で開発されたことはよく知られています。そしてロスアラモスもローレンスリバモアも世界トップクラスのスパコン納入先としてよく名前が挙がりますが、その理由は言うまでもないでしょう。
その研究所内で、膨大なデータを使いながら核兵器シミュレーションを毎日行っているトップエンジニアは、スパコンと汎用コンピュータの関係をどう捉えているのか、20分間という短い時間でしたが、興味深い発言をいくつか聞くことができました。その一部をここで紹介したいと思います。
スーパーコンピュータの持つポテンシャルを使い切るミッションとは?
汎用的なコンピュータでは気の遠くなるような時間がかかる科学計算を、その半分、もしくは数分の一に短縮できるスパコン、ではスパコンはそもそもどんな計算をするために開発されたのでしょうか。
すこし前の話になりますが、2011年に富士通のスーパーコンピュータ「京」が計算速度で世界一の称号を勝ち獲ったことがきっかけで、一般のメディアでもスパコンの話題を見かける機会が増えてきました。汎用的なコンピュータと異なり、スパコンの開発には莫大な費用がかかります。当然ながら京も富士通だけで開発することは難しく、国家プロジェクトとして国の予算が投下されました。
当時の事業仕分けで某大臣が「どうして2位じゃダメなんですか」と噛みついたことでも知られる京ですが、京に限らず、スパコンという存在はあまりにも一般の世界とかけ離れているため、なぜ大金を投じてまで開発しなければならないのか、という疑問が出てくるのはある意味当然なのかもしれません。
日本では創薬開発や流体力学の計算を行う部分が強調されますが、米国、そしておそらく中国においてもスパコンにとって最も重要なミッションは、核兵器のシミュレーションです。核実験が禁止されている現在、スパコンにおける核兵器シミュレーションは国防上、欠かせないプログラムであり、極論すればスパコンのレベルは軍事力のレベルそのものを示しているとも言えます。スパコンがあって核兵器の開発が進んだのではなく、核兵器のためにスパコンは進化してきたのです。
核兵器のシミュレーションでは、当然ながら膨大なデータをもとに計算が行われます。ロスアラモスでグライダー氏が扱うデータ量は平均すると1秒間で100テラビット、これはGoogleが人口10万人のカンサスシティに対して1秒間に届けるデータ量とほぼ同じだそうです。「5分も経てば4ペタバイトを超える」とのこと、流行りのビッグデータという言葉ではとてもくくることのできない量のデータを日々扱っているのです。
もっともグライダー氏は「データ量はたしかに多いが、I/Oに関してはそれほどでもない」と説明しています。今回のStructureではFacebookのエンジニアによるセッションも行われ、そこで彼らは「Facebookが必要とするI/Oのレベルは20億IOPS」というとんでもない数字を紹介して会場を驚かせました。
一方、グライダー氏は「Facebookに比べると我々の数字はかなり少なく、ノードごとで1日50万IOPSほど。あと2、3年もしたら100万IOPSくらいにはなるかもしれないが、ビリオンを超えることは当面ないだろう」と語り、その理由として「核兵器シミュレーションは決まりきった定型的な処理が多いので、Facebookが構築するネットワークのようにイレギュラーな状況に置かれることはほとんどない」ことを挙げています。
現在のビッグデータ処理は「かつて通ってきた道」
FacebookやGoogle、Amazonなどの巨大企業を筆頭に、米国には"ビッグデータの分散処理がビジネスの中核にある"という企業が数多く存在します。こうした企業のほとんどは1990年代後半以降に登場し、競争や提携を繰り返しながら大量データの分散処理技術を進化/発展させてきました。
わかりやすいところでいえばGoogleが生み出したMapReduceやGoogle File System、それらをベースに開発されたHadoop、Amazonのヴァーナー・ボーガス博士の論文から誕生したDynamoなどが挙げられます。IT企業だけでなく、ビッグデータをビジネスに活用するユーザ企業の研究/開発も盛んで、たとえば動画配信のNetflixなどはすべてのコンテンツ配信をAWS上で行っていることでも有名です。
ですが、こうしたIT企業やユーザ企業が現在積極的に行っている開発─膨大なデータを分散環境で並列かつ高速に計算するという試みは、実はロスアラモスやローレンスリバモアが何十年も前から行ってきたことでもあります。したがって「同じ米国内での技術発展に、ロスアラモスやリバモアの成果を活かすことはできなかったのか?」という疑問が米国民から発せられることも少なくありません。
MapReduceやGoogle File Systemなどはいわば"車輪の再発明(reinvent of the wheel)"にあたるのではという問いに対し、グライダー氏は「そういう側面は否定できない」とあっさりと認めています。
「Facebookなどが現在開発していることは、かつて我々が通ってきた道と重なる部分が多く、一緒に開発できたこともあったのでは?と聞かれればなかったとは言えない。Google File SystemやHDFSを見ていると、Lustre(巨大なスケールの並列分散処理で用いられることが多いファイルシステム)やPanasas(HPCにおける分散ストレージシステム)など、スパコンがたどってきた分散処理の経験をダウングレードして再現しているようだと感じる。また、逆に我々が業界から学べたことも少なくなかったはずだとも思う。だが、もし一緒にやる機会があったとしても、文化の面からも規制の面からもうまくいかなかったはず。きっと共倒れになっていたんじゃないかな」(グライダー氏)
グライダー氏は一例として、秒間で億単位を超えるI/Oを要求するような極度に集中的なプロセス処理などは、アプリケーションが緊密に連結されている核兵器のシミュレーションであれば、それほど時間を要さずに捌くことができるとしています。
逆に障害からの迅速な復旧(レジリエンス)においては、スパコンではアプリケーション間の連結がタイトすぎてうまく稼働しないケースが多く、そうした経験値を多くもつ民間企業のナレッジを導入できた機会はあったかもしれないと振り返ります。ちなみにロスアラモスには、"死体"となったサーバを毎日処分する専門の従業員がいるそうです。
小型発電所規模の電力が一瞬で消費されるコンピューティング
しかし、やはり核兵器のシミュレーションとは非常に特殊な世界であるという事実を、次のグライダー氏の発言から改めて読み取ることができます。「アプリケーションが非常に密接に、かつ頻繁にメッセージをやり取りしているのは、一度、ストップボタンが押されたら、200万コアを占有するアプリケーション群のすべての機能を停止しなければならないから。メモリには5分間で4ペタバイトのデータがたまるが、それを一瞬で消去し、ディスクに書き込まれた内容もすべて超高速、1秒間に1テラバイトのスピードで消去しなくてはならない」
1つのボタンが押されることで、密に連携された200万コアのアプリケーション群が次々と連鎖反応を起こしていくさまは民間人の想像の範囲をはるかに超えており、たとえFacebookやGoogleクラスであっても、決して見ることができない光景がそこには展開されているのです。
「ひとりのユーザが200万コアのアプリを占有するという状態は、200万人のユーザが1コアずつ利用する状態とはあらゆる意味でまったく異なる。電力にしてもそう。我々は1ラックで200キロワットを使用する。並の企業やデータセンターなら20~30キロワット程度だろう。もし200万コアのアプリが突然アボートするようなことがあれば、10メガワットもの電力を一瞬で消費してしまうことになる」(グライダー氏)
1メガワットは約100世帯が1日で消費する電力量に相当します。10メガワットであれば小さな発電所クラスの電力量とほぼ同じであり、もし万一核兵器シミュレーションに異常が発生すれば、発電所は何日も機能停止に陥る危険性があります。このように消費電力量が年々増え続けていることが、電気代と電力会社の負担増という両方の面からロスアラモスを悩ませているとグライダー氏は語っており、このままだと30メガワットに到達する日も遠くないそうです。
エネルギー効率の向上はスパコンの進化とは切り離せない問題で、ロスアラモスは2009年まで世界最速を誇っていたIBM製の「Roadrunner」を今年になって粉砕処理しましたが、このスパコンも非常に"電気を食う"タイプだったとされています。電力問題に関しては民間企業と協力できる部分も少なくないかもしれません。
Javaはスパコンでは役立たず?!
クラウドやビッグデータがブームとなったことで、スケールコンピューティングという世界にもあらためてスポットライトが当たるようになった昨今ですが、グライダー氏は「大学ではいまこそきちんと分散並列処理の基礎を教えるべき」と強調します。
続けて「1990年代に一度クラスタリングのブームがきて、あっという間に去ってしまった。そして大学ではJavaみたいな役立たず(useless)の言語を教えるようになった」というグライダー氏の言葉に、会場からは「Javaが役立たずだって言ってるよ!」というツイートが数多く発信されました。
米国きってのスパコンエンジニアが"役立たず"という強い表現を使うからには、相応の理由があってのことだと思われますが、残念ながらグライダー氏は"Javaがなぜ役立たずの言語なのか"については多くを語りませんでした。「スパコンの世界ではJavaはまったく使えない」という発言から、高速な分散並列処理環境にJavaアプリケーションは適さないと強調したかったのかもしれません。
実際、スパコンの世界ではJavaよりもFORTRANが使われているのはよく知られています。グライダー氏は「現在、IEEEやNSFなどが学部生向けの分散コンピューティングの授業を復活させようと努力しているみたいだけど、とても良い取り組みだと思う。(Javaに奪われた)失われた10年を取り返さないとね」とも語っており、スパコン技術者や分散コンピューティングのエキスパートを育成するには大学での教育が必須であるとしています。
スパコンで発展した分散コンピューティングの分野が、大学などの教育機関をレバレッジにして、民間に普及し、汎用コンピューティングの世界の発展につながると考えれば、カリキュラムの強化は非常に重要な国の施策といえそうです。
クラウドにデータが移せない事情
日々、膨大なデータを扱うロスアラモスでは、データのアーカイブをどうしているのでしょうか。グライダー氏は「1日に数回、200台のテープドライブを稼働させてアーカイブを取っている」と言います。テープというなんとも旧式なメディアが登場したことにちょっとした驚きを覚えますが、グライダー氏は「テープは容量あたりの単価がディスクに比べてはるかに安く、可搬性にもすぐれたメディア」と高く評価しています。
またクラウドへのデータ移行については検討中だとしています。クラウドで問題になるのは、ペタバイト級のデータ量ではなく、データの形態があまりにも一般のそれと違いすぎることです。一般のクラウドでは、たとえば写真や動画など、数百ギガバイトからせいぜい数十メガバイト程度のサイズのファイルやオブジェクトを数多く格納します。ロスアラモスのデータはそうした形態では格納できないため、一般的なクラウドサービスを利用してアーカイブを保管するのは非常に難しいそうです。
「よいクラウドサービスがあれば検討したい」とグライダー氏は言っていましたが、AmazonがCIAのクラウド構築案件を勝ち獲ったように、ロスアラモス専用のサービスを構築できるクラウドベンダが今後、出てくる可能性もあるかもしれません。
「(GoogleやFacebookなどの)Webカンパニーが競争を繰り広げて市場が大きくなったように、ロスアラモスもローレンスリバモアと競争を続けている。どちらが優れた核兵器のデザインを行うのか、どちらが良いシミュレーションの計算結果を得るのか、つねに意識しあっている。競争は市場原理において非常に重要」と語っていたグライダー氏。核兵器のシミュレーションという特殊な世界で発展してきたスパコンですが、汎用コンピューティングとの間にはやはり大きな壁があるようです。しかし、世界最高レベルのスパコンが稼働する研究所が日々生み出す技術の進化は、必ず民間に波及します。
米国の企業がクラウドやビッグデータ、ソーシャルといった分野で圧倒的な強さを誇る背景には、ロスアラモスのような存在─世界最高のスパコンで信じられないようなスケールの分散コンピューティングを超高速で行う環境、グライダー氏のようなトップエンジニアがライバルへの競争心をあらわにしながらが開発に打ち込める環境があるからだということを、つくづく感じさせられたセッションでした。