Abstract
A model for OR-parallel execution of logic programs on highly parallel, distributed memory architectures is proposed. The model aims to reduce the overhead due to a parallel execution by using a parallel decomposition of a WAM into three units devoted to, respectively, memory management, unification, and subtree scheduling. A further unit may be introduced to handle message routing in the case of partial interconnection networks.
The proposed model can be applied independently of the method to handle the multiple bindings for a variable.
After discussing the parallel decomposition of a WAM, the implementation of the model is considered. We show that the implementation mainly consists of the mapping of the units onto the processing elements of the target architecture. Some performance figures of a prototype implementation on a Transputer based system are presented and discussed.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Supported by “Prog. Finalizzato Informatica e Calcolo Parallelo”, CNR, sottoprogetto 3.
Preview
Unable to display preview. Download preview PDF.
References
K.A.M. Ali, R. Karlsson, The MUSE OR-Parallel Prolog Model and its Performance, Proc. of the 1990 NACLP, pp. 757–776, 1990.
P. Borgwardt, Parallel Prolog Using Stack Segments on Shared Memory Multiprocessors, Proc. of the 1984 Int. Symposium on Logic Programming, IEEE, Atlantic City, pp. 2–11, 1984.
J. Chassin, U.C. Baron, W. Rapp, M. Ratcliff, Performance Analysis of a Parallel Prolog: a correlated approach, PARLE '89, vol. II, pp. 151–164, Eindhoven, 1989.
A. Ciepielewsky, S. Haridi, A Formal Model for OR-parallel Execution of Logic Programs, Proc. of IFIP 83, Mason ed., North Holland, 1983.
J.S. Conery, Binding Environments for Parallel Logic Programs in Non-Shared Memory Multiprocessors, Proc. of the Int. Conference on Parallel Processing, IEEE, pp. 457–467, 1987.
B.S. Fagin, A.M. Despain, The Performance of Parallel Prolog Programs, IEEE Transaction on Computers, vol. 39, No. 12, pp. 1434–1445, 1990.
G. Goupta, B. Jayaraman, On Criteria for Or-Parallel Execution Models of Logic Programs, Proc. of the 1990 NACLP, pp. 737–756, 1990.
S. Haridi, E. Hagersten, The Cache Coherence Protocol of the Data Diffusion Machine, PARLE '89, vol. I, pp. 1–18, Eindhoven, 1989.
B. Hausman, A. Ciepielewsky, S. Haridi, OR-parallel Prolog Made Efficient on Shared Memory Multiprocessors, Proc. of the Int. Conference on Parallel Processing, pp. 69–79, 1987.
B. Hausman, Pruning and Scheduling Speculative Work in OR-Parallel Prolog, PARLE '89, vol. II, pp. 133–150, Eindhoven, 1989.
Lusk et al., The Aurora OR-Parallel Prolog System, New Generation Computing, 7, 243–271, 1990.
S. Peyton Jones, C. Clack, J. Salkild, M. Hardie, GRIP: a High Performance Architecture for Parallel Graph Reduction, Functional Programming Languages and Computer Architecture, LNCS 274, September 1987.
A.G. Ranade, How to Emulate Shared Memory, Proc. of 28th IEEE Symposium on Fundations of Computer Science, pp. 185–194, 1987.
C.L. Seitz, Concurrent VLSI Architectures, IEEE Trans. on Computers, C33, 12, 1984.
E. Tick, Memory Performance of Prolog Architectures, Kluwer Academic, 1987.
P. Tinker, G. Lindstrom, A Performance Oriented Design for OR-parallel Logic Programming, Proc. of the Int. Conference on Logic Programming, Melbourne, 1987.
H. Touati, A. Despain, An Empirical Study of the Warren Abstract Machine, Proc. of the Int. Conference on Parallel Processing, IEEE, 1987.
E. Upfal, Efficient Schemes for Parallel Communication, Journal of ACM, vol. 31, No. 3, pp. 507–517, 1984.
L.G. Valiant, General Purpose Parallel Architecture, Technical Report TR-07-89, Harward University, Cambridge, 1989.
D.H.D. Warren, An Abstract Prolog Instruction Set, Technical Report 309, SRI International, AI Center, 1983.
D.H.D. Warren, OR-parallel Execution Models of Prolog, Proc. of the Int. Joint Conference on Theory and Practice of Software Development, Pisa, pp. 243–259, 1987.
D.H.D. Warren, The SRI Model of OR-parallel Execution of Prolog. Abstract Design and Implementation Issues, Proc. of the Int. Conference on Parallel Processing, pp. 92–102, 1987.
D.S. Warren, Efficient Memory Management for Flexible Control Strategies, Proc. of the Int. Conference on Parallel Processing, IEEE, pp. 198–202, 1984.
H. Westphal, P. Robert, J. Chassin, J.Syre, The PEPSys Model Combining Backtracking, AND-and OR-parallelism, Proc. of the Int. Conference on Parallel Processing, IEEE, pp. 436–448, 1987.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Baiardi, F., Di Bella, D.M. (1991). An architectural model for OR-parallellism on distributed memory systems. In: Maluszyński, J., Wirsing, M. (eds) Programming Language Implementation and Logic Programming. PLILP 1991. Lecture Notes in Computer Science, vol 528. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54444-5_90
Download citation
DOI: https://doi.org/10.1007/3-540-54444-5_90
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54444-9
Online ISBN: 978-3-540-38362-8
eBook Packages: Springer Book Archive