デジタル人材の育成

未踏IT人材発掘・育成事業(本体):2010年度採択プロジェクト概要(玉井PJ)

1.担当プロジェクトマネージャー

藤井 彰人(Mashup Awards 1-4 主宰、 グーグル株式会社 エンタープライズ プロダクト マーケティング マネージャー)

2.採択者氏名

  • チーフクリエータ
    玉井 森彦(株式会社国際電気通信基礎技術研究所 適応コミュニケーション研究所 研究員)

  • コクリエータ
    酒井 憲吾(株式会社国際電気通信基礎技術研究所 適応コミュニケーション研究所 研究員)

3.採択金額

  • 2,880,000円

4.テーマ名

  • プロセスの仮想化による分散システム開発支援ソフトウェア

5.関連Webサイト

  • http://takt-dev.net

6.申請テーマ概要

分散システムの開発は難しい。その主な原因として、複数台の計算機間の通信は任意のタイミングで発生しうることがあげられる。ある分散システムの開発において、特定のタイミングでシステムが正常に動作することを確認しても、ネットワークの速度が異なったり、計算機の台数が増減したり、計算機の性能が異なったりすることで通信のタイミングがずれると、途端にデッドロックが発生したり、リソースのリークが発生したり、システムが異常終了したりしてしまう。また、そのように分散システムが正常に動作しないタイミングにおいて、分散システムをデバッグしようと試みても、そのタイミングをうまく再現させることは困難であり、同じバグが発生するまでに何度もシステムを再実行したりする必要がある。

このような分散システムの開発の困難性を改善するため、本提案では、分散システムを仮想時間により実行することで、実行の再現性を確保するための方法を提案する。具体的には、分散システムを構成する各プロセスが発行するシステムコールを全て捕捉し、それを離散イベントシミュレータ内のイベントとしてモデル化し、仮想時間上で実行する。本提案が実現すれば、分散システムを様々なタイミングで実行することが可能となり、また、特定のタイミングでバグが発生するならば、そのタイミングを常に再現可能とすることで、デバッガなどによるバグの原因追求を容易にすることが可能である。

7.採択理由

仮想化や、分散システムの構築が広がり、このような環境における障害検出、解析作業は今後その需要を増していくことが想定される。本提案は、まさにこれらを支援するためのツールであり、仮想時間上で実行されるシミュレータの実装というアイデアがユニークである。開発の根幹にかかわる技術であり、未踏として採択すべきと考える。未踏期間中に広く使われている分散ソフトウェアの障害検出なども視野に入れている。