Projects per year
Abstract
Large-scale software systems are frequently distributed over a network of computers in different locations, commonly rely on virtualization, and are often used by thousands of users at the same time. Application Performance Management (APM) software is used to continuously monitor such software systems. It uses profiling approaches to collect real-world performance data that can be used to identify and understand performance problems. However, unlike profiling tools, APM software must incur only minimal runtime overhead while still collecting sufficiently detailed performance data.
In order to address these challenges for Java, we propose a Java virtual machine implementation with sophisticated built-in profiling mechanisms. By integrating with the virtual machine, these mechanisms can efficiently collect accurate performance data. First, we propose new approaches for sampling-based method profiling, which attribute execution time to method calls. Inside the virtual machine, our approaches can directly decode and manipulate call stacks and can control how threads are paused to capture their states. Second, we propose a novel approach for lock contention profiling, which reveals concurrency issues that cause threads to wait for each other. Our approach integrates with the low-level implementation of locking in the virtual machine to efficiently collect accurate data while avoiding side effects. Finally, we propose a new approach to quantify effects of virtualization, which can misrepresent the resource usage of threads.
We implemented our approaches in the HotSpot Virtual Machine, a production-quality, high-performance Java virtual machine implementation. We evaluate our approaches using benchmarks with non-trivial, real-world workloads and demonstrate their efficiency and the accuracy of the data which they collect.
| Original language | English |
|---|---|
| Publisher | |
| Publication status | Published - Oct 2016 |
Fields of science
- 102 Computer Sciences
- 102009 Computer simulation
- 102011 Formal languages
- 102013 Human-computer interaction
- 102022 Software development
- 102024 Usability research
- 102029 Practical computer science
JKU Focus areas
- Computation in Informatics and Mathematics
- Engineering and Natural Sciences (in general)
Projects
- 1 Finished
-
Christian Doppler Labor für Monitoring and Evolution of Very-Large-Scale Software Systems
Grünbacher, P. (PI)
01.02.2013 → 31.08.2020
Project: Funded research › CDG - Christian Doppler Forschungsgesellschaft