デジタル人材の育成
首藤 一幸(東京工業大学 大学院情報理工学研究科 数理・計算科学専攻 准教授)
チーフクリエータ
松下 正樹(慶應義塾大学 経済学部 経済学科)
本プロジェクトでは、DTraceやSystemTap等を使って、リモートにある複数のサーバ上にあるプロセスやカーネルの挙動を動的に解析してデバッグ、プロファイリングやパラメータの監視ができるWebアプリケーションを開発する。
DTraceは、元はサン・マイクロシステムズ社が開発したものであるが、現在ではOpenSolarisだけでなくMac OS X、FreeBSDにも搭載されている。一方SystemTapはLinuxに搭載されている動的なトレース機能であり、どちらも主にカーネルの挙動を解析する為に使われる事が多いが、ユーザランドで動作するプログラムを解析する事も可能である。
本プロジェクトで開発するシステムは、以下のような機能・構成を検討している。
本システムによって可能となるものの例として、複数のWebアプリケーションサーバのうち1台にプローブを仕込んでパフォーマンスを測定すること、SNMPなどの方法では得られないようなカーネルの深い部分のパラメータを監視すること、分散アプリケーションを動作させているサーバ群にプローブを仕込んで、サーバをまたいだデバッグを行うことなどが挙げられる。
ネットワーク越しに複数台のサーバからOS(カーネル)の挙動を取得し、リアルタイム表示や集計しての表示、また監視に基づく警告を行う。カーネルの挙動はDTraceで追跡する。これを用いることで、複数台のサーバが連合して動作している分散システム、例えばウェブアプリケーションを対象として、問題の調査や性能プロファイリングを行うことができる。
提案内容までの開発は松下君なら問題なく達成するだろう。それに加えて、扱えるサーバ台数を増やすチャレンジや、実地での問題の解決などに挑戦して欲しい。