Skip to main content
Article thumbnail
Location of Repository

Reducing Scheduling Overheads for Concurrent Logic Programs

By Andy King and Paul Soper


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

Topics: QA76
Publisher: Springer-Verlag
Year: 1991
DOI identifier: 10.1007/bfb0013537
OAI identifier:

Suggested articles


  1. (1991). A Semantic Approach to Producer and Consumer Analysis",
  2. (1970). An efficient search algorithm to find the elementary ciccuits of a graph",
  3. (1988). Automated Termination Proofs.
  4. (1989). Characterizing Termination of Logic Programs with Level Mappings",
  5. (1989). Compiling as Partitioning: A New Approach to Compiling Nonstrict Functional Languages",
  6. (1990). Derivation and Safety of an Abstract Unification Algorithm for Groundness and Alia.sing Analysis",
  7. (1990). Deriving Constraints Among Argument Sizes in Logic Programs",
  8. (1990). Granularity Analysis of Concurrent Logic Programs",
  9. (1972). Graph theoryand computing, chapter Graph colouring algorithms,
  10. (1979). Graphs and Networks.
  11. (1988). Implementation f Committed-Choice Logic Languages on Shared Memory Multiprocessors.
  12. (1987). KL1 Execution Model for PIM Cluster with Shared Memory",
  13. (1989). On the safe termination of Prolog programs",
  14. (1987). Parallel Logic Programming in Parlog, The Language and its Implementation.
  15. (1990). Schedule Analysis of Concurrent Logic Programs",
  16. (1990). Termination Proofs for Logic Programs based on Predicate Inequalities",
  17. (1989). The Family of Concurrent Logic Programming Languages",
  18. (1990). Towards a Characterisation f the Termination of Logic Programs",

To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.