平成8年度 委託研究ソフトウェアの 成果ソフトウェア
|
(4) KL1 のゴール・スケジューリング最適化
研究代表者:中島 浩 助教授
京都大学大学院工学研究科
ゴール・スケジューリング最適化 KLIC
マシン:UNIXマシン
環境:UNIX
言語:C, KL1
ソース量:10MB
文書:ユーザーズマニュアル(日本語)
[概要]
解析情報を利用したスケジューリング最適化による、
並列論理型言語KL1処理系KLICの改良版
[特徴]
現在公開されているKLICは、細粒度のゴール・スケジューリングを行うため、
プログラムによってはそのオーバヘッドにより速度が大幅に低下する。
本処理系では、KL1プログラムの依存解析を行い、
実行順序を静的に決定可能なゴール群をスレッドとした
コードを生成することによって、プログラムのスケジューリング最適化を行う。
[機能]
- 対象プログラムの依存解析による、
ゴールの静的スケジューリング(スレッド化)
- スレッド化されたコードの生成による、
スレッド内ゴールの実行オーバヘッド削減
- スレッド単位の動的スケジューリングによる、
ゴールスケジューリングのオーバヘッド削減
- 各スレッドの環境をスタックで保持することによる、
ヒープに対するGC回数削減
- 次実行ゴールが一意に定まる場合の、分岐コードの最適化
- reply-firstスケジューリングによる、並列実行でのノード間通信の
応答性向上
ただし、現在のバージョンでは解析系の実装が不完全なため、
使用できる組込述語は限られる。また、分割コンパイルには対応していない。
[ディレクトリ構成]
オリジナルに対し、以下のディレクトリ内のファイルに変更を加えた。
- compiler 最適化版コンパイラ
- runtime 最適化版ランタイムシステム
- include/klic 最適化版インクルードファイル
また、以下のディレクトリを追加した。
- compiler/analyzer 解析系
- sched-test テストプログラム
[FTP]
- README
- ソースプログラム、マニュアル [1418K]
(98.4.10
New)
www-admin@icot.or.jp