Skip to main content

Efficient goal scheduling in a concurrent logic language using type-based dependency analysis

  • Session 6
  • Conference paper
  • First Online:
Advances in Computing Science — ASIAN'97 (ASIAN 1997)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1345))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. K. Ueda. Guarded horn clauses. In LNCS221 Logic Programming '85, pp. 168–179. Springer-Verlag, 1986.

    Google Scholar 

  2. 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.

    Article  MathSciNet  Google Scholar 

  3. 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.

    Google Scholar 

  4. Takashi Chikayama. KLIC User's Manual. ICOT, March 1995.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. T. Chikayama. Operating system PIMOS and kernel language KL1. In FGCS'92, pp. 73–88, 1992.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. D. H. D. Warren. An abstract prolog instruction set. Technical Report 309, SRI International, 1983.

    Google Scholar 

  10. K. Marriott, M. Garcia de la Banda, and M. Hermenegildo. Analyzing logic programs with dynamic scheduling. In POPL'94, 1994.

    Google Scholar 

  11. G. Puebla and M. Hermenegildo. Automatic optimization of dynamic scheduling in logic programs. In LNCS1140 PLILP'96, pp. 475–476. Springer-Verlag, 1996.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. M. Nilsson and H. Tanaka. Fleng prolog-the language which turns supercomputers into prolog machines. In LNCS264. Springer-Verlag, 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

R. K. Shyamasundar K. Ueda

Rights and permissions

Reprints 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

Publish with us

Policies and ethics