We introduce the technique of software monitoring with controllable overhead (SMCO), which is based on a novel combination of supervisory control theory of discrete event systems and PID-control theory of discrete time systems. SMCO controls monitoring overhead by temporarily disabling monitoring of selected events for as short a time as possible under the constraint of a user-supplied target overhead o t. This strategy is optimal in the sense that it allows SMCO to monitor as many events as possible, within the confines of o t. SMCO is a general monitoring technique that can be applied to any system interface or API. We have applied SMCO to a variety of monitoring problems, including two highlighted in this paper: integer range analysis, which determines upper and lower bounds on integer variable values; and non-accessed period detection, which detects stale or underutilized memory allocations. We benchmarked SMCO extensively, using both CPU- and I/O-intensive workloads, which often exhibited highly bursty behavior. We demonstrate that SMCO successfully controls overhead across a wide range of target overhead levels; its accuracy monotonically increases with the target overhead; and it can be configured to distribute monitoring overhead fairly across multiple instrumentation points. © 2010 Springer-Verlag.
CITATION STYLE
Huang, X., Seyster, J., Callanan, S., Dixit, K., Grosu, R., Smolka, S. A., … Zadok, E. (2012). Software monitoring with controllable overhead. International Journal on Software Tools for Technology Transfer, 14(3), 327–347. https://doi.org/10.1007/s10009-010-0184-4
Mendeley helps you to discover research relevant for your work.