Åpne denne publikasjonen i ny fane eller vindu >>2012 (engelsk)Inngår i: Proceedings of the 2012 ACM SIGPLAN Workshop on Memory Systems Performance and Correctness, ACM Press, 2012, s. 48-57Konferansepaper, Publicerat paper (Fagfellevurdert)
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.
sted, utgiver, år, opplag, sider
ACM Press, 2012
Emneord
garbage collection, automatic parallelization, dynamic analysis, pure functions
HSV kategori
Forskningsprogram
Datavetenskap, Programvaruteknik
Identifikatorer
urn:nbn:se:lnu:diva-25976 (URN)10.1145/2247684.2247694 (DOI)2-s2.0-84863436374 (Scopus ID)978-1-4503-1219-6 (ISBN)
Konferanse
ACM SIGPLAN Workshop on Memory Systems Performance and Correctness
Forskningsfinansiär
Swedish Research Council, 2011-6185
2013-05-312013-05-312019-11-11bibliografisk kontrollert