Self-adjusting binary search trees
Journal of the ACM (JACM)
A data locality optimizing algorithm
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Reservoir-sampling algorithms of time complexity O(n(1 + log(N/n)))
ACM Transactions on Mathematical Software (TOMS)
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Predicting whole-program locality through reuse distance analysis
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Improving effective bandwidth through compiler enhancement of global cache reuse
Journal of Parallel and Distributed Computing
Reflections on the memory wall
Proceedings of the 1st conference on Computing frontiers
Array regrouping and structure splitting using whole-program reference affinity
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
ASPLOS XI Proceedings of the 11th international conference on Architectural support for programming languages and operating systems
Lightweight reference affinity analysis
Proceedings of the 19th annual international conference on Supercomputing
Instruction Based Memory Distance Analysis and its Application
Proceedings of the 14th International Conference on Parallel Architectures and Compilation Techniques
Locality approximation using time
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Sampling-based program locality approximation
Proceedings of the 7th international symposium on Memory management
A component model of spatial locality
Proceedings of the 2009 international symposium on Memory management
Discovery of locality-improving refactorings by reuse path analysis
HPCC'06 Proceedings of the Second international conference on High Performance Computing and Communications
Hi-index | 0.00 |
Reuse distance analysis has been proved promising in evaluating and predicting data locality for programs written in Fortran or C/C++. But its effect has not been examined for applications in managed runtime environments, where there is no concept of memory address. For this reason, traditional reuse distance analysis based on memory addresses is not directly applicable to these applications. This paper presents the Virtual Reuse Distance Analysis (ViRDA), which resolves the difficulties associated with runtime environments and provides insights into the highlevel locality in dynamic applications. ViRDA addresses the problem caused by managed runtime artifacts, garbage collection in particular, by using virtual data identities, obtained through a standard profiling interface, to capture inherent data locality. The effectiveness of ViRDA is evaluated using a subset of the SPECjvm2008 benchmark suite. The new analysis reveals the reuse distance signatures of these programs and helps to explain the cause of excessive cache misses. It also predicts locality for large inputs based on training analysis of several small inputs. The prediction error is no more than 6% for the 4 scimark workloads.