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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Kadison, R.V., Ringrose, J.R.: Fundamentals of the Theory of Operator Algebras, vol. I. Academic Press, London (1997)
Capiński, M., Kopp, E.: Measure, Integral and Probability. Springer, Heidelberg (1999)
Rudin, W.: Principles of Mathematical Analysis. McGraw-Hill, New York (1976)
Rudin, W.: Real and Complex Analysis. McGraw-Hill, New York (1974)
Halmos, P.R.: Measure Theory. Springer, Heidelberg (1974)
Kozen, D.: Semantics of Probabilistic Programs. Journal of Computer and System Science 22(3), 328–350 (1981)
Monniaux, D.: Abstract Interpretation of Probabilistic Semantics. In: Palsberg, J. (ed.) SAS 2000. LNCS, vol. 1824, pp. 322–339. Springer, Heidelberg (2000)
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)
Di Pierro, A., Wiklicky, H.: Linear Structures for Concurrency in Probabilistic Programming Languages. Electronic Notes in Theoretical Computer Science 40 (2001)
Takesaki, M.: Theory of Operator Algebras I. Springer, Heidelberg (2002)
Saltz, J., Mirchandaney, R., Crowley, K.: Run-time Parallelization and Scheduling of Loops. IEEE Trans. on Computers 40(5), 603–611 (1991)
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)
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)
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)
Cintra, M.H., Ferraris, D.R.L.: Toward efficient and robust software speculative parallelization on multiprocessors. In: PPOPP 2003, pp. 13–24 (2003)
Rus, S., Rauchwerger, L., Hoeflinger, J.: Hybrid analysis: static & dynamic memory reference analysis. In: ICS 2002, pp. 274–284 (2002)
Morgan, C., McIver, A., Seidel, K.: Probabilistic Predicate Transformers. TOPLAS 18(3), 325–353 (1996)
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)
Di Pierro, A., Wiklicky, H.: Concurrent constraint programming: towards probabilistic abstract interpretation. In: PPDP 2000, pp. 127–138 (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)