平成12年度未踏ソフトウェア創造事業
採択案件評価書
| 1.担当PM | 6.竹内 郁雄 |
| 2.採択者氏名 | 中山 泰一(電気通信大学情報工学科講師),兵頭 和樹,尾崎 亮太 |
| 3.プロジェクト実施管理組織 | 株式会社キャンパスクリエイト |
| 4.委託金支払額 | 3,991,023円 |
| 5.テーマ名 | IEEE1394を用いたPCクラスタシステムのためのシステムソフトウェアの開発 |
|
6.テーマ概要 PC/AT互換機等 (以下,PC) を何らかの通信手段によって結合し,システム全体として仮想的な並列計算機を構成する,いわゆるPCクラスタシステムに関する研究が進んでいる. PCクラスタシステムに関する多くの研究において,通信手段には超高速,かつ,信頼性の高いネットワーク (Myrinetなど) が用いられている.しかしながら,これらのネットワークでは特殊で高価な通信ハードウェアの使用を前提としており,必ずしも一般的であるとは言い難い. 本提案では,通信手段にIEEE1394シリアルバスを用いたPCクラスタシステムを提案する.IEEE1394は非常に一般的な通信手段であり,これを利用することで低コストのPCクラスタシステムを構築できる.また,IEEE1394は,最大400Mbpsの通信帯域と非常に低遅延の通信を提供する.システムソフトウェアを整備すれば,優れた通信性能をもつ (とくに,通信遅延の小さい) システムを実現することが可能である. 上記のPCクラスタシステムを活用するための,システムソフトウェアを開発する. |
|
|
7.採択理由 Myrinetなどよりもはるかに安価なIEEE1394を用いた,コスト性能比の高い高性能並列計算機システム (いわば,Poorman's high performance computing system) を構築できるというのが提案の背景である.申請者らが開発したPCクラスタシステムは,トップ性能競争ではともかく,コスト面で競合する研究は少ない.実際,これまでの物理層周辺での接続実験では,たしかに高いコスト性能比が出ている.この性能を一般ユーザが享受できるようにするためのシステムソフトウェアを開発することが本提案である.これが出来上がれば,高価で特殊な部品を使わずとも,複数台のPCを用いて,計算負荷の高い計算を誰でも手軽に行なえるようになる. ただ,コスト性能比のよいPCクラスタをうまく使う,よいアプリケーションの具体例がもっと提示されているとよい.また,この種の研究開発であるなら,(使ってもらってなんぼなので) ビジネスシーズへうまくつなげる工夫を今後もっと期待したい. |
|
| 8.得られた成果の概要 提案どおり,IEEE1394シリアルバスを用いたPCクラスタシステムのプログラミングに必要なシステムソフトウェアを作成し,ほぼ完成させた. 作成したソフトウェアは以下の2種類である. (1) CFライブラリ IEEE1394の通信性能を最大限に活かすための高速通信機構 (CFと命名) を中心としたシステムソフトウェア.バッファからバッファへのゼロコピー通信とユーザレベル通信を用いたコネクション指向の1対1通信,ハードの同報通信機能を活かしたグループ通信とバリヤ同期の機構を提供する. (2) MPICH-CF MPI (Message Passing Interface) に準拠した汎用言語インタフェース・ライブラリ.MPIの代表的な実装であるフリーのMPICHに手を加えて,ここで考案した高速通信インタフェースCFを使えるようにしたもの. どちらもいまや最も広く使われているUNIXであるLinux上で作成し,普及の便と高い互換性を狙った. 開発者たちはこれまでにIEEE1394を用いたPCクラスタFireClusterを開発してきており,ハードウェアとして高いコスト性能比を達成できることを確認してきている.実際,ネットワーク機材のコストは,たとえば,9ノードのPCクラスタを構成するのにIEEE1394を用いた場合,高速のMyrinetを用いた場合の約1/40ですみ,Gigabit Ethernetを用いた場合の約1/25ですむ.得られるバンド幅はコスト比にすると約1/10にしかならない. さらに,IEEE1394の大きな特徴は,IEEE1394のユーザレベル通信や遠隔メモリ書込み機能を利用してGigabit Ethernetより小さい遅延を実現できることである.なお,Fast EthernetはIEEE1394より安価にシステムを組むことができるが,信頼性を保証した通信での実効的なバンド幅も遅延も,IEEE1394にはるかに及ばない. ![]() [実験に使っているFireClusterの構成図.Fast Ethernetは実験の制御用に使われている.] ハードウェアとしての素質が優れていることは明らかになったが,それを利用できるシステムソフトウェアを開発することは,FireClusterの有効性を世にアピールするのに欠かせないステップである.CFライブラリとMPICH-CFはこの段階で生まれた成果である. 開発者たちはMPIで記述されたNAS Parallel Benchmarks (NPB) を用い,CFライブラリとMPICH-CFの性能を確かめるいろいろな実験を行なった. CFライブラリは裸のFast Ethernetを使った通信に比べて約1/2のRTT (Round Trip Time) を達成し,ペイロードを大きくしてもなかなか頭打ちにならないスループットをもつ.現状では理論値の400Mbpsより低い250Mbpsの性能しか得られていないが,改善方法の目星はついている. ![]() [通信遅延 (RTT) の測定結果.図の中でEthernetとあるのはFast Ethernetのことである.時間の単位はμ秒である.ペイロードサイズに関わらず,このプロジェクトで開発したCFライブラリのほうが通信遅延が少ないことがわかる.Fast EthernetのTCPに対して比較するとこの差はもっと大きくなる.] また,MPICH-CFは,実験したすべてのNPBにおいて,TCP/IPを利用したMPICHの実装MPICH-p4を上回る性能を出している.特に台数を増やしたときの差が大きくなっている.つまり,MPICH-CFのほうが台数効果があるという結果が得られている. CFライブラリとMPICH-CFは一部の機能を除き,ユーザに使ってもらえる状態にまで仕上っているが,完成度をもう少し上げれば万全である. |
|
|
9.プロジェクトや成果に対するコメント 採択理由でも述べたが,Poorman's PC clusterであるFireClusterを本当の意味で世に問うためには,研究室内で閉じた開発と評価を進めているだけではいけない.ハードを組み合わせて,PCの接続を再現することができても,ソフトウェアのノウハウがなければ誰にも使えないからである. このプロジェクトは,ともすれば性能追求型にはまってしまう研究に対して,少し立ち止まって仲間を募るための仕事をするべきだという意志表示をPMがしたものである. 中山さんは大学講師であるが,兵頭さん,尾崎さんはそれぞれ大学院生,学部学生である.まさに科学研究補助費の助成を受けた学術研究の構図になりそうであったが,PMは未踏ソフトウェア創造事業の趣旨からいって,学術論文のみの発表に終わらないように何回か進言を行なった. 得られた成果は立派なものである.若い学生が中山さんの指導の下,きちんとシステムプログラミングをこなした.チームワークがとてもよかった.この成果がフリーソフトウェアとして広がれば,若い2人の自信につながるであろう. この研究はビジネス戦略とはほとんど縁のない発想に基づいて行なわれた.ほかの人にソフトウェアを使ってもらうという発想でソフトウェアをつくることの難しさを体感してもらえたのではないかと思う. なお,遅延が非常に小さいというFireClusterの特徴を活かしたキラーアプリケーションのアイデアをなるべく数多く出すようにお願いしてあったが,やはりシステムサイドからの発想ではなかなか難しかったようである.この開発はそういう意味で典型的なシーズ指向であった. しかし,小さいパケットが大量に流れ,かつ通信遅延が全体の性能に大きな影響を及ぼす分散シミュレーションのアプリケーションに適しているのは確実である.現在PMが関係しているRoboCup Rescueプロジェクトへの適用を進言している. |
|
|
10.今後の展開に向けてのコメント PCクラスタに限らず,並列計算機や,準並列計算機に関してはコストを度外視した性能追求型の研究が広く行なわれていて,中山さんたちのFireClusterのような研究はともすれば学界の中で無視されがちである.それを撥ねのけるためには,早い普及を第一義に考えたほうがよいと思う.採択理由でも述べたが,このような実装指向の研究は使われてなんぼである. 出来上がったシステムソフトウェアとライブラリを積極的に公開する必要がある.そのためにはメンテナンスの労をとる必要があることを念頭においておかなければならない.逆にこのような物理層に近い技術の場合は完成度を上げておけば汎用的に安定して使われる道が開けている. 問題はやはりキラーアプリケーションである.シーズ指向だけではいつかは壁に当たる.中山さんの研究室では応用プログラムを開発することが難しいかもしれないが,ハードウェアのノウハウやソフトウェアを積極的に公開して,FireClusterを利用したアプリケーションをつくってくれる仲間を募るのが一番早道である.上で述べたが,RoboCup Rescueのような実際的アプリケーションへの適用を考慮して,プレゼンやデモを精力的に行なってほしい.具体的にはPMのもとで行なわれたもう一つのプロジェクト「大規模災害救助の分散シミュレーションカーネルの開発」(小藤哲彦) との合体協力を視野に入れると面白いと思う.これらについてはPMが斡旋を進めているところである. また,せっかくLinuxのソフトウェアとしてつくったものなので,Linuxコミュニティへの公開といった戦略も考えてほしい. |
|
|
11.評価の定量的なまとめ [1] 未踏性 A- ほかの人があまり注目しないところを追い求めた [2] 発展性 B+ 普及展開の戦略がカギである [3] 完成度 A- 一部を除いては満足できるレベルに達している [4] 生産性 A- チームワークがよかった [5] 戦略性 B 学会発表だけではない積極性がもっとあったほうがよかった [6] 意外性 B+ 台数効果が出ている |
|