2010年5月20日木曜日

[Data Distribution / StreamScale] データストリーム処理におけるデータ分散最適化

来週からイスラエルで始まる 国際会議 SYSTOR 2010 では、ETL (Extract-Transform-Load) 処理にデータストリーム処理をした際の様々な性能解析と性能最適化に関する論文を発表します。

さて、この研究の続きとして以下のことを考えています。

SYSTOR の論文では、データを計算側に送る供給量が並列環境では十分ではなく、計算側のノード数、コア数を増加させたときにスケーラビリティが得られないという問題点をあげています。その解決策として、データの供給側を増やすことによって、リニアな性能向上を達成できたというのがこの研究の貢献です。この論文を受けて、以下の研究テーマを考えています。

1. 自動最適化: 先行研究では、供給側の増加は、供給側の分割数を試行錯誤しながら行いましたが、自動的に最適な分割数を探索し、かつプログラム変換によって自動最適化を行う手法を考えます。また、計算側のオペレータは、事前にプログラマによって SPLIT などによって、並列化していることを前提としていますが、開発者は論理的にデータ読み込みと計算部分を並列化を意識せずに開発し、最適化機構によって、ソース数と計算オペレータ数を最適化するようなプログラム変換を施し最高性能を得ます。

2. 実行時自動最適化: 1 は実行時前の最適化ですが、実行時にプロファイリングしながら最適化することも考えられます。こちらは難易度が高いですし、現行の System S ではできないでしょう。本研究室でデータストリーム処理系を作るとしたら、まず、このような最適化ができるような仕組みを作っておく必要があります。

0 件のコメント:

コメントを投稿