Abstract
This paper describes Monaco, a high-performance implementation of flat committed-choice languages such as Flat Guarded Horn Clauses. The compiler produces native code for linking to a runtime system on shared-memory multiprocessors. A reduced abstract-machine instruction set facilitates decision-graph code generation and traditional optimizations based on dataflow analysis. An inexpensive system-call interface is provided to lower the overhead of memory allocation and procedure invocation. Unification has been optimized to streamline the common cases. We report initial performance measurements of our current instantiation of the system, for the Sequent Symmetry, for a suite of benchmarks.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
H. Ait-Kaci. Warren's Abstract Machine: A Tutorial Reconstruction. MIT Press, 1991.
Y. Asakawa et al. A Very Fast Prolog Compiler on Multiple Architectures. In Fall Joint Computer Conference, pages 963–968. ACM and IEEE Computer Society, 1986.
T. Chikayama et al. Overview of the Parallel Inference Machine Operating System PIMOS. In FGCS'88, pages 230–251, Tokyo, November 1988. ICOT.
J. A. Crammond. The Abstract Machine and Implementation of Parallel Parlog. New Generation Computing, 10(4):385–422, August 1992.
S. Debray et al. Weighted Decision Trees. In JICSLP'92, MIT Press, 1992.
S. K. Debray, N.-W. Lin, and M. Hermenegildo. Task Granularity Analysis in Logic Programs. In SIGPLAN PLDI'90, pages 174–188, June 1990. ACM Press.
S. Duvvuru, Monaco: A High Performance Implementation of FGHC on Shared-Memory Multiprocessors. Master's thesis, University of Oregon, June 1992.
I. Foster and S. Taylor. Strand: A Practical Parallel Programming Language. In North American Conference on Logic Programming, pages 497–512. MIT Press, 1989.
D. Gudeman et al. jc: An Efficient and Portable Sequential Implementation of Janus. In JICSLP'92, pages 399–413. MIT Press, November 1992.
A. Harsat and R. Ginosar. CARMEL-2: A Second Generation VLSI Architecture for Flat Concurrent Prolog. New Generation Computing, 7:197–218, 1990.
Y. Kimura and T. Chikayama. An Abstract KL1 Machine and its Instruction Set. In ISLP, pages 468–477. IEEE Computer Society, 1987.
S. Kliger. Compiling Concurrent Logic Programming Languages. PhD thesis, The Weizmann Institute of Science, Rehovot, October 1992.
M. Korsloot and E. Tick. Compilation Techniques for Nondeterminate Flat Concurrent Logic Programming Languages. In ICLP, pages 457–471. MIT Press, June 1991.
K. Kumon et al. Architecture and Implementation of PIM/p. In FGCS'92, pages 414–424, Tokyo, June 1992. ICOT.
B. C. Massey. Sequentialization of Parallel Logic Programs with Mode Analysis. Master's thesis, University of Oregon, September 1992.
V. A. Saraswat et al. Janus: A Step Towards Distributed Constraint Programming. In NACLP'90, pages 431–446. MIT Press, October 1990.
M. Sato et al. Evaluation of the KL1 Parallel System on a Shared Memory Multiprocessor. In IFIP Work. Conf. on Parallel Process., pg 305–318. North Holland, 1988.
M. Sato et al. Exploiting Fine Grain Parallelism in Logic Programming on a Parallel Inference Machine. Technical Report TR-676, ICOT, Tokyo, August 1991.
E. Y. Shapiro. The Family of Concurrent Logic Programming Languages. ACM Computing Surveys, 21(3), 1989.
R. Sundararajan et al. Variable Threadedness Analysis for Concurrent Logic Programs. In JICSLP'92, pages 493–508. Washington D.C., MIT Press, November 1992.
K. Taki. Parallel Inference Machine PIM. In International Conference on Fifth Generation Computer Systems, pages 50–72, Tokyo, June 1992. ICOT.
A. Taylor. LIPS on a MIPS: Results From a Prolog Compiler for a RISC. In International Conference on Logic Programming, pages 174–185. MIT Press, June 1990.
E. Tick and C. Banerjee. Performance Evaluation of Monaco Compiler and Runtime Kernel. In Int. Conf. on Logic Programming. Budapest, MIT Press, June 1993.
E. Tick and X. Zhong. A Compile-Time Granularity Analysis Algorithm and its Performance Evaluation. New Generation Computing, 11(3–4), June 1993.
K. Ueda and M. Morita. A New Implementation Technique for Flat GHC. In International Conference on Logic Programming, pages 3–17. MIT Press, June 1990.
P. L. Van Roy and A. M. Despain. High-Performace Logic Programming with the Aquarius Prolog Compiler. IEEE Computer Magazine, pages 54–68, January 1992.
K. Yanoo. An Optimizing Compiler for a Parallel Inference Language. In H. Tanaka, editor, Annual Report of the Research on Parallel Inference Engine, pages 71–94. University of Tokyo, April 1992. (in Japanese).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Tick, E. (1993). Monaco: A high-performance flat concurrent logic programming system. In: Bode, A., Reeve, M., Wolf, G. (eds) PARLE '93 Parallel Architectures and Languages Europe. PARLE 1993. Lecture Notes in Computer Science, vol 694. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-56891-3_21
Download citation
DOI: https://doi.org/10.1007/3-540-56891-3_21
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-56891-9
Online ISBN: 978-3-540-47779-2
eBook Packages: Springer Book Archive