Abstract
We present an overview of the stack-based memory management techniques that we used in our non-deterministic and-parallel Prolog systems: &-Prolog and DASWAM. We believe that the problems associated with non-deterministic and-parallel systems are more general than those encountered in or-parallel and deterministic and-parallel systems, which can be seen as subsets of this more general case. We develop on the previously proposed “marker scheme”, lifting some of the restrictions associated with the selection of goals while keeping (virtual) memory consumption down. We also review some of the other problems associated with the stack-based management scheme, such as handling of forward and backward execution, cut, and rollbacks.
Some of the research reported in this paper was carried out while this author was at the Computer Laboratory, University of Cambridge, Cambridge UK.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
H. Ait-Kaci. Warren’s Abstract Machine, A Tutorial Reconstruction. MIT Press, 1991.
P. Borgwardt. Parallel prolog using stack segments on shared memory multiprocessors. In International Symposium on Logic Programming, pages 2–12, Silver Spring, MD, February 1984. Atlantic City, IEEE Computer Society.
M. Carlsson. SICStus Prolog Internals Manual. Swedish Institute of Computer Science, Box 1263, S-163 12 Spånga, Sweden, Jan. 1989.
J. Chassin de Kergommeaux. Measures of the PEPSys Implementation on the MX500. Technical Report CA-44, European Computer-Industry Research Centre, Arabellaastr. 17, D-8000 München 81, Germany, 1989.
D. DeGroot. Restricted AND-Parallelism. In International Conference on Fifth Generation Computer Systems, pages 471–478. Tokyo, ICOT, November 1984.
M. V. Hermenegildo and K. Greene. The &-prolog System: Exploiting Independent And-Parallelism. New Generation Computing, 9(3,4):233–257, 1991.
M. V. Hermenegildo. An Abstract Machine Based Execution Model for Computer Architecture Design and Efficient Implementation of Logic Programs in Parallel. PhD thesis, The University of Texas At Austin, 1986.
M. V. Hermenegildo. An Abstract Machine for Restricted AND-parallel Execution of Logic Programs. In Third International Conference on Logic Programming, number 225 in Lecture Notes in Computer Science, pages 25–40. Imperial College, Springer-Verlag, July 1986.
M. V. Hermenegildo. Relating Goal Scheduling, Precedence, and Memory Management in AND-Parallel Execution of Logic Programs. In Fourth International Conference on Logic Programming, pages 556–575. University of Melbourne, MIT Press, May 1987.
M. V. Hermenegildo and R. I. Nasr. Efficient Management of Backtracking in AND-parallelism. In Third International Conference on Logic Programming, number 225 in Lecture Notes in Computer Science, pages 40–55. Imperial College, Springer-Verlag, July 1986.
Y. J. Lin and V. Kumar. AND-Parallel Execution of Logic Programs on a Shared Memory Multiprocessor: A Summary of Results. In Fifth International Conference and Symposium on Logic Programming, pages 1123–1141. University of Washington, MIT Press, August 1988.
E. L. Lusk, R. Butler, T. Disz, R. Olson, R. A. Overbeek, R. Stevens, D. H. D. Warren, A. Calderwood, P. Szeredi, S. Haridi, P. Brand, M. Carlsson, A. Ciepielewski, and B. Hausman. The Aurora Or-Parallel Prolog System. New Generation Computing, 7(2,3), 1990.
L. Naish. Parallelizing NU-Prolog. In International Conference and Symposium on Logic Programming, pages 1546–1564. University of Washington, MIT Press, August 1988.
V. Santos Costa, D. H. D. Warren, and R. Yang. The Andorra-I Engine: A Parallel Implementation of the Basic Andorra Model. In Proceedings of the Eighth International Conference on Logic Programming, 1991.
V. Santos Costa, D. H. D. Warren, and R. Yang. The Andorra-I Preprocessor: Supporting Full Prolog on the Basic Andorra Model. In Proceedings of the Eighth International Conference of Logic Programming, 1991.
K. Shen. Exploiting And-parallelism in Prolog: the Dynamic Dependent And-parallel Scheme (DDAS). In Joint International Conference and Symposium on Logic Programming, pages 717–731, 1992.
K. Shen. Studies of And/Or Parallelism in Prolog. PhD thesis, Computer Laboratory, University of Cambridge, 1992.
K. Shen. Implementing Dynamic Dependent And-parallelism. In International Conference of Logic Programming, pages 167–183. The MIT Press, 1993.
K. Shen and M. V. Hermenegildo. A Flexible Scheduling and Memory Management Scheme for Non-Deterministic, And-parallel Execution of Logic Programs. Internal Report, 1993.
D. H. D. Warren. Implementing prolog — compiling predicate logic programs. Technical Report 39 and 40, Department of Artificial Intelligence, University of Edinburgh, 1977.
D. H. D. Warren. An Abstract Prolog Instruction Set. Technical Note 309, SRI International, 333 Ravenswood Ave., Menlo Park CA 94025, USA, 1983.
D. H. D. Warren. The SRI Model for Or-Parallel Execution of Prolog — Abstract Design and Implementation Issues. In Proceedings 1987 Symposium on Logic Programming, pages 92–102. Computer Society Press of the IEEE, Sept. 1987.
D. S. Warren. Efficient prolog memory management for flexible control strategies. In International Symposium on Logic Programming, pages 198–203, Silver Spring, MD, February 1984. Atlantic City, IEEE Computer Society.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1994 Springer Science+Business Media New York
About this chapter
Cite this chapter
Shen, K., Hermenegildo, M. (1994). Divided We Stand: Parallel Distributed Stack Memory Management. In: Tick, E., Succi, G. (eds) Implementations of Logic Programming Systems. Springer, Boston, MA. https://doi.org/10.1007/978-1-4615-2690-2_13
Download citation
DOI: https://doi.org/10.1007/978-1-4615-2690-2_13
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4613-6157-2
Online ISBN: 978-1-4615-2690-2
eBook Packages: Springer Book Archive