2010年12月16日木曜日

[StreamGraph] 本プロジェクトの方向性

 本プロジェクトの方向性だが、時間的に動的変化するネットワーク(グラフ)に対するリアルタイム処理を実現する処理基盤、として体系化する方向性に行くべきだということは、ネットワーク・グラフ屋の論文を調べていくうちに確信が深くなっている。
あえて、上記で、「リアルタイム性」という表現を使って、データストリーム処理というキーワードを使わなかったかだが、それはGIM-Vの計算モデルを、GPUのようなアクセラレータを用いて既存のバッチ処理モデルを超並列処理してリアルタイム性を実現する手法、なども考えられるからだ。また、データストリーム処理というコンテキストで言えば、(1)インクリメンタルな差分更新による処理の効率化を実現する手法、(2)ヒューリスティックス(例:雁瀬くんの二次の隔たりの特性を生かしたグラフ分割と処理の分散)を用いた性能最適化、(3)メモリに載りきらないようなグラフストリームが到着した際に Persistent な分散ファイルシステムと協調し階層的にグラフ構造を格納、頻繁にアクセスされる部分グラフのみをオンメモリ上に確保するといった最適化手法、そしてそれらのグラフデータに対して開発者からシームレスにアクセスできるような処理基盤、と言った研究テーマが考えられるでしょう。
上記の研究テーマを遂行するにあたって、まずはとっかかりとして、バッチ処理の統一的な処理モデルとして提案されているGIM-Vおよびそのリファレンス実装であるPEGASUSを軸に、上記テーマの実現手法を考えていきましょう。例えば、このブログの前の記事に Incremental PageRank の論文を載せましたが、それをPEGASUS上(もしくは System S 上で)で実装してみて、GIM-V,プログラミングモデル、処理系の gap を分析し、上記(2)や(3)((1)もできれば)を自然に表現できるモデルを提案できると良い研究成果につながると思います。

0 件のコメント:

コメントを投稿