Abstract
In the execution model of concurrent logic languages like KL1, each goal is regarded as a unit of concurrent execution. Although this fine-grained concurrency control enables flexible concurrent/parallel programming, its overhead also causes inefficiency in its implementation. We propose an efficient goal scheduling scheme using the result of static analysis. In this scheme, we obtain precise dependency relations among goals using type-based dependency analysis. Then each set of goals without concurrency is compiled into one thread, a sequence of statically ordered goals, to reduce the overhead of goal scheduling. Since stacks are used to hold goal environments for each thread, the number of garbage collection is also reduced. The result of preliminary evaluation shows our scheme considerably reduces goal scheduling overhead and thus it achieves 1.3–3 times speedup.
Preview
Unable to display preview. Download preview PDF.
References
K. Ueda. Guarded horn clauses. In LNCS221 Logic Programming '85, pp. 168–179. Springer-Verlag, 1986.
K. Ueda and T. Chikayama. Design of the kernel language for the parallel inference machine. The Computer Journal, Vol. 33, No. 6, pp. 494–500, 1990.
T. Chikayama, T. Fujise, and D. Sekita. A portable and efficient implementation of KL1. In Proc. 6th Intl. Symp. PLILP'94, pp. 25–39, 1994.
Takashi Chikayama. KLIC User's Manual. ICOT, March 1995.
K. Nakajima, Y. Inamura, N. Ichiyoshi, K. Rokusawa, and T. Chikayama. Distributed implementation of KL1 on the Multi-PSI/V2. In Proc. 6th Intl. Conf. and Symp. on Logic Programming, pp. 436–451, 1989.
T. Chikayama. Operating system PIMOS and kernel language KL1. In FGCS'92, pp. 73–88, 1992.
Klaus E. Schauser, David E. Culler, and Seth C. Goldstein. Separation constraint partitioning — a new algorithm for partitioning non-strict programs into sequential threads. In POPL'95, pp. 259–271, 1995.
K. Ueda and M. Morita. Moded Flat GHC and its message-oriented implementation technique. New Generation Computing, Vol. 13, No. 1, pp. 3–43, November 1994.
D. H. D. Warren. An abstract prolog instruction set. Technical Report 309, SRI International, 1983.
K. Marriott, M. Garcia de la Banda, and M. Hermenegildo. Analyzing logic programs with dynamic scheduling. In POPL'94, 1994.
G. Puebla and M. Hermenegildo. Automatic optimization of dynamic scheduling in logic programs. In LNCS1140 PLILP'96, pp. 475–476. Springer-Verlag, 1996.
A.King and P.Soper. Schedule analysis of concurrent logic programs. In Proc. of the Joint Intl. Conf. and Symp. on Logic Programming, pp. 478–492, 1994.
B. C. Massey and E. Tick. Sequentialization of parallel logic programs with mode analysis. In 4th International Conference on Logic Programming and Automated Reasoning, pp. 205–216, 1993.
T. Araki and H. Tanaka. A static granularity optimization method of a committed-choice language Fleng(In Japanese). In IPSJ 96-PRO-8, pp. 109–114, August 1996.
M. Nilsson and H. Tanaka. Fleng prolog-the language which turns supercomputers into prolog machines. In LNCS264. Springer-Verlag, 1989.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ohno, K., Ikawa, M., Goshimai, M., Mori, Si., Nakashima, H., Tomita, S. (1997). Efficient goal scheduling in a concurrent logic language using type-based dependency analysis. In: Shyamasundar, R.K., Ueda, K. (eds) Advances in Computing Science — ASIAN'97. ASIAN 1997. Lecture Notes in Computer Science, vol 1345. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63875-X_58
Download citation
DOI: https://doi.org/10.1007/3-540-63875-X_58
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63875-9
Online ISBN: 978-3-540-69658-2
eBook Packages: Springer Book Archive