Abstract
This paper gives an overview of KLIC, a portable parallel implementation of a concurrent logic programming language KL1. Its portability is realized by the compilation scheme using the language C as an intermediate language and its object-oriented system extension framework called “generic objects,” that allows realization of different communication schemes on exactly the same sequential kernel implementation.
Two completely different parallel implementations of KLIC have been actually built using this framework, one based on shared memory and the other on message passing. Both have exactly the same sequential kernel, which has competent sequential performance. Interprocessor communication is realized in an object-oriented manner through “generic objects” which encapsulates implementation details.
KLIC has been ported to many different systems, including several multiprocessor systems and systems consisting of network-connected workstations. Several experimental parallel application software systems run on these implementations.
Preview
Unable to display preview. Download preview PDF.
References
M. Carlsson, J. Widén, J. Andersson, S. Andersson, K. Brootz, H. Nilsson, and T. Sjölaad. SICStus Prolog User's Manual, 1993.
T. Chikayama, H. Sato, and T. Miyazaki. Overview of the parallel inference machine operating system (PIMOS). In Proceedings of FGCS'88, pages 230–251, Tokyo, Japan, 1988.
T. Chikayama, T. Fujise and D. Sekita. A portable and efficient implementation of KL1. In Proceedings of PLILP'94, pages 25–39, Springer-Verlag, Berlin, 1994.
A. Goto, M. Sato, K. Nakajima, K. Taki, and A. Matsumoto. Overview of the parallel inference machine architecture (PIM). In Proceedings of FGCS'88, Tokyo, Japan, 1988.
D. Gudeman, K. De Bosschere, and S. K. Debray. jc: an efficient and portable sequential implementation of Janus. In Proceedings of the Joint International Conference and Symposium on Logic Programming, The MIT Press, 1992.
R. C. Haygood. Aquarius Prolog User Manual, 1993.
S. Janson, J. Montelius, K. Boortz, P. Brand, B. Carlson, R. C. Haygood, B. Danielsson, and S. Haridi. AGENTS user manual. SICS technical report, Swedish Institute of Computer Science, 1994.
N. Ichiyoshi, M. Morita, and Takashi Chikayama. A shared-memory parallel extension of KLIC and its garbage collection. in Proceedings of Workshop on Parllel Logic Programming attached to the International Symposium on Fifth Generation Computer Sytems 1994. ICOT, December 1994.
H. Murao and T. Fujise. Modular algorithm for sparce multivariate polynomial interpolation and its parallel implementation. In Proceedings of PASCO'94, pages 304–315, 1994.
K. Nakajima, Y. Inamura, N. Ichiyoshi, K. Rokusawa and T. Chikayama. Distributed implementation of KL1 on the Multi-PSI/V2. in Proceedings of the Sixth International Conference on Logic Programming, 1989.
K. Rokusawa, A. Nakase, and T. Chikayama. Distributed memory implementation of KLIC. New Generation Computing, 14(3), May 1996, to appear.
Y. Takeda, H. Nakashima, K. Masuda, T. Chikayama, and K. Taki. A load balancing mechanism for large scale multiprocessor systems and its implementation. In Proceedings of FGCS'88, Tokyo, Japan, 1988. Also in New Generation Computing 7–2, 3 (1990), pp. 179–195.
K. Ueda and T. Chikayama. Design of the kernel language for the parallel inference machine. The Computer Journal, 33(6):494–500, December 1990.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Chikayama, T. (1996). KLIC: A portable parallel implementation of a concurrent logic programming language. In: Ito, T., Halstead, R.H., Queinnec, C. (eds) Parallel Symbolic Languages and Systems. PSLS 1995. Lecture Notes in Computer Science, vol 1068. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0023068
Download citation
DOI: https://doi.org/10.1007/BFb0023068
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61143-1
Online ISBN: 978-3-540-68332-2
eBook Packages: Springer Book Archive