平成10年度 委託研究ソフトウェアの 成果ソフトウェア
|
(2)KL1のスレッド実行の高速化に関する研究
ゴール・スケジューリング最適化 KLIC(スレッド高速化版)
マシン:UNIXマシン
環境:UNIX
言語:C, KL1
ソース量:10MB
文書:ユーザーズマニュアル(日本語)
[概要]
解析情報を利用したスケジューリング最適化による、
並列論理型言語KL1処理系KLICの改良版
[特徴]
現在公開されているKLICは、細粒度のゴール・スケジューリングを行うため、
プログラムによってはそのオーバヘッドにより速度が大幅に低下する。
本処理系では、KL1プログラムの依存解析を行い、
実行順序を静的に決定可能なゴール群をスレッドとした
コードを生成することによって、プログラムのスケジューリング最適化を行う。
なお解析系/実行系が昨年までの版から大きく改良されており,実行速度や利
便性(分割コンパイルなど)が大きく向上している。
[機能]
- 対象プログラムの依存解析による、
ゴールの静的スケジューリング(スレッド化)
- スレッド化されたコードの生成による、
スレッド内ゴールの実行オーバヘッド削減
- スレッド単位の動的スケジューリングによる、
ゴールスケジューリングのオーバヘッド削減
- 各スレッドの環境をスタックで保持することによる、
ヒープに対するGC回数削減と参照局所性向上
[ディレクトリ構成]
オリジナルに対し、以下のディレクトリ内のファイルに変更を加えた。
- compiler 最適化版コンパイラ
- runtime 最適化版ランタイムシステム
- include/klic 最適化版インクルードファイル
- documents/ 各種資料
また、以下のディレクトリを追加した。
- compiler/analyzer 解析系
- sched-test テストプログラム
[FTP]
www-admin@icot.or.jp