next up previous
Next: 参考文献 Up: 実行系の改良 Previous: Reduction First Thread

Native Goalの実行方式

前述のように複雑な組込述語やライブラリ述語はKL1によって記述されており,それ らを全てスレッド化することは開発効率や保守の容易さを考えると必ずしも得策では ない。そこでKLIC/THではこれらの述語を呼び出すゴールをNative Goalと呼び,標準 KLICのコンパイル・コードが直接実行できるようにしている。

このNative Goalは一種のスレッドとして扱われるため,そのインタフェース仕様に よってスレッド化が可能であることが明らかになっていても,Native Goalを呼び出 すスレッドとは並行実行される。その結果,本来逐次的に実行可能であるにも関わら ず,無駄なスレッド中断/再開が生じていた。

そこでインタフェース仕様によって逐次実行が可能であることが示されたゴールを Sequential Native Goalと呼び,スレッド内のゴールと実行順序を整合させる改良を 行なった。その結果,小さなNative Goalを頻繁に呼び出すようなプログラムでは, 50%程度の速度向上が得られることが明らかになった。



next up previous
Next: 参考文献 Up: 実行系の改良 Previous: Reduction First Thread



www-admin@icot.or.jp