next up previous
Next: おわりに Up: 要求駆動スケジューリングによるKL1実装方式の研究 Previous: 要求駆動実行ゴールの決定

実装と評価

前節のアルゴリズムに基づいて, 要求駆動型実行用コードを生成するコンパイ ラを KLIC 3.002 をもとに実装した. 環境は PC, MMX Pentium 150MHz, 64MB memory である. そして, gencon, handshake, hanoi, n-queen, primes の 5 種類の問題について,

original:
プラグマなし. 原則としてプロセス指向スケジューリング ではサスペンドしない.
priority:
一部のゴールを低優先度で実行. プラグマは適切と思われ る箇所に人手で加えた.
demand:
original 版を本処理系でコンパイル.

という 3 通りのスケジューリング方式で実行したときの実行時間 (秒) とヒー プサイズ (KW) を測定した. また, 実行のオーバーヘッドを測定するために, gencon の C 関数単位のプロファイルを行った.

実行時間, ヒープサイズ, プロファイルの測定結果を,それぞれ 図 5, 図 6, 図 7 にまとめた.

gencon と handshake の結果から, 要求駆動ゴール操作のためのオーバーヘッ ドは低優先度ゴール駆動コストと同程度であることが確認された. そして, プロセス駆動 (オリジナル版) で最適なスケジューリングが行われている n-queen 以外のすべての例題において性能向上が見られ, 要求駆動型実行によっ て, 実行時間はオリジナルの 2.5 倍以内, 消費メモリは問題サイズによらず 一定という性能が達成された.


図5 : 各問題の実行時間


図6 : 各問題の消費メモリ


図7 : プロファイル結果 (gencon)



next up previous
Next: おわりに Up: 要求駆動スケジューリングによるKL1実装方式の研究 Previous: 要求駆動実行ゴールの決定



www-admin@icot.or.jp