Using benchmarking to advance research: a challenge to software engineering
Proceedings of the 25th International Conference on Software Engineering
A generic instrumentation framework for collecting dynamic information
ACM SIGSOFT Software Engineering Notes
A thread monitoring system for multithreaded Java programs
ACM SIGPLAN Notices
Javana: a system for building customized Java program analysis tools
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Shadow Profiling: Hiding Instrumentation Costs with Parallelism
Proceedings of the International Symposium on Code Generation and Optimization
SuperPin: Parallelizing Dynamic Instrumentation for Real-Time Performance
Proceedings of the International Symposium on Code Generation and Optimization
Parallel computing on any desktop
Communications of the ACM - ACM's plan to go online first
Statistically rigorous java performance evaluation
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Pipa: pipelined profiling and analysis on multi-core systems
Proceedings of the 6th annual IEEE/ACM international symposium on Code generation and optimization
A concurrent dynamic analysis framework for multicore hardware
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
ParaLog: enabling and accelerating online parallel monitoring of multithreaded applications
Proceedings of the fifteenth edition of ASPLOS on Architectural support for programming languages and operating systems
Log-based architectures: using multicore to help software behave correctly
ACM SIGOPS Operating Systems Review
Efficient hardware-based nonintrusive dynamic application profiling
ACM Transactions on Embedded Computing Systems (TECS)
Self-adaptive software system monitoring for performance anomaly localization
Proceedings of the 8th ACM international conference on Autonomic computing
A self-adaptive monitoring framework for component-based software systems
ECSA'11 Proceedings of the 5th European conference on Software architecture
Kieker: a framework for application performance monitoring and dynamic software analysis
ICPE '12 Proceedings of the 3rd ACM/SPEC International Conference on Performance Engineering
Software monitoring with controllable overhead
International Journal on Software Tools for Technology Transfer (STTT) - Runtime Verification
Hi-index | 0.00 |
Application-level monitoring is required for continuously operating software systems to maintain their performance and availability at runtime. Performance monitoring of software systems requires storing time series data in a monitoring log or stream. Such monitoring may cause a significant runtime overhead to the monitored system. In this paper, we evaluate the influence of multi-core processors on the overhead of the Kieker application-level monitoring framework. We present a breakdown of the monitoring overhead into three portions and the results of extensive controlled laboratory experiments with micro-benchmarks to quantify these portions of monitoring overhead under controlled and repeatable conditions. Our experiments show that the already low overhead of the Kieker framework may be further reduced on multi-core processors with asynchronous writing of the monitoring log. Our experiment code and data are available as open source software such that interested researchers may repeat or extend our experiments for comparison on other hardware platforms or with other monitoring frameworks.