Open this publication in new window or tab >>2012 (English)In: Proceedings of the 2012 ACM SIGPLAN Workshop on Memory Systems Performance and Correctness, ACM Press, 2012, p. 48-57Conference paper, Published paper (Refereed)
Abstract [en]
Parallelization and other optimizations often depend on static dependence analysis. This approach requires methods to be independent regardless of the input data, which is not always the case.
Our contribution is a dynamic analysis "guessing" if methods are pure, i. e., if they do not change state. The analysis is piggybacking on a garbage collector, more specifically, a concurrent, replicating garbage collector. It guesses whether objects are immutable by looking at actual mutations observed by the garbage collector. The analysis is essentially for free. In fact, our concurrent garbage collector including analysis outperforms Boehm's stop-the-world collector (without any analysis), as we show in experiments. Moreover, false guesses can be rolled back efficiently.
The results can be used for just-in-time parallelization allowing an automatic parallelization of methods that are pure over certain periods of time. Hence, compared to parallelization based on static dependence analysis, more programs potentially benefit from parallelization.
Place, publisher, year, edition, pages
ACM Press, 2012
Keywords
garbage collection, automatic parallelization, dynamic analysis, pure functions
National Category
Computer Sciences
Research subject
Computer Science, Software Technology
Identifiers
urn:nbn:se:lnu:diva-25976 (URN)10.1145/2247684.2247694 (DOI)2-s2.0-84863436374 (Scopus ID)978-1-4503-1219-6 (ISBN)
Conference
ACM SIGPLAN Workshop on Memory Systems Performance and Correctness
Funder
Swedish Research Council, 2011-6185
2013-05-312013-05-312019-11-11Bibliographically approved