Log-based Architectures for General-Purpose Monitoring of Deployed Code

Shimin Chen,Babak Falsafi,Phillip B. Gibbons,Michael Kozuch,Todd C. Mowry,Radu Teodorescu,Anastassia Ailamaki,Limor Fix,Gregory R. Ganger,Bin Lin,Steven W. Schlosser
DOI: https://doi.org/10.1145/1181309.1181319
2006-01-01
Abstract:Runtime monitoring tools are invaluable for detecting various types of bugs, in both sequential and multi-threaded programs. However, these tools often slow down the monitored program by an order of magnitude or more [4], implying that the tools are ill-suited for always-on monitoring of deployed code. Fortunately, the emergence of chip multiprocessors as a dominant computing platform means that resources are available on-chip to assist in monitoring tasks. In this brief note, we advocate Log-Based Architectures (LBA) that exploit such on-chip resources in order to dramatically reduce the overhead of runtime program monitoring. Specifically, we propose adding hardware support for logging a main program's trace and delivering it to another (otherwise idle) processing core for inspection. A life-guard program running on this other core executes the desired monitoring task.
What problem does this paper attempt to address?