|
| Japan Worldwide |
秋雨が少しづつ増え始めた9月中旬、岐阜市にほど近い岐阜工業高等専門学校(岐阜高専)にお邪魔した。
柴田助教授と牧野さん
クリックで拡大 岐阜高専の建築学科は、県下の大学・短大・高専で唯一の建築学科として、優秀な人材を送り出しているという。柴田先生は、岐阜高専の建築学科の助教授として、教育と研究に従事している(建築学科、柴田良一)。また、Sun Grid Engine(以下、SGE)を利用したグリッドシステムを研究している。 『最近では、建築2割・グリッド8割ほどになっているので、世の中ではグリッドの人として認識しているかも知れません。』(柴田) 牧野侑祐さんは、岐阜高専の建設工学専攻2年に所属しており、柴田研究室でグリッドシステム構築の実務を担っているという。 グリッドで構造解析をリーズナブルにしたい グリッドとは、種類の異なる複数のコンピュータをネットワークを介して1台の仮想的なコンピュータとして管理する技術である。まずは、柴田先生に、グリッドのメリットを説明していただいた。 柴田先生『グリッドには、二つの利点があると思います。ひとつは、非常に高い計算能力が手に入るということ。もうひとつは、そのコストパフォーマンスが優れていることです。元々私は、主として建築物の構造解析に取り組んできました。構造解析とは、構造物に力が加わるとどのように変形するか、材質や形状によりどこが弱くなるかなどを調べる技術です。同じ構造解析と言っても、用途が違えば目指すものがかなり違っています。 例えば、機械工学では、大規模数値解析として、1億個の連立方程式をいくつかのコンピュータが連係して並列計算する場合があります。このような構造解析だと、計算結果の精度を問題にするので、計算リソースが足らなければ追加しましょうという話になります。例えば、東大の矢川先生らが開発した並列構造解析システムADVENTUREがあります。 一方、建築の構造解析は、先の例に比べると計算はそれほど大規模ではありません。多くの研究者が、いかに計算リソースを使わないかを工夫しています。最終的に構造計算で利用する場合には、電卓でも計算できるように整理しないとダメなんです。その代わり、建築物の柱の太さを変えたり、壁の位置を変えたりと、条件を変えて同じ計算を何10万件と繰り返して、最適な解を探していきます。あるパラメータが10個あって、その4つを変更したら、組み合わせだけで1万件になりますよね。だから、それほど大規模な計算ではないけれども、計算の回数がすぐに10万件・100万件になってしまうんです。 情報工学では違うかも知れませんが、私が建築科の学生だった20年前は、このような計算を大型計算機のバッチ処理でやっていました。当時は、計算機センターにプログラムを提出すると、次の朝、厚さ1センチくらいのレポートに印刷されて戻ってきました。grepコマンドなんか使えないので、それを目でチェックして最大値を見つけだし、ノートに書き写すんです。そして、条件を変えて、またプログラムを提出する。これを100日繰り返して、100個の条件を調べるなんてことをやっていました。ですから、これまでの構造解析では10万件の条件を全て計算することはできず、構造設計者の高度な経験や前例に依存していたんです。 現在では、コンピュータの性能が上がったおかげで、高性能PCならば、一晩で数件くらいは計算できるようになりました。大型計算機を使うことで、1日で多くの条件を計算できます。しかし、大企業でもそういう計算リソースを自由に使えるという訳ではありません。ですから、技術開発の現場でも、技術者の手元にも強力な計算リソースが欲しいという要望があります。 PCで1晩に1処理して100日かかる計算であっても、100台のPCでグリッドを構築することで1晩で全部計算できるようになります。』 ノートPC3台でグリッドをデモする グリッドの概要を伺ったところで、牧野さんにSun Grid Engineをデモして頂いた。このグリッドは、専用のハードウェアではなく、デモ用に集めた3台のノートPCで構成されている。そのうちの1台が、グリッドを制御する管理ホストになる。残りの2台は、グリッドで実際の処理を担う実行ホストとなる。3台のコンピュータは、100MのLANで接続する。 管理ホストは、CentOS上で、SGEのマスターデーモン(sge_qmaster)とスケジューラデーモン(sge_schedd)を実行する。また、モニタツールとしてGangliaを使用している。 実行ホストは、カスタマイズしたKnoppixで起動する。Knoppixは、高いハードウェア認識機能を備えたCD-ROMブート型のLinuxディストリビューションである(Knoppix日本語版)。今回使用したKnoppixは、バージョン3.8をカスタマイズしたもので、使用しないアプリケーションを外すなどして、250MB程度に収めてあるという。 グリッド上では、姫野ベンチを実行した。これは、理化学研究所の姫野龍太郎さんが開発したベンチマークプログラムで、ポアソン方程式をヤコビの反復法で解くことで、主要なループの処理速度を計るという。 この姫野ベンチを実行ホストで実行すると、1台だけだと132MFLOPSとなった。実行ホストを2台にすると245MFLOPSとなった。ちなみに、1MFLOPSは、1秒間に浮動小数点計算を100万回実行できる計算速度を表す。 このように、グリッドでは、実行ホストの台数を増やせば、計算能力がどんどん増えていく。柴田先生らは、以前に岐阜高専の情報演習室にある120台のPCを用いてグリッドを構築し、115倍のスループットを得たという。 牧野さん『私は、最初からインターネットやWindowsを使っていた世代だと思います。コンピュータにちょっと詳しくなれたら良いなぁと思って柴田研究室に入ったのですが、そこではじめてUNIXを触ることになりました。SGEは、はじめて使ったUNIXアプリケーションでした。UNIXは、慣れてくると素早く使えて便利だなぁと思いました。 SGEの利点は、グリッドに必要なスケジューリングといった基本的な機能に絞ることで、UNIX的なシステムを活用できる点にあると感じました。そのおかげで、認証やセキュリティといった、通常グリッドを構築する際のハードルが下がります。例えば、認証はホスト名を利用して行うので、DNSについて理解していればグリッドを構築できます。また、GUIだけでなくコマンドラインからも操作できますし、シェルスクリプトとしても実行できると言ったメリットもあります。 SGEを利用したグリッドの開発で苦労したのは、UNIXに含まれているライブラリが新しくなり、それでSGEが起動しなくなるとか、ドキュメントや参考資料が少ないなどの点です。これは、英語のSGEメーリングリストに何度か助けられました。』 どのような研究をしているのか 柴田先生『KnoppixとSGEを組み合わせることで、ポータビリティに優れたグリッドシステムを構築できます。管理ホストだけ少し作り込んでおけば、あとは空いているPCにKnoppixのCD-ROMを入れて起動するだけ、空いているPCがグリッドの実行ホストになります。Knoippixは、優れたハードウェア認識機能を持っているので、ほぼどんなPCでもグリッドの実行ホストに変えることができます。企業でも、昼間使っているデスクトップPCが、夜間は空いていますよね。それをSGEを組み込んだKnoppixを起動すればグリッドになるというように、ほとんど費用を掛けることなくグリッドを提供できます。このような使い方を"転用グリッド"と呼んでいます。』 牧野さん『私たちは、SGEを組み込んだKnoppixに、MPIによる並列処理機能を追加しました。MPI(Message Passing Interface)は、並列プログラミングの規格で、CやFortran77にライブラリとして実装されています。MPIに対応したおかげで、ひとつの計算が大きくなる場合に並列処理をできるようになりました。 柴田先生『他には、企業との共同研究として、SGEを利用したグリッドプロジェクトを進めています。ひとつは、デンソーさんとの共同研究で、企業の遊休PCを活用して、SGEを用いたグリッドを構築して、技術開発に必要な大規模な数値解析の実現を目指しています。 もうひとつは、エーティーワークスさんとの共同研究です。エーティーワークスは、ラックマウントサーバの製造・販売メーカで専用サーバ・サービスも提供している企業です。遊休中のサーバや運用中のサーバでも常に100%の負荷がかかっている訳ではないので、そのリソースをVPN経由で結合し、商用大規模グリッドを構築できないか基礎研究を進めています。 この他に、Sun Blade 1000を32台使ったグリッドもありました。こちらは、ソフトピアというところに場所を確保できたので、一部をそちらに移すため再構築中です。』 グリッドにより建築はどう変わるのか
マシンルームには往年の
名機が積まれていた。 柴田先生の研究熱心さが伺える 柴田先生『最初にも話しましたが、グリッドの利点には二つの方向性があると思います。ひとつは、非常に高い計算能力が手に入るということ。もうひとつは、そのコストパフォーマンスが優れていることです。 また、マルチスケールの解析が可能になります。建築で扱うモデルは、地面のちょっと下から建物の中までという非常に簡単なものです。例えば、実際の建物の中身は、柱がコンクリートで、コンクリートの中には砂利とセメントと鉄筋がありますが、モデルでは、建物の柱とか梁を単純に一本の棒として見ていて、棒の中がどうなっているかは追っていません。 グリッドによる高い計算能力が手に入ると、こういった構造の階層の中まで含めた解析が可能になります。例えば、本当に地面の奥底で断層が割れて、そこからの振動が入り、建物を揺らし、柱を曲げ、鉄筋が伸び、セメントが割れるというような解析です。これが、マルチスケールの解析です。こういうのは、きっと多くの研究者が狙っていると思いますし、もしかすると地球シミュレータでやるような研究かも知れません。 私たちが狙っているのは、既存のPCを活かしたコストパフォーマンスの高い構造解析ツールです。企業向けの構造解析ソフトというのは、これまでもありましたが数百万円と高価格で、中小企業には手が出せませんでした。 一方で、フリーで利用できる高度な解析アプリケーションも増えています。東大のADVENTUREや文科省の戦略的基盤ソフトウェアでは、非常に高度な解析アプリケーションをオープンソースで公開しています。でも、それは普通のエンジニアにインストールできませんし、特殊な入力ファイルと特殊な出力ファイルを使っていて、エディタでは読み書きできるけど、見ても何だか分からないという感じになっています。 グリッドを構築することで、既存のPCを活かして高い計算能力が手に入ります。その上で、こういった高度な解析ツールを使えるようになれば、PCが数台しか無いしお金も無いという中小企業でも、実用的な時間で構造解析が可能になってきます。これまで技術者が高度な経験で行っていた構造設計を計算で裏付けできるようになると思います。』 牧野さん『現在の建築では、デザインの人はデザインだけ、解析の人は解析だけと、分かれている感じがします。グリッドにより、高いコストパフォーマンスで高度な計算能力を入手できれば、建築の中の枠組みが変わってくると思っています。 建築では、CADで図面を描いて、3Dでレンダリングするところまで来ているんですね。今後は、例えば、どこらへんが弱いか色つきで表示させるというように、CADから解析までワンセットで実現できたらいいと思います。デザイナさんがCAD上で柱を握って、ぎゅーっと曲げると、どこで折れるかすぐに表示できれば、デザイナさんが、力のかかり方を理解した上で、一番いい形を把握できるようになります。』 柴田先生『シドニーのオペラハウスという有名な建築物がありますよね。あのカッコイイ形は、実は球なんです。球を三角形で切り抜いた形状をかぶせています。あれがコンペで勝ったときのデザインは、実はフリーハンドで、こうピッと描いてあったんです。それを構造デザイナが、何とかその当時の技術で形にしようと、細いコンクリートの板を工場で作っておいて、それを現場で張り合わせるというプレキャスト工法であの形を作り出しました。当時はコンピュータが自由に使えなくて計算尺の世界だったので、球という単純な形状でしか作れなかったんです。 建築の場合は、元々からものすごく制約がありましたが、CADやコンピュータを使うことで、それがものすごく広がってきたと思います。屋根や壁がうねうねしていたり、柱がアメ細工みたいになって、どこに柱があるんだか分からないというのが、いっぱい出てきています。昔は、同じ太さで同じ間隔で柱を並べないと計算できなかったのが、広い部屋や狭い部屋を作ったとしても、コンピュータで計算できてしまうんです。 そういう新しい可能性を生み出すために、新たにコンピュータリソースを追加するのではなく、すでにたくさんのPCを持っているのであれば、それを有効活用して、うまく集約できる技術としてグリッドを活用するというのが、私たちの目標です。』 参考 ※著者のタイトル、所属等は、執筆当時のものであり、現在と異なる場合があります。
| Sun Fun Times
|
||||||||||||||||||||||||||||||||||||||||||||||