Skip to main content

Annotation Algorithms for Unrestricted Independent And-Parallelism in Logic Programs

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4915))

Abstract

We present two new algorithms which perform automatic parallelization via source-to-source transformations. The objective is to exploit goal-level, unrestricted independent and-parallelism. The proposed algorithms use as targets new parallel execution primitives which are simpler and more flexible than the well-known &/2 parallel operator. This makes it possible to generate better parallel expressions by exposing more potential parallelism among the literals of a clause than is possible with &/2. The difference between the two algorithms stems from whether the order of the solutions obtained is preserved or not. We also report on a preliminary evaluation of an implementation of our approach. We compare the performance obtained to that of previous annotation algorithms and show that relevant improvements can be obtained.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ali, K.A.M., Karlsson, R.: The Muse Or-Parallel Prolog Model and its Performance. In: 1990 North American Conference on Logic Programming, pp. 757–776. MIT Press, Cambridge (1990)

    Google Scholar 

  2. Bueno, F., de la Banda, M.G., Hermenegildo, M.: Effectiveness of Abstract Interpretation in Automatic Parallelization: A Case Study in Logic Programming. ACM Transactions on Programming Languages and Systems 21(2), 189–238 (1999)

    Article  Google Scholar 

  3. Bueno, F., de la Banda, M.G., Hermenegildo, M.: Effectiveness of Abstract Interpretation in Automatic Parallelization: A Case Study in Logic Programming. ACM TOPLAS 21(2), 189–238 (1999)

    Article  Google Scholar 

  4. Cabeza, D.: An Extensible, Global Analysis Friendly Logic Programming System. PhD thesis, Universidad Politécnica de Madrid (UPM), Facultad Informatica UPM, 28660-Boadilla del Monte, Madrid-Spain (August 2004)

    Google Scholar 

  5. Cabeza, D., Hermenegildo, M.: Implementing Distributed Concurrent Constraint Execution in the CIAO System. In: Proc. of the AGP 1996 Joint conference on Declarative Programming, San Sebastian, Spain, U. of the Basque country, pp. 67–78 (July 1996), http://www.cliplab.org/

  6. Casas, A., Cabeza, D., Hermenegildo, M.: A Syntactic Approach to Combining Functional Notation, Lazy Evaluation and Higher-Order in LP Systems. In: Hagiya, M., Wadler, P. (eds.) FLOPS 2006. LNCS, vol. 3945, pp. 146–162. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  7. Casas, A., Carro, M., Hermenegildo, M.: Automatic Unrestricted Independent And-Parallelism in Logic Programs. Technical Report CLIP11/2007.0, Technical University of Madrid (UPM), School of Computer Science, UPM (December 2007)

    Google Scholar 

  8. Casas, A., Carro, M., Hermenegildo, M.: Towards a High-Level Implementation of Execution Primitives for Non-restricted, Independent And-parallelism. In: Warren, D.S., Hudak, P. (eds.) 10th International Symposium on Practical Aspects of Declarative Languages (PADL 2008). LNCS, vol. 4902, Springer, Heidelberg (2008)

    Google Scholar 

  9. Gupta, G., Hermenegildo, M., Pontelli, E., Santos-Costa, V.: ACE: And/Or-parallel Copying-based Execution of Logic Programs. In: International Conference on Logic Programming, pp. 93–110. MIT Press, Cambridge (1994)

    Google Scholar 

  10. Gupta, G., Pontelli, E., Ali, K., Carlsson, M., Hermenegildo, M.: Parallel Execution of Prolog Programs: A Survey. ACM TOPLAS 23(4), 472–602 (2001)

    Article  Google Scholar 

  11. Hermenegildo, M.: Parallelizing Irregular and Pointer-Based Computations Automatically: Perspectives from Logic and Constraint Programming. Parallel Computing 26(13–14), 1685–1708 (2000)

    Article  MATH  Google Scholar 

  12. Hermenegildo, M., Greene, K.: The &-Prolog System: Exploiting Independent And-Parallelism. New Generation Computing 9(3,4), 233–257 (1991)

    Article  Google Scholar 

  13. Hermenegildo, M., Puebla, G., Bueno, F., López García, P.: Integrated Program Debugging, Verification, and Optimization Using Abstract Interpretation (and The Ciao System Preprocessor). Science of Computer Programming 58(1–2), 115–140 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  14. Hermenegildo, M., Rossi, F.: Strict and Non-Strict Independent And-Parallelism in Logic Programs: Correctness, Efficiency, and Compile-Time Conditions. Journal of Logic Programming 22(1), 1–45 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  15. Hermenegildo, M., Warren, R.: Designing a High-Performance Parallel Logic Programming System. Computer Architecture News, Special Issue on Parallel Symbolic Programming 15(1), 43–53 (1987)

    Google Scholar 

  16. Janson, S.: AKL. A Multiparadigm Programming Language. PhD thesis, Uppsala University (1994)

    Google Scholar 

  17. Karp, A.H., Babb, R.C.: A Comparison of 12 Parallel Fortran Dialects. In: IEEE Software (September 1988)

    Google Scholar 

  18. López-García, P., Bueno, F., Hermenegildo, M.: Determinacy Analysis for Logic Programs Using Mode and Type Information. In: Etalle, S. (ed.) LOPSTR 2004. LNCS, vol. 3573, pp. 19–35. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  19. López-García, P., Hermenegildo, M., Debray, S.K.: A Methodology for Granularity Based Control of Parallelism in Logic Programs. Journal of Symbolic Computation, Special Issue on Parallel Symbolic Computation 21(4–6), 715–734 (1996)

    MathSciNet  MATH  Google Scholar 

  20. Lusk, E., et al.: The Aurora Or-Parallel Prolog System. New Generation Computing 7(2,3) (1990)

    Google Scholar 

  21. Mera, E., López-García, P., Puebla, G., Carro, M., Hermenegildo, M.: Combining Static Analysis and Profiling for Estimating Execution Times. In: Hanus, M. (ed.) PADL 2007. LNCS, vol. 4354, pp. 140–154. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  22. Muthukumar, K., Bueno, F., de la Banda, M.G., Hermenegildo, M.: Automatic Compile-time Parallelization of Logic Programs for Restricted, Goal-level, Independent And-parallelism. Journal of Logic Programming 38(2), 165–218 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  23. Pontelli, E., Gupta, G., Tang, D., Carro, M., Hermenegildo, M.: Improving the Efficiency of Nondeterministic And–parallel Systems. The Computer Languages Journal 22(2/3), 115–142 (1996)

    Article  Google Scholar 

  24. Santos-Costa, V., Warren, D.H.D., Yang, R.: Andorra-I: A Parallel Prolog System that Transparently Exploits both And- and Or-parallelism. In: Proceedings of the 3rd. ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 83–93. ACM, New York (April1991) (SIGPLAN Notices, vol. 26(7), July 1991)

    Google Scholar 

  25. Shen, K.: Overview of DASWAM: Exploitation of Dependent And-parallelism. Journal of Logic Programming 29(1–3), 245–293 (1996)

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Casas, A., Carro, M., Hermenegildo, M.V. (2008). Annotation Algorithms for Unrestricted Independent And-Parallelism in Logic Programs. In: King, A. (eds) Logic-Based Program Synthesis and Transformation. LOPSTR 2007. Lecture Notes in Computer Science, vol 4915. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-78769-3_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-78769-3_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-78768-6

  • Online ISBN: 978-3-540-78769-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics