NetSolve 2.0

新しい学年の始まり,学年の終わり

日本では4月から新しい学年,年度が始まります.

この時期,就職活動もピークを迎えます.対象となっている4回生や修士の2年生にとっては,研究や勉強どころではありません.これは,ほぼ確実に卒業見込みが出ているからできることで,そういう仕組みはアメリカとは違います.きちんと授業を行い,一定の技術や知識がついていない学生は卒業させないということにしても大学運営ができるようにしなければ,大学の授業や研究はないがしろにされっぱなしですね.ちなみに,私が現在お世話になっているUniversity of Tennesseeでは学部で50%強しか卒業していないようです.

私の所属する同志社大学知識工学科では,4回生になってからこの時期に研究室配属が行われます.遠く離れたノックスビルから,どんな学生が配属されるのか,今年の研究室は人気があるのか,などとやきもきします.ありがたいことに,大人気の研究室ではなかったようですが,定員数を満たす学生は私たちの研究室を選んでくれたようです.

一方,こちらでは,5月の始めの春学期の終了にむけて大詰めです.春学期が終わると学年度が終了し,長い夏休みに入るのです.この時期には修士のプロジェクトの発表があったり,博士論文の公聴会も頻繁に開催されたりします.季節はちょっと違いますが,日本の1月ごろのあわただしさでしょうか.

バスケットボール

4月にあったこちらの話題を一つ.

アメリカでの大学の2大スポーツと言えば,フットボールとバスケットボールではないでしょうか.バスケットボールはこの時期,全米大学1位を決定するトーナメントが開催され,もちろん,これらの試合はテレビ中継も行われ,特に準決勝以降はFinal Four と呼ばれて非常に盛り上がります.Vols(UTのチームの愛称)のフットボールチームは見るも無残でしたが,女子バスケット(Lady vols)はむちゃくちゃ強いチームでした.シーズンの試合では,強豪チームにことごとく敗れてどうなることやらと思われましたが,最後のトーナメントでは抜群の集中力で地区優勝を決め,Final Fourへ進出しました.なんと13回目のFinal Fourへの進出です.Lady Volsを率いるのは鬼のおばちゃん(失礼),Pat Summittです.ノックスビルではもちろん有名人です.しかし,彼女の独裁のチームではなく,試合を見に行ったときには,優秀なスタッフと共同してチームを作っているというような雰囲気が感じられました.今年のLady Volsはチームの組織的なプレーで勝ち進むというよりも,体力と勢いでなんとかしてしまうというチームでした.すなわち,プレーが美しくなくて,どちらかと言えばドタバタしているけれども,パワーでねじ伏せるという感じです.いかにもTennesseeという感じで良いではないですか.見事,強豪Dukeを準決勝にて撃破し,決勝を迎えました.相手は,ここ数年のライバルであるUniversity of Connecticut (UConn)です.男子もオレンジをスクールカラーとするSyracuseが優勝したし,シーズン中に負けているところはことごとくトーナメントで撃破しているので,非常に期待していたのですが,UConnのDiana Taurasiにしてやられました.抜群の3ポイントシュート能力を有していて,Lady Volsは彼女のシュートを止められませんでした.

アップルの新しい戦略

もう一つHPC以外の話題を.

この月,アップルは新しいサービスを発表しました.すなわち,音楽のダウンロード配信サービスです.これまでダウンロードした音楽ファイルの違法コピーの問題や,ミュージシャンや大手レコード会社がダウンロード配信に対して懐疑的であったために,欲しい曲がなかったりという問題がありました.それを,アップルは1曲99cという価格設定と,比較的緩やかなコピー制限という枠組みで,ほとんどの大手の曲を提供したのです.

このサービスは音楽の配信を根底から覆す予感をさせます.これが成功すれば,動画,出版も影響を受けるでしょう.アップルの成功を受けて他の類似サービスも続々参入していくことでしょう.このサービスの開始によって,マックOSの延命が図られることは無いと思いますが,LPレコードからCDになったように,CDからダウンロード配信になることは必至でしょう.

