最適化問題に対する超高速&安定計算

大規模最適化問題、グラフ探索、機械学習やデジタルツインなどの研究のお話が中心

2006年を振り返って

2006年12月31日 00時54分19秒 | Weblog
今年は Aist Super Cluster(大規模 PC クラスタ)での大規模数値実験から始まった。グリッドは SDPA Online Solver で Ninf-G などを使用したが、2005 年のような離れたクラスタ等を繋いで長時間実験を行うということはあまりなかった。それは長時間多くのノードを管理しながら接続して安定した計算を行うことが非常にコストがかかるということであり、研究としての数値実験ならばこれを行うことに大きな意味があるが、それ以外の目的ではもっと気軽にグリッド上で大規模な実行を行えるような仕組みが必要とされているということだと思う。実際に今年はそのような動きが見えた一年でもあった。
また Cell コンピューティングや仮想マシンや gfarm などを用いた最適化方法についても、今年の後半に様々な基礎的検証を行ったが、本格的な動きについては環境の整備などから来年になろう。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

インテルコンパイラー

2006年12月30日 19時51分11秒 | Weblog
インテルから純正のコンパイラーが発売&配布されている。すでに Mac OS もインテル CPU になっているので、Windows, Linux, Mac OS の三つの OS に対して C++(C も含む)、Fortran コンパイラーが用意されている。基本的には有料で販売されているが、Linux 用の非商用版をダウンロードすることができる。この無料ツールは非営利目的で個人的にソフトウェアを開発する開発者向けに提供されているので、こちらでも Linux のクラスタ等にインストールして使用している。ただしあまり新しい glibc には対応していないので、Fedora Core 5 や 6 では使用できない(12月現在)。CPU に合わせて細かく最適化の方法や SSE 命令の使用などを指定できる。AMD の CPU でも自分で SSE 命令の有無などからオプションで指定すれば同じように使用することができる。
個人的に重宝しているのは、OpenMP のコンパイラ機能で、これは C++ にも対応している。その他に自動並列機能もあって結構詳しい入門書&解説書がこちらから入手可能になっている。またインテルとは関係ないのだが、PGI コンパイラなどの性能も結構良さそうだ(個人的に両者を比べたことはないが)。PGI の方は普通に AMD の CPU もサポートしている。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

SDPA の計算量推定

2006年12月29日 03時03分07秒 | Weblog
SDPA の来年以降の計画がまた増えることになった。前にも書いたように問題が入力されたときに計算量、使用メモリなどを推定して適切なソフトウェアを選択する(SDPA, SDPARA, SDPARA-C)ことを目指している。アルゴリズムから計算量を推定する方法があって以前の SDPA では結構成功したのだが、幸か不幸か CPU やコンパイラの進化によって推定が非常に難しくなってきた。特に最近では二次キャッシュにデータがあるかないかで性能も大きく変わってしまうし、Core2Duo などでは当時に実行出来る命令数が増えているので、正直実行してみないとわからないところがある。
そのため、これを逆に取って1反復だけ実行(あるいはシミュレーション)してみて、適切なソフトウェアに切り替えようという構想もある。細かいことを考えると同時にマシンを利用していて何を動作させているかも気になるところだが、その辺も含めて実行時に判定してしまおう。内点法のアルゴリズムでは各反復の実行時間にはあまり差がない。極端な話、実行中に変数行列等だけ移動して、別のソフトウェアに切り替えるのもあるかもしれない。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Microsoft Virtual PC

