Predicting Access to Persistent Objects Through Static Code Analysis
In this paper, we present a fully-automatic, high-accuracy approach to predict access to persistent objects through static code analysis of object-oriented applications. The most widely-used previous technique uses a simple heuristic to make the predictions while approaches that offer higher accuracy are based on monitoring application execution. These approaches add a non-negligible overhead to the application’s execution time and/or consume a considerable amount of memory. By contrast, we demonstrate in our experimental study that our proposed approach offers better accuracy than the most common technique used to predict access to persistent objects, and makes the predictions farther in advance, without performing any analysis during application execution.
- 1.Cahoon, B., McKinley, K.S.: Data flow analysis for software prefetching linked data structures in Java. Proc. PACT 2001, 280–291 (2001)Google Scholar
- 3.Gornish, E.H., Granston, E.D., Veidenbaum, A.V.: Compiler-directed data prefetching in multiprocessors with memory hierarchies. In: Proceedings of ICS 1990, pp. 354–368. ACM (1990)Google Scholar
- 7.Karlsson, M., Dahlgren, F., Stenström, P.: A prefetching technique for irregular accesses to linked data structures. In: Proceedings of HPCA, pp. 206–217 (2000)Google Scholar
- 9.Knafla, N.: Analysing object relationships to predict page access for prefetching. In: Proceedings of POS-8 and PJW-3, pp. 160–170. Morgan Kaufmann (1999)Google Scholar
- 10.Luk, C.-K., Mowry, T.C.: Compiler-based prefetching for recursive data structures. In: Proceedings of ASPLOS VII, pp. 222–233. ACM (1996)Google Scholar
- 12.Mowry, T.C., Lam, M.S., Gupta, A.: Design and evaluation of a compiler algorithm for prefetching. In: Proceedings of ASPLOS V, pp. 62–73. ACM (1992)Google Scholar