DJXPerf: Identifying Memory Inefficiencies via Object-centric Profiling for Java
Bolun Li, Pengfei Su, Milind Chabbi, Shuyin Jiao, Xu Liu

TL;DR
DJXPerf is a lightweight Java memory profiler that links hardware performance metrics to Java objects, helping optimize memory locality and improve application performance with minimal overhead.
Contribution
It introduces a novel object-centric profiling technique that associates hardware memory metrics with Java objects without requiring source code or hardware modifications.
Findings
Achieves ~8% runtime overhead and ~5% memory overhead.
Guides optimization of object allocation, layout, and access patterns.
Demonstrates significant speedups on benchmarks and real-world applications.
Abstract
Java is the "go-to" programming language choice for developing scalable enterprise cloud applications. In such systems, even a few percent CPU time savings can offer a significant competitive advantage and cost saving. Although performance tools abound in Java, those that focus on the data locality in the memory hierarchy are rare. In this paper, we present DJXPerf, a lightweight, object-centric memory profiler for Java, which associates memory-hierarchy performance metrics (e.g., cache/TLB misses) with Java objects. DJXPerf uses statistical sampling of hardware performance monitoring counters to attribute metrics to not only source code locations but also Java objects. DJXPerf presents Java object allocation contexts combined with their usage contexts and presents them ordered by the poor locality behaviors. DJXPerf's performance measurement, object attribution, and presentation…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Software System Performance and Reliability · Cloud Computing and Resource Management