2006年12月28日 09時11分32秒 | Weblog
VMWare だけ肩入れしては不公平だと思ったので、Microsoft Virtual PC なども使用しているが、Microsoft Virtual PC 2004 も無料で配布されているし、Virtual PC 2007 のベータ版の配布も行われている。こちらに Virtual PC 2004 のシステム要件が書いてある。非常に懐かしい OS が並んでいるが、MS-DOS 6.22 など古いOSでは直接ハードウェアを制御するようなソフトウェアも結構あるので、動作しない物が多そうな感じがする。実際に VMWare 上で Windows 98 を動作させてもゲーム類などは動作しないことがあった。しかし今あえて MS-DOS 6.22 を使用するとすればそのような(今から見れば危険なことをしている)ソフトウェアのような気がするのだが。
反対に NT4.0 などはハードウェア直接制御などは無いので、安定して仮想マシン上で動作するそうだが、未だに NT4.0 を使用したいという要求は結構あるらしい。 さすがに Windows 3.1 などを使いたい人は少ないのだろうが、何と言っても懐かしいのが OS/2 Warp (Ver 4)である。1989年当時は OS/2 Ver1.1 (プレゼンテーションマネージャー搭載)を PS/55(386 20MHz, メモリ 16MB, HDD 40GB : 当時としては極上のスペック)で使用していたが、洗練された GUI と安定性に強烈な印象を受けた。IBM としては OS/2 はすでに終了した OS だが、いまだにユーザーも多く、ソフトウェアの移植なども行われて、OS/2 の後継である eComStation も登場している。TRON の超漢字や eComStation などはむしろドライバの関係から仮想マシン上で動作させる方が楽そうである。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

大型アンテナの展開

2006年12月27日 02時06分06秒 | Weblog
少ない予算で頑張っている日本の宇宙開発だが、失敗しない限り大きく報道されることは少ない(数年前に中国の有人宇宙飛行で狂喜乱舞しているマスコミもいたが)。地上で様々な実験や計算機でシミュレーションしても宇宙空間の本番で成功するかはわからない。例え宇宙空間で実験できたとしても、毎回必ず成功できるわけでもない。何回も打ち上げ、時には失敗もして技術が洗練されていくはずだが、日本だとたった1回失敗しただけでも強く非難される。普通に考えれば積極的に投資すべき分野だと思われるが何故できないのだろうか。

技術試験衛星VIII型「きく8号」の大型展開アンテナの展開結果について

 宇宙航空研究開発機構(JAXA)は、「きく8号」に搭載されている大型展開アンテナ(LDR)のうち、延期しておりました送信アンテナの下部保持機構の解放及び鏡面展開を平成18年12月26日18時56分(日本時間、以下同様)から12月26日20時10分にかけて、沖縄局からのコマンドにより実施しました。
 その結果、衛星からのテレメトリデータ及び搭載カメラの画像により、同アンテナが正常に展開されたことを確認しました。同衛星から得られた大型展開アンテナの展開画像を別添に示します。これにより、「きく8号」のアンテナ展開を全て完了しました。なお、現在、衛星の状態は正常です。

小惑星探査:はやぶさ後継機 2010年に打ち上げへ

小惑星着陸に成功し、世界初の岩石の回収を目指している日本の探査機「はやぶさ」の後継機開発計画が4日、宇宙開発委員会部会で明らかにされた。4年後の2010年に打ち上げ、15年の帰還を目指す。小惑星探査は宇宙開発の中でも日本がリードする数少ない分野だが、米航空宇宙局(NASA)も10月末に同様の探査構想を公表しており、日米間での競争が加速しそうだ。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

VMWare Server

2006年12月26日 03時57分44秒 | Weblog
VMWare は製品版の VMWare Workstation やフリーの VMWare Player などをあれやこれやと試していたが、同じくフリーの VMWare Server についてはすっかり忘れていた。無償提供で儲かるのかと思うが、企業ユーザーが正式に使用するときはサポート契約を結ぶので、その辺は Linux と同じである。これはゲスト OS 上で SMP に対応しているのが魅力の一つだが、製品版から 64bit 対応が進んで行くようだし、製品版の購入も検討している。

米VMware、「VMware Server」正式版の無償提供を開始

今回無償提供が行われるVMware Serverは、バーチャルマシン上でのゲストOS動作のために、メインとなるホストOSが必要なタイプの製品。動作中のマシン上に簡単にバーチャルマシン環境を作れるのが特徴で、主に中小規模のシステムを対象としている。動作可能なハードウェアはx86プロセッサを搭載したPCで、ホストOSとしてLinuxとWindows、ゲストOSとしてLinux、Windows、NetWare、Solarisの32/64ビット版がそれぞれ選択できる。バーチャルマシン上で最大2-wayプロセッサによるバーチャルSMPの割り当てが可能であり、ゲストOS上でデュアルプロセッサ環境が利用できる。また中央管理コンソールとしてVMware VirtualCenterの利用が可能。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

