Abstract
We proposed in Ref. 5) a new,message-oriented implementation technique for Moded Flat GHC that compiled unification for data transfer into message passing. The technique was based on constraint-based program analysis, and significantly improved the performance of programs that used goals and streams to implement reconfigurable data structures. In this paper we discuss how the technique can be parallelized. We focus on a method for shared-memory multiprocessors, called theshared-goal method, though a different method could be used for distributed-memory multiprocessors. Unlike other parallel implementations of concurrent logic languages which we callprocess-oriented, the unit of parallel execution is not an individual goal but a chain of message sends caused successively by an initial message send. Parallelism comes from the existence of different chains of message sends that can be executed independently or in a pipelined manner. Mutual exclusion based on busy waiting and on message buffering controls access to individual, shared goals. Typical goals allowlast-send optimization, the message-oriented counterpart of last-call optimization. We have built an experimental implementation on Sequent Symmetry. In spite of the simple scheduling currently adopted, preliminary evaluation shows good parallel speedup and good absolute performance for concurrent operations on binary process trees.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Chikayama, T. and Kimura, Y., “Multiple Reference Management in Flat GHC,” inProc. 4th Int. Conf. on Logic Programming, MIT Press, pp. 276–293, 1987.
Inamura, Y. and Onishi, S., “A Detection Algorithm of Perpetual Suspension in KL1,” inProc. Seventh Int. Conf. on Logic Programming, MIT Press, pp. 18–30, 1990.
Knuth, D. E.,The Art of Computer Programming, Vol. 1. (2nd ed.), Addison-Wesley, Reading, MA, 1973.
Shapiro, E., “The Family of Concurrent Logic Programming Languages,”Computing Surveys, 21, 3, pp. 413–510, 1989.
Ueda, U. and Morita, M., “A New Implementation Technique for Flat GHC,” inProc. Seventh Int. Conf. on Logic Programming, MIT Press, pp. 3–17, 1990. A revised, extended version submitted toNew Generation Computing.
Ueda, K. and Chikayama T., “Design of the Kernel Language for the Parallel Inference Machine,”The Computer Journal, 33, 6, pp. 494–500, Dec. 1990.
Author information
Authors and Affiliations
Additional information
Kazunori Ueda: He received the M. Eng. and Dr. Eng. degrees in information engineering from the University of Tokyo in 1980 and 1986, respectively. He joined NEC Corporation in 1983 and has engaged mainly in the design and implementation of concurrent logic programming languages ever since. From 1985 to 1992, he was with the Institute for New Generation Computer Technology on loan from NEC. Since 1993, he is an Associate Professor in the Department of Information and Computer Science at Waseda University. His current research interests include design and implementation of programming languages, logic programming, concurrency and parallelism, and knowledge information processing.
Masao Morita: He graduated from the electrical engineering course of Kobe Technical College in 1976. He has since worked on wide-ranging software, including on-line systems and CAD systems, at Mitsubishi Research Institute. Since 1986, he has been engaged in the research and development of concurrent logic language implementations as part of the Fifth Generation Computer Systems project. He also has interest in man-machine interface.
About this article
Cite this article
Ueda, K., Morita, M. Message-oriented parallel implementation of Moded Flat GHC. New Gener Comput 11, 323–341 (1993). https://doi.org/10.1007/BF03037181
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF03037181