Distributed memory implementation of KLIC

This paper describes external reference management and distributed unification in a distributed implementation of a concurrent logic programming language KL1. This implementation is based on the KLIC system. KLIC has a feature calledgeneric objects that enable easy modification and extension of the system without changes in the core implementation. This distributed implementation is built upon the same core and external references are represented using generic objects. Unification operations are defined as methods of generic objects. Since creation of interprocessor reference loops cannot be avoided, we studied a new unification scheme that can cope with interprocessor reference loops. We built several experimental distributed systems that all demonstrate reasonable efficiency.

[1]  Ian Foster,et al.  Strand: New Concepts in Parallel Programming , 1990 .

[2]  D. I. Bevan,et al.  Distributed Garbage Collection Using Reference Counting , 1987, PARLE.

[3]  Kazunori Ueda,et al.  Design of the Kernel Language for the Parallel Inference Machine , 1990, Computer/law journal.

[4]  Keith L. Clark,et al.  PARLOG: parallel programming in logic , 1986, ACM Trans. Program. Lang. Syst..

[5]  Ian T. Foster,et al.  Strand: A Practical Parallel Programming Tool , 1989, NACLP.

[6]  Kenneth M. Kahn,et al.  Janus: A step towards distributed constraint programming , 1990, NACLP.

[7]  K. Ueds,et al.  Guarded horn clauses: A parallel logic programming language with the concept of a guard , 1988 .

[8]  Yu Inamura,et al.  A new external reference management and distributed unification for KL1 , 1990, New Generation Computing.

[9]  Katsumi Nitta,et al.  Experimental Parallel Inference Software , 1992, FGCS.

[10]  Mats Carlsson,et al.  SICStus Prolog User''s Manual , 1993 .

[11]  Yu Inamura,et al.  Distributed Implementation of KL1 on the Multi-PSI/V2 , 1989, ICLP.

[12]  D. I. Bevan An efficient reference counting solution to the distributed garbage collection problem , 1989, Parallel Comput..

[13]  Paul Watson,et al.  An Efficient Garbage Collection Scheme for Parallel Computer Architectures , 1987, PARLE.

[14]  Takashi Chikayama,et al.  A Portable and Efficient Implementation of KL1 , 1994, PLILP.

[15]  Takashi Chikayama,et al.  Operating System PIMOS and Kernel Language KL1 , 1992, FGCS.

[16]  Ehud Shapiro,et al.  Systems programming in concurrent prolog , 1984, POPL.

[17]  Hirokazu Murao,et al.  Modular Algorithm for Sparse Multivariate Polynomial Interpolation and its Parallel Implementation , 1996, J. Symb. Comput..

[18]  Jack Dongarra,et al.  Pvm 3 user's guide and reference manual , 1993 .

[19]  Kazuaki Rokusawa,et al.  Parallel and Distributed Implementation of Concurrent Logic Programming Language KL1 , 1992, FGCS.