VMWare イメージファイルによるソフトウェアの配布 その2

2006年12月25日 00時37分00秒 | Weblog
Linux 上で VMWare などの仮想マシンのソフトを動作させて、さらにそこで Linux を動作させること(極端な場合では、Fedora Core 5 の上で Fedora Core 5 を動作させるなど)は一見あまり意味の無いこと(リソースの無駄使い)のような気がするが、実はディスクアクセスのほとんどないソフトウェアは仮想マシン上で実行しても速度は少ししか遅くならないし、クラッシュ時の全体に与える影響を考えるとむしろ気軽に使用しやすい所がある。
だからグリッドにおいて外部からアプリケーションの動的配布を行う場合には、むしろ仮想マシンのイメージファイルを送って各マシンで実行してもらった方がアプリケーションのインストールや環境設定の手間や正確さを考慮すると好ましい点が多い。実際にそのような方法で動的に外部からクラスタシステムを構築する研究も行われている。しかし Linux on Windows というのは安定性から心理的に抵抗を感じる人も多いので、Linux on Linux という話が出てくることになる。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

VMWare イメージファイルによるソフトウェアの配布 その1

2006年12月24日 02時28分19秒 | Weblog
ソフトウェアの配布方法には、
1: バイナリで配る(Windows に多い)
2: ソースコードで配る (UNIX 系に多い)
少し特殊だが、
3: OSやソフトウェアをインストールしてコンピュータ(パソコン等)を配布する
4: Web サービス等でハードウェアとソフトウェアを提供する(グリッドの技術も含まれる)
最近では WMWare、Xen、VirtualPC などの仮想化ソフトウェアが普及して無料でも手に入るようになってきた。かなり大きめのリソースを消費するが、これらの仮想マシンのイメージファイルでのソフトウェア配布なども選択肢としてはあり得るだろう。つまり仮想マシン上に OS とソフトウェアをインストールして配布することになる。Linux で開発しているソフトウェアは Windows に移植しにくい物も多いので、Windows の VMWare 上で実行してもらうのも良い。ハードディスクやメモリ等に余裕があれば cygwin で Linux のソフトウェアを実行するよりも便利だろう。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

グリッド関係の主要ソフトウェア

2006年12月23日 01時59分42秒 | Weblog
今までもいろいろとソフトウェアを使用してきたが、来年は以下の三つのソフトウェアの使用(あるいは組み合わせ)などを考慮に入れている。

1: グリッド用プログラミングツール Ninf-G
NinfおよびNinf-GはGridRPCに基づくプログラミングミドルウェアである。もともとNinfはネットワーク上に分散配置された計算機やデータベースを簡単に利用して、効率良く計算を行なうためのプログラミングミドルウェアとして設計・開発された。 Ninf-GはNinfに対してセキュリティや情報サービスなど様々な要素技術においてグリッドの標準技術を導入したシステムであり、遠隔手続き呼び出しのインターフェイス関数や、被呼び出し可能な手続きの生成ツールなど、C言語やJava言語などで記述された約17万行のプログラムを含んだツール群から構成されている。Ninf-Gを用いることにより、 (1)手元の計算機で実行すると時間がかかる大規模な計算の遠隔地の高性能計算機上での実行、(2)遠隔地の計算機にしかインストールされていないソフトウェア(ライブラリ)の利用、(3)グリッド上の大量の計算機を利用した問題の高速処理、など様々な利用を容易に実現することができる。

2: グリッド用プログラミングツール GridMPI

GridMPIは、グリッド上の計算資源間でデータをやりとりするためのメッセージパシングライブラリであり、 一つのアプリケーションをインターネット上で並列計算する並列アプリケーションに対して、高性能実行環境を提供することを目指している。