分散レポジトリシステムおよび,データベースシステムはますます重要になっていきます.

NetSolve 2.0

実はこの号は8月のはじめに書いていたりするのです.それは,当初,4月のメインの記事をNetSolveの新しいバージョンのことについて書こうと決めていたからなのでした.4月中に新しいバージョンのリリースが予定されていたからです.実際,ミーティングも頻繁におこなわれ,私もささやかながらお手伝いをしていました.NetSolveチームはみなあわただしく働いていました.

それが,のびのびになってしまい,新しいリリースの予定は今のところ,未定です.いろいろと問題が発生したり,対応しておいたほうが良い事項が出てきてしまったからでした.

本来は新しいバージョンのリリースを待って,本稿を記したかったのですが,私のノックスビルでの滞在の期間終了も近づいてきてしまったので,少々,フライング気味に新しいNetSolveについて簡単にご紹介しましょう.

NetSolveUniversity of TennesseeInnovative Computing Lab (ICL)においてJack Dongarraらを中心に開発されている広域計算環境で統合的に計算を行うためのRPCシステムです.以前にこの連載の第2回でご紹介しました.

NetSolveはクライアント,エージェント,サーバーから構成されます.

システム管理者は,各種の計算サービスをサーバーのノードに登録し,エージェントを指定して起動します.そうすると,サービスおよびサーバーの所在がエージェントに登録されます.

ユーザーはエージェントにアクセスし,希望のサービスを尋ねると,そのサービスがどのサーバーで可能なのかをエージェントが教えてくれ,クライアントは,そのサーバーとアクセスすることによってサービスが受けられるというシステムです.

1)クライアント側に大きな計算資源がなくても,大きな計算が可能となる.

2)サービスの所在をクライアントが知らなくても,サービスが受けられる.

ことが最大の特徴です.

クライアントで大規模マトリクスAが存在していたとして,その固有値解析を行いたいとします.「固有値解析を行いたいんだけど.」とエージェントにたずねると固有値解析を行ってくれるサーバーを紹介してくれ,クライアントはAマトリクスをこのサービスに送り,処理がサーバーで行われ,結果がクライアントに返されるという具合です.

同様のサービスが提供できるソフトウエアには産総研が開発しているNinf, ウイスコンシン大学が開発しているCondor,ICLが行っている別プロジェクトであるHarnessが挙げられます.

Global Grid Forum(GGF)ではグリッド上でのRPCの枠組みやAPIの決定を行うよう努力されています.これが現在のところGrid RPCとしてまとまっています.NetSolveでもこのGrid RPCの仕様にあわせたものを提供していて,これをGridSolveと呼んでいます.

これまでのバージョン(1.4.1)において,基本的な仕組みは出来上がっていました.それでは,新しいバージョン2.0では何が変わったのでしょうか?いくつか挙げられるのですが,この中から私が特に重要だと思っている機能や特徴についてご紹介しましょう.

hardware-software機能:

いくつかのバグの訂正や新しいハードウエア,OSへの対応などが行われていますが,最もこれまでのバージョンと異なっているのはHardware-Softwareと呼んでいる機能の追加です.

今まではあるサービスがあるサーバーからエージェントに追加され,クライアントからこのサービスの要求がなされた場合,このサービスは登録されたサーバーでのみ行われていました.すなわち,Hardwareとしてサーバーはいくつも存在しても,softwareがそのhardwareに存在していなかったために,利用ができなかったのです.

