Abstract
Nondeterminism of PROLOG execution requires that a block of control information or a choice point for each procedure call be stored when there are other candidate clauses to be used. When the currently selected clause fails, the bindings made by the clause must be undone and the stored choice point is reactivated, and then another clause of the candidate ones is chosen to run on it. Storing and reactivating choice points and undoing account for the great overhead are required to control PROLOG execution, which is quite different from conventional programs.
This paper focuses on the techniques used in Sequential PROLOG Engine (SPE) to reduce the overhead of control operations. The control instructions of SPE store no more choice points than the necessary. Its architecture takes the approaches of analysing the potential parallelism in the control operations and developing a fraction of it due to the cost-effect consideration. The results of executing two sample programs on SPE in the form of hand timings are presented, which favor the approach.
Similar content being viewed by others
References
Y. Kaneda, N. Tamura,et al., Sequential PROLOG machine PEK.New Generation Computing,4:1 (1986).
K. Taki, M. Yokata,et al., Hardware design and implementation of the personal sequential inference machine (PSI). FGCS'84.
Japan's ICOT triples speed of its inference machine. Electronics, April 16, 1987.
E. Tick and D. H. D. Warren, Towards a pipelined PROLOG processor. Proc. Int'l. Symp. on Logic Programming, 1984.
H. Xing, D. Xing and C. Li, Sequential PROLOG Engine (SPE). Proc. Int'l. Conf. on New Generation Computer Systems (1989), Beijing.
D. H. D. Warren, An abstract PROLOG instruction set. Tech. report 309, AI center, SRI International, 1983.
D. H. D. Warren, Implementing prolog — compiling predicate logic programs. Report 39, 40, Dept. of AI, University of Edingburg, 1977.
D. H. D. Warren, An improved PROLOG implementation which optimizes tail recursion. Research Paper 156, Dept. of AI, University of Edingburg, 1980.
A. K. Turk, Compiler optimizations for the WAM. Proc. 3rd Int'l. Conf. on Logic Programming, 1986.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Xing, H., Li, C. Improvements to the control techniques of sequential inference machines — From instructions to hardware organization. J. of Compt. Sci. & Technol. 6, 66–73 (1991). https://doi.org/10.1007/BF02943409
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF02943409