3: 仮想ファイルシステム Gfarm
本プロジェクトでは,広域ネットワーク上に分散して配置されたPCとそれに付随するストレージを利用し,高速大容量ディスクと高速演算処理能力を持つ仮想コンピュータの実現を目指したグリッドソフトウェア(Gfarm:Grid Data Farm)の研究開発を行っている.皆がどこからでも安心してアクセスすることができ、仮想的な大容量ディスクにより大規模なデータ処理,データの共有を行うことができる仮想コンピュータの実現を目指している.

1 は通常の MPI(MPICH 1.x や MPI-2)などと組み合わせて最適化アプリケーションの並列化。2 と 3 は SDPA の並列化関連に使用する予定である。3 などは最近は海外でも注目を集めているようだが、三つを全て使用する計画を持っているグループは他にはいないかもしれない。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

高速電力線通信(PLC)

2006年12月22日 11時38分35秒 | Weblog
様々な制約があったが電力線通信(PLC)が解禁になった。家までは光ファイバー等を引いてきて、PLCは家庭の中のみで利用するのが一般的な使用法だと思われている。それ以外の施設等でも 100V の電灯線が引いてあるところなら有線ネットワークが利用できるので、むしろ家庭や工場などよりも物理的に離れた設備をネットワークに接続するときに便利であるという認識もされている。神社仏閣などでも火災報知機が設置されていて通常はこちらにも 100V の電灯線が引かれているので、ここに機材が設置できれば新たに通信ネットワーク用の回線を敷設しなくても、電源とネットワークの両方が利用できて一石二鳥である。今後のセンサーグリッドの研究などでも有力な選択肢になるだろう。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

3環状高速道路

2006年12月21日 01時31分43秒 | Weblog
3環状(圏央道、外環道、首都高中央環状線)のホームページがあることを以前紹介したと思うが、この中にはすぐに開通しそうなものから、生きている間に開通は無理だろうと思われるものまで様々である。おそらく問い合わせが多いのだろうが、これらが何年ぐらいに完成するのかを示したページがある。これらは土地の買収等が順調に終わることを前提にしているので、実際にはこれより遅れる可能性が大きい。
ところで外環道の練馬から用賀(つまり関越道から東名高速)までは、昭和41年の美濃部知事に時代に都市計画が決定されたが、当時は自動車排気ガスなどによるスモッグの公害が激しかったので、大きな反対運動が起こり実質的には中止に近い形になっていた。それが石原都知事になってからまた動き始めているが、この路線を地上に作るのは予算的にも政治的にも不可能に近い。そこで地下(大深度地下)に建設が決まっているが、具体的なスケジュールはまだない。何時になるのかわからないのに、すでにバーチャルムービーが作成されていてこちらから見ることができる。このムービーで初めて知ったのだが、外環道のこの区間は片側3車線になるようだ。予算がかかるので首都高中央環状線のように片側2車線だと思っていたが、外環道は和光と大泉間が3車線なので、そのまま接続する形になるのだろうか。いずれにしても3車線でも相当混むだろうから妥当な選択である。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Core2Duo と Fedora Core 6

2006年12月20日 00時30分15秒 | Weblog
最新のチップセットで Linux が動作しない可能性はまだまだ高い。それでも昔に比べれば格段に Linux への対応も速くなっている。以前は Linux を搭載するためにはマザーボード、ビデオカード、ネットワークカードは古くて汎用的なものを揃える必要があった。
Core2Duo E6600(2.4GHz:現在はクロックアップして 2.88GHz)でも Linux を使用したいと思ったので、マザーボードは最新の SLI 対応のチップセット nForce 590 SLI ではなく、少し古めの nForce 4 SLI X16 を用いたマザーボードを使用した。このため Fedora Core の最新バージョンである Ver 6 をインストールしたところ正常に動作した。nForce 4 SLI X16 はやや古いがフル帯域(16 x 2)で NVIDIA SLI が利用できるし、普通に Ultra ATA も使用できるのでお買い得品である。最近は VMWare などの仮想化ソフトも高機能なので Windows 上で Linux を動かすのも十分選択肢としてあり得る。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Cell SDK 2.0

