Run-Time Monitoring with Adjustable Overheads Using Dataflow-Guided Filtering

Daniel Lo, Tao Chen, Mohamed Ismail, and G. Edward Suh
HPCA 2015 [IEEE] [PDF]

Abstract

Recent studies have proposed various parallel run-time monitoring techniques to improve the reliability, security, and debugging capabilities of computer systems. However, these run-time monitors can introduce large performance and energy overheads, especially for flexible systems that support a range of monitors. In this paper, we introduce a hardware dataflow tracking engine that enables adjustable overheads through partial monitoring. This allows a trade-off to be made between monitoring coverage and overhead. This dataflow engine can also be extended to filter out monitoring operations associated with null metadata in order to reduce overheads. Given this architecture, we investigate how the dropping decisions should be made for partial monitoring and show that there exist interesting policy decisions depending on the target application of partial monitoring. Our experimental results show that overheads can be reduced significantly by trading off coverage. For example, for monitoring techniques with average overheads of 3-4x, the proposed architecture is able to reduce slowdowns to 1.5x while still achieving 43-82% average coverage.