2009
DOI: 10.1145/1639949.1640100
|View full text |Cite
|
Sign up to set email alerts
|

How a Java VM can get more from a hardware performance monitor

Abstract: This paper describes our sampling-based profiler that exploits a processor's HPM (Hardware Performance Monitor) to collect information on running Java applications for use by the Java VM. Our profiler provides two novel features: Java-level event profiling and lightweight context-sensitive event profiling. For Java events, we propose new techniques to leverage the sampling facility of the HPM to generate object creation profiles and lock activity profiles. The HPM sampling is the key to achieve a smaller overh… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
13
0

Year Published

2010
2010
2020
2020

Publication Types

Select...
3
3
1

Relationship

2
5

Authors

Journals

citations
Cited by 13 publications
(13 citation statements)
references
References 33 publications
0
13
0
Order By: Relevance
“…For example, our HPM-based techniques do not require additional metadata to translate the instruction addresses into Java bytecode while previous techniques require huge amounts of additional metadata for this purpose. We implemented a framework to obtain HPM profiles from the JVM by adapting the earlier work [17] to obtain L1 and L2 data cache miss profiles at runtime. To focus on the mutator performance, we do not include the cache misses during stop-theworld GC in the profiles.…”
Section: Object Placement Optimizations Using Hpmmentioning
confidence: 99%
See 1 more Smart Citation
“…For example, our HPM-based techniques do not require additional metadata to translate the instruction addresses into Java bytecode while previous techniques require huge amounts of additional metadata for this purpose. We implemented a framework to obtain HPM profiles from the JVM by adapting the earlier work [17] to obtain L1 and L2 data cache miss profiles at runtime. To focus on the mutator performance, we do not include the cache misses during stop-theworld GC in the profiles.…”
Section: Object Placement Optimizations Using Hpmmentioning
confidence: 99%
“…To avoid excessive allocation-time overhead, we do not use this object collocation and alignment optimization if the object creation frequency of one of the target classes exceeds 10% based on the object creation profile generated using HPM information [17].…”
Section: Object Collocation Optimization Using Hpmmentioning
confidence: 99%
“…Inoue and Nakatani [14] describe a Java profiler that uses hardware events to take samples of only the executing method and its stack depth. It builds a CCT through matching stack depths and caller information, and is reported to achieve an overhead of 2.2% at 16000 samples per second.…”
Section: Profilingmentioning
confidence: 99%
“…Context sensitivity is crucial for understanding the behavior of large object-oriented programs [Inoue and Nakatani 2009;Lhoták and Hendren 2008]. Unlike static analysis, however, prior work on dynamic analysis has largely avoided context sensitivity because no efficient technique was known.…”
Section: Why Context Sensitivity?mentioning
confidence: 99%