2006年12月19日 00時17分02秒 | Weblog
IBM Cell Broadband Engine Software Development Kit (略して Cell SDK)の 2.0 がリリースされている。Fedora Core 5 ならば、このページから CellSDK20.iso をダウンロードしてきて

mkdir –p /mnt/cellsdk
mount –o loop CellSDK11.iso /mnt/cellsdk
cd /mnt/cellsdk/software
./cellsdk install

などとするのだが(詳しくは Software Development Kit 2.0 Installation Guide - IBM を参照)、この方法だと多くのファイルを www.bsc.es からダウンロードするので時間がかかる。あらかじめ http://www.bsc.es/projects/deepcomputing/linuxoncell/cellsimulator/sdk2.0/ にアクセスして必要なファイルを取っておいた方が速いかもしれない。
しかし、SDK 2.0 では SDK 1.1 で作成したファイルがそのまま実行出来ないことが多く、Makefile の書き方なども面倒である。初めて使用するのなら 2.0 も良いと思うが、現在 1.1 で開発している人は慌てて移行する必要はないかもしれない。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Core2Duo とクロックアップと就職懇談会

2006年12月18日 03時36分26秒 | Weblog
Core2Duo が来たのでいきなりクロックアップしてから使用開始するが、最初はおだやかに E6600(2.4GHz)の2割増し 2.88GHz で使用している。通常の FSB 1066MHz だと メモリ DDR2-800 ではオーバースペックのような気がするが、クロックアップのことを考えると DDR2-667 から DDR2-800 に変えておいて良かった(安定して動くようならば 3GHz も狙ってみよう)。
しかし 2.4GHz の CPU のクロックを 2.88GHz に上げても全く安定して動作しているのだが、大変お買い得な CPU の一つであろう。体感でもベンチマークでも Pentium 4 の 3.9GHz(これも 3GHz からクロックアップ)のマシンよりもかなり高速でしかも低電力、静穏である。いったい Pentium 4 とは何だったのだろうと思っている人も多いであろうが、64bit では反対に Core2Duo より高速らしい。でもやはり 64bit で使用するなら Dual Core の Xeon や Opteron + Linux だろう(しつこいが)。ビデオカードも GeForce 7600GS の2枚挿し(SLI)なので、これも大変高速である。他のマシンを使うには忍耐が必要になってきた。

話は変わるが16日はOBによる就職懇談会で懐かしいOBの方にも来ていただいて講演をお願いした。以前は講演後も残ってOBに就職関係について相談、質問する学生も少なからずいたが、今年は見事に学生は全員即帰っていった。5年ぐらい経つと全く別の質の学生になっている(いくら何でも急激に偏差値が下がり過ぎである)。

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最適化ポスドク募集

2006年12月17日 02時55分33秒 | Weblog
東工大で SDPA/SDPARA 関連の開発等を行うポスドクを募集することになった。とは言っても下記の募集要項にあるように SDPA/SDPARA の開発や応用に携わることは必須の条件ではない。私が審査するわけでも雇用するわけでもないので何とも言いにくいのだが、期間が短いのでポスドク後もこの分野に携われる人がいいのではないかと思う(開発等もさらに続くので)。

最適化ポスドク研究員募集

この度東京工業大学 グローバルエッジ研究院「フロントランナー養成プログラム」による研究資金よりポスドク研究員の公募を下記の要領で行います。
公募人員
1名
求める研究員
幅広い意味で連続最適化の分野で活躍する研究員。理論派実装派は問わないがあえて言うならば半正定値計画関連問題に対する興味と知識があり、ソフトウェアSDPA/SDPARAの開発・応用を援助してもらえる有能な研究員が望ましい。また、連続最適化の応用としての量子化学分野の基礎知識もしくは並列計算の経験があれば尚かつ好ましい。
採用予定日
平成19年4月1日以降
任期
平成20年3月31日まで最高1年
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする