© University of Kent - Contact | Feedback | Legal | FOI | Cookies
Schedule Analysis of Concurrent Logic Programs
A. King and P. Soper
In K. Apt, editor, Joint International Conference and Symposium on Logic Programming, pages 182-196. MIT Press, January 1992.Abstract
A compilation technique is proposed for concurrent logic programs called schedule analysis. Schedule analysis deduces at compile-time a partial schedule for the processes of a program by partitioning the atoms of each clause into threads. Threads are totally ordered sets of atoms whose relative ordering is determined by a scheduler. Threads reduce scheduler activity and permit a wealth of traditional Prolog optimisations to be applied to the program. A framework for schedule analysis is proposed and this defines a procedure for creating threads. A safety result is presented stating the conditions under which the work of the scheduler can be reduced from ordering processes to ordering threads. Schedule analysis has been integrated into a compiler and implementation has suggested that it can play a central role in compilation. Optimisations which follow from schedule analysis include a reduction in scheduling, the removal of synchronisation checks, the simplification of unification, decreased garbage collection and a reduction in argument copying.
Download publication 153 kbytes (PostScript)Bibtex Record
@inproceedings{1322,
author = {A. King and P. Soper},
title = {Schedule {A}nalysis of {C}oncurrent {L}ogic {P}rograms},
month = {January},
year = {1992},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {},
doi = {},
url = {http://www.cs.kent.ac.uk/pubs/1992/1322},
publication_type = {inproceedings},
submission_id = {9586_1011197598},
other_year = {1992},
booktitle = {Joint International Conference and Symposium on Logic Programming},
editor = {K. Apt},
publisher = {MIT Press},
refereed = {yes},
}