King, Andy and Soper, Paul
Reducing Scheduling Overheads for Concurrent Logic Programs.
In: Boley, Harold and Richter, Michael, eds.
Processing Declarative Knowledge.
Lecture Notes in Artificial Intelligence
Springer-Verlag, pp. 279-286.
(Full text available)
Strictness analysis is crucial for the efficient implementation of the lazy functional languages. A related technique for the concurrent logic languages (CLLs) called schedule analysis is presented which divides at compile-time a CLL program into threads of totally ordered atoms, whose relative ordering is determined at run-time. The technique enables the enqueuing and dequeuing of processes to be reduced, synchronisation tests to be partially removed, introduces the possibility of using unboxed arguments, and permits variables to be migrated from a heap to a stack to affect a form of compile-time garbage collection. The implementation is outlined and some preliminary results are given.
- Depositors only (login required):