Abstract
We demonstrate the feasibility of undertaking performance evaluations for JVMs using:(1) a hybrid JVM/OStool, such as async-profiler, (2) OS centric profiling and tracing tools based on Linux perf, and (3) the Extended Berkeley Packet Filter Tracing (eBPF) framework where we demonstrate the rationale behind the standard offwaketime tool, for analysing the causes of blocking latencies, and our own eBPF-based tool bcc-java, that relates changes in microarchitecture performance counter values to the execution of individual JVM and application threads at low overhead. The relative execution time overheads of the performance tools are illustrated for the DaCapo-bach-9.12 benchmarks with OpenJDK9 on an Intel Xeon E5-2690, running Ubuntu 16.04. Whereas sampling based tools can have up to 25% slowdown using 4kHz frequency, our tool bcc-java has a geometric mean of less than 5%. Only for the avrora benchmark, bcc-java has a significant overhead (37%) due to an unusually high number of futex system calls. Finally, we provide a discussion on the recommended approaches to solve specific performance use-case scenarios
Original language | English |
---|---|
Pages | 1 |
Number of pages | 8 |
Publication status | Published - 11 Apr 2019 |
Event | 10th ACM/SPEC International Conference on Performance Engineering (ICPE 2019) - Mumbai, India, Mumbai, India Duration: 7 Apr 2019 → 11 Apr 2019 https://icpe2019.spec.org/ |
Conference
Conference | 10th ACM/SPEC International Conference on Performance Engineering (ICPE 2019) |
---|---|
Abbreviated title | ICPE19 |
Country/Territory | India |
City | Mumbai |
Period | 7/04/19 → 11/04/19 |
Internet address |
Keywords
- PROFILING
- OPTIMIZATION
- JAVA
- eBPF