AITEC Contract Research Projects in FY1998 : Software
|
(2)An Improved Threading of KL1
Improved KLIC with Optimized Goal Scheduling and High Perfromance
Thread Execution
Machines: Any Unix Machines
Environment: UNIX
Language: C, KL1
Amount of Sources: 10MB
Documents: User's Manual (Japanese only)
[Abstract]
An improved version of the parallel logic programming language system
KLIC, with an optimized goal scheduler and a program analyzer for
optimization.
[Features]
Since the original version of KLIC dynamically schedules the execution
order of goals, its scheduling overhead may cause significant
performance degradation if your program consists of, for example,
communicating sequential processes.
This optimized version aims to reduce the scheduling overhead through
compile-time dependency analysis to find threads. Since a thread
consists of goals whose order of execution is statically determined,
the runtime system efficiently executes the thread without scheduling
overhead. Moreover, this latest version has been greatly improved
from older ones, resulting better performance and usability such as
allowing separated compilation.
[Functions]
-
Compile-time dependency analysis for static scheduling of the goals in
a thread.
-
Efficient runtime scheduling combining intra-thread static scheduling
and inter-thread dynamic scheduling.
-
Intra-thread execution environment management with stacks to reduce GC
frequency and to improve access locality.
[File Directories]
The files in the following directories of the standard distribution of
KLIC are modified.
- compiler optimized version of compiler
- runtime optimized version of runtime system
- include/klic include files for optimized runtime system
- documents/ documents (in Japanese)
The following directories are added to the standard distribution.
- compiler/analyzer analyzer
- sched-test test programs
[FTP]
www-admin@icot.or.jp