Skip to main content

Probabilistic Program Analysis for Parallelizing Compilers

  • Conference paper
  • 561 Accesses

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

Abstract

Parallelizing compilers have difficulty analysing and optimising complex code. To address this, some analysis may be delayed until run-time, and techniques such as speculative execution used. Furthermore, to enhance performance, a feedback loop may be setup between the compile time and run-time analysis systems, as in iterative compilation. To extend this, it is proposed that the run-time analysis collects information about the values of variables not already determined, and estimates a probability measure for the sampled values. These measures may be used to guide optimisations in further analyses of the program. To address the problem of variables with measures as values, this paper also presents an outline of a novel combination of previous probabilistic denotational semantics models, applied to a simple imperative language.

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   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.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. Kadison, R.V., Ringrose, J.R.: Fundamentals of the Theory of Operator Algebras, vol. I. Academic Press, London (1997)

    Google Scholar 

  2. Capiński, M., Kopp, E.: Measure, Integral and Probability. Springer, Heidelberg (1999)

    MATH  Google Scholar 

  3. Rudin, W.: Principles of Mathematical Analysis. McGraw-Hill, New York (1976)

    MATH  Google Scholar 

  4. Rudin, W.: Real and Complex Analysis. McGraw-Hill, New York (1974)

    MATH  Google Scholar 

  5. Halmos, P.R.: Measure Theory. Springer, Heidelberg (1974)

    MATH  Google Scholar 

  6. Kozen, D.: Semantics of Probabilistic Programs. Journal of Computer and System Science 22(3), 328–350 (1981)

    Article  MATH  MathSciNet  Google Scholar 

  7. Monniaux, D.: Abstract Interpretation of Probabilistic Semantics. In: Palsberg, J. (ed.) SAS 2000. LNCS, vol. 1824, pp. 322–339. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  8. Di Pierro, A., Wiklicky, H.: Probabilistic Concurrent Constraint Programming. In: Brim, L., Gruska, J., Zlatuška, J. (eds.) MFCS 1998. LNCS, vol. 1450, pp. 446–455. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  9. Di Pierro, A., Wiklicky, H.: Linear Structures for Concurrency in Probabilistic Programming Languages. Electronic Notes in Theoretical Computer Science 40 (2001)

    Google Scholar 

  10. Takesaki, M.: Theory of Operator Algebras I. Springer, Heidelberg (2002)

    MATH  Google Scholar 

  11. Saltz, J., Mirchandaney, R., Crowley, K.: Run-time Parallelization and Scheduling of Loops. IEEE Trans. on Computers 40(5), 603–611 (1991)

    Article  Google Scholar 

  12. Leung, S.-T., Zahorjan, J.: Improving the performance of run-time parallelization. In: 4th ACM SIGPLAN Symp. on Principles and Practice of Parallel Programming, May 1993, pp. 83–91 (1993)

    Google Scholar 

  13. Rauchwerger, L., Padua, D.: The LRPD Test: Speculative Run-Time Parallelization of Loops with Privatization and Reduction Parallelization. In: Proceedings of the SIGPLAN 1995 Conference on Programming Language Design and Implementation, June 1995, pp. 218–232 (1995)

    Google Scholar 

  14. Dang, F., Yu, H., Rauchwerger, L.: The R-LRPD Test: Speculative Parallelization of Partially Parallel Loops. In: Intl. Parallel and Distributed Processing Symp., pp. 20–29 (April 2002)

    Google Scholar 

  15. Cintra, M.H., Ferraris, D.R.L.: Toward efficient and robust software speculative parallelization on multiprocessors. In: PPOPP 2003, pp. 13–24 (2003)

    Google Scholar 

  16. Rus, S., Rauchwerger, L., Hoeflinger, J.: Hybrid analysis: static & dynamic memory reference analysis. In: ICS 2002, pp. 274–284 (2002)

    Google Scholar 

  17. Morgan, C., McIver, A., Seidel, K.: Probabilistic Predicate Transformers. TOPLAS 18(3), 325–353 (1996)

    Article  Google Scholar 

  18. Cousot, P., Cousot, R.: Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In: POPL 1977, pp. 238–252 (1977)

    Google Scholar 

  19. Di Pierro, A., Wiklicky, H.: Concurrent constraint programming: towards probabilistic abstract interpretation. In: PPDP 2000, pp. 127–138 (2000)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Forsythe, I.M., Milligan, P., Sage, P.P. (2005). Probabilistic Program Analysis for Parallelizing Compilers. In: Daydé, M., Dongarra, J., Hernández, V., Palma, J.M.L.M. (eds) High Performance Computing for Computational Science - VECPAR 2004. VECPAR 2004. Lecture Notes in Computer Science, vol 3402. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11403937_46

Download citation

  • DOI: https://doi.org/10.1007/11403937_46

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-25424-9

  • Online ISBN: 978-3-540-31854-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics