デジタル人材の育成

未踏IT人材発掘・育成事業:2013年度採択プロジェクト概要(松下PJ)

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

首藤 一幸(東京工業大学 大学院情報理工学研究科 数理・計算科学専攻 准教授)

2.採択者氏名

  • チーフクリエータ
    松下 正樹(慶應義塾大学 経済学部 経済学科)

3.採択金額

  • 2,304,000円

4.テーマ名

  • システムを遠隔でトレースするWebアプリケーションの開発

5.関連Webサイト

  • なし

6.申請テーマ概要

本プロジェクトでは、DTraceやSystemTap等を使って、リモートにある複数のサーバ上にあるプロセスやカーネルの挙動を動的に解析してデバッグ、プロファイリングやパラメータの監視ができるWebアプリケーションを開発する。
DTraceは、元はサン・マイクロシステムズ社が開発したものであるが、現在ではOpenSolarisだけでなくMac OS X、FreeBSDにも搭載されている。一方SystemTapはLinuxに搭載されている動的なトレース機能であり、どちらも主にカーネルの挙動を解析する為に使われる事が多いが、ユーザランドで動作するプログラムを解析する事も可能である。
本プロジェクトで開発するシステムは、以下のような機能・構成を検討している。

  • 解析対象のカーネルやプロセスが動作するサーバ上にデーモンを配置し、それがDTraceやSystemTap等を使って対象プロセスのトレースを行う。
  • トレースの結果はリアルタイムに出力するか、Webアプリケーションのデータベースに保存した上で、ユーザからのリクエストに応じてグラフとして表示する事ができる。
  • Webアプリケーションは上記のトレース結果出力機能の他にも、プローブ(計測点)の有効化/無効化や解析対象のカーネル/プロセスの一覧など、複数の解析対象サーバを統合して管理する為の機能を提供する。

本システムによって可能となるものの例として、複数のWebアプリケーションサーバのうち1台にプローブを仕込んでパフォーマンスを測定すること、SNMPなどの方法では得られないようなカーネルの深い部分のパラメータを監視すること、分散アプリケーションを動作させているサーバ群にプローブを仕込んで、サーバをまたいだデバッグを行うことなどが挙げられる。

7.採択理由

ネットワーク越しに複数台のサーバからOS(カーネル)の挙動を取得し、リアルタイム表示や集計しての表示、また監視に基づく警告を行う。カーネルの挙動はDTraceで追跡する。これを用いることで、複数台のサーバが連合して動作している分散システム、例えばウェブアプリケーションを対象として、問題の調査や性能プロファイリングを行うことができる。
提案内容までの開発は松下君なら問題なく達成するだろう。それに加えて、扱えるサーバ台数を増やすチャレンジや、実地での問題の解決などに挑戦して欲しい。