Next: 単純な要求駆動型実行
Up: 要求駆動スケジューリングによるKL1実装方式の研究
Previous: 要求駆動スケジューリングによるKL1実装方式の研究
並列論理型言語 KL1 は各ゴールの実行順が任意であるため, 様々なスケジュー
リングが可能である. 例えば, 手続き駆動 (PIM, KLIC [1] な
ど), データ駆動 [2], [3], スレッド単位のスケジュー
リング [4], [5] などが提案・実装されている.
一方, LISP や関数型言語では遅延評価を拡張した形で並列実行が行なわれる
ことが多い. 遅延評価では, データが必要になった時点で計算が開始される
ため,
- 最終結果に寄与しない不要な計算の除去
- 必要なデータを直ちに生成することによるデータ要求に対するレスポン
ス向上
- 必要になるか明らかでない投機的計算を行うことによる, プロセッサの有
効利用 (負荷分散)
といった利点がある. しかし, 並列論理型言語においては関数型と異なり要
求が明示的でなく, 単純な要求駆動スケジューリングではオーバーヘッドが非
常に大きくなることから, あまり試みられていない.
本研究の最終的な目的は要求駆動型のスケジューリングによって上記 (1)〜(3) を実現することであるが, そこへ至る第一段階として, 本研究では,
KL1 プログラムを要求駆動型で十分効率良く実行できることを確認することを
目標とする. そのために, 静的解析と実装の方式を提案し, 実装と実験を通
してその性能を評価する.
Next: 単純な要求駆動型実行
Up: 要求駆動スケジューリングによるKL1実装方式の研究
Previous: 要求駆動スケジューリングによるKL1実装方式の研究
www-admin@icot.or.jp