研究概要 |
本研究では,XMLなどの大規模データ処理のためのプログラムの記述性・保守性と効率とを両立させるため,木構造処理プログラムからストリーム処理プログラムへの順序付き線形型に基づく自動変換の枠組みを研究している.これにより,ユーザは木構造処理を用いてプログラムをわかりやすく記述することができ,一方で実行の際はストリーム処理プログラムに変換した上で走らせることにより,効率よくデータ処理を行うことができる. 今年度は,まず昨年度に作成したXML用のストリーム処理プログラム生成器X-Pの第一版の有効性の評価を行った.その結果,いくつかのベンチマークプログラムにおいて,不要なバッファリングが挿入されるという問題点が見つかった. そこで,その問題を解決するため,プログラム中に不要データの除去を行うための命令を挿入する「不要データ除去変換」を新たに定式化した.昨年度までの木構造処理プログラムからストリーム処理プログラムへの変換は,(1)順序付線形型に基づき,木構造処理プログラムにバッファリング命令を挿入して入力木を深さ優先順にちょうど一回ずつ走査するプログラムに変換する,(2)1の変換後のプログラムの木構造処理命令をストリーム処理命令に置換える,の2つのフェーズからなっていたが,この2段階の変換の中間に,上記の不要データ除去変換を追加することにより,ストリーム上のデータを主記憶にバッファリングする際に,必要なデータのみをバッファリングすることが可能となった. この方式に基づいて,昨年度に作成したXML用ストリーム処理プログラム生成器X-Pを改良し,不要なバッファリングの問題を改善できることを実験により確認した.
|