Hardware-Sofrwareの機能は,たとえSoftwareがそのHardwareに存在していなくても,そのHardwareを利用することができるというものです.仕掛けは次の通りです.すなわち,エージェントはサーバのハードウエアとOSのアーキテクチャを把握しています.クライアントからエージェントへあるサービスの要求があった場合に,エージェントは,サーバーに対して,実際にソフトウエアを有しているサーバーと同一のハードウエアとOSを有しているサーバーに対して,実行ファイルのコピーをばらまくように指示するわけです.こうすることで,例えサービスが登録されていなくても,エージェントが管理するNetSolveのサーバーすべてでサービスが利用することが可能となるのです.これは,Condorにおいて,計算資源がCondorプールに登録され,利用されるのと良くにています.すなわち,これまでNetSolveは単純なRPCシステムでしたが,よりグローバルな領域でヘテロ環境で行う計算システムとなったわけです.将来,エージェントに知的なジョブスケジューラが搭載されれば,NetSolveはますます使いやすいものとなるでしょう.

Globusの管理する資源の利用:

NetSolveはこれまでGlobusに対応していませんでした.すなわち,NetSolveのエージェントに登録されていなければ,その計算資源は利用できませんでした.

新しいバージョンでは,NetSolveのエージェントに登録されていなくても,Globusの管理する資源を利用する仕組みを提供しています.これは,Condor-Gを利用して行います.

まず,Condor-GのCondorプールに登録されている計算サーバー(計算資源)があるとします.このCondorのサーバーをNetSolveのサーバーの一つとしてエージェントに登録します.そうすると,NetSolveではCondorプールに登録されている計算資源が利用できるようになるのです.

Octaveのインターフェース:

NetSolveに類似のソフトウエア,ミドルウエアはいくつか存在しますが,ユーザーが利用する際の決め手はなんでしょうか.

NetSolveの欠点として,ソースが古いことや基本的な通信の性能が他のソフトに比べて幾分遅いこと,セキュリティへの対応が甘いことなどが言われています.

一方,NetSolveの最大の特徴は,最もアプリケーションを利用するユーザーにとって使いやすい機能が満載していることが上げられます.近年注目されているGlobusなどのセキュリティのツールを特に利用していないために,Globusをインストールしなければならないという煩雑さから解放されています.また,CやFortranといった各種の言語のインターフェースを持つだけでなく,これまでのバージョンにもMatLabからのインターフェースを持つなどといった,どのようなユーザーが使用している環境からもNetSolveへのアクセスを提供するという面がありました.これは,開発の長であるJack DongarraがLAPACKの開発者であり,システムの人というよりもアプリケーションの人寄りであるということに起因しているのでしょう.

今回もこの特徴の延長にある進展があります.WindowsのCygwinへの対応とOcataveインターフェースを持つことです.

OctaveMatLabに類似したオープンソースソフトウエアですが,OctaveからNetSolveのサーバーを呼び出すことができるようになったことで,プログラムが比較的苦手なユーザーもNetSolveを利用することが可能となりました.また,MatLabと同様に,GnuPlotを利用することで,グラフなどの描画も容易になります.

次のバージョンではさらにExcellからのNetSolveの利用ができるようになります.

手前味噌:

私は,最適化手法(特に進化計算を中心)の開発とシステムの開発を行っているわけですが,NetSolveのFarmingという機能を利用した遺伝的アルゴリズムのデモを作成し,C++の例題としてNetSolveに採用してもらいました.

これまでのバージョンですと,いくつかの問題があって,遺伝的アルゴリズムなどのようなRPCを非常に多く行わなければならないアプリケーションは動かなかったのですが,新しいバージョンではきちんと動くようになりました.

現在の開発状況

当初は4月にリリース予定のNetSolve 2.0ですが,現在のところ9月初めのリリースにずれこんでいます.

各種のアーキテクチャへの対応の問題に加え,現在,大きな変更としては,これまで,任意の管理ユーザーがサービスをエージェントに付け加えることができるようにしていたわけですが,これを,ある手続きで承認されたサービスだけをエージェントに付け加えることができるように,セキュリティ面を変更しています.この変更に時間がかかっているわけです.

いずれにしてもNetSolve Ver.2.0のリリースは間近にせまっています.非常に面白いソフトなので,是非,みなさん利用してみてください.

NetSolveのページをチェックしていただくか,メイリングリストに参加していただければ新しいバージョンのリリースがわかるかと思います.