ACM SIGARCH Computer Architecture News · 2004 · 121 citations · 44 references
EngineeringComputer EngineeringComputer ScienceComputer ArchitectureOperating SystemsSystems ProgrammingSpeculative ExecutionSystem MonitoringDynamic LoadsExecution MonitoringExecution Trace AnalysisOverhead ReductionRollbackRun-time MonitoringThread-level Speculation
Recent impressive performance improvements in computer architecturehave not led to significant gains in ease of debugging.Software debugging often relies on inserting run-time softwarechecks. In many cases, however, it is hard to find the root causeof a bug. Moreover, program execution typically slows down significantly,often by 10-100 times.To address this problem, this paper introduces the IntelligentWatcher (iWatcher), novel architectural support to monitor dynamicexecution with minimal overhead, automatically, and flexibly.iWatcher associates program-specified monitoring functionswith memory locations. When any such location is accessed, themonitoring function is automatically triggered with low overhead.To further reduce overhead and support rollback, iWatcher canleverage Thread-Level Speculation (TLS). To test iWatcher, we useapplications with various bugs. Our results show that iWatcher detectsmany more software bugs than Valgrind, a well-known open-sourcebug detector. Moreover, iWatcher only induces a 4-80%execution overhead, which is orders of magnitude less than Valgrind.Even with 20% of the dynamic loads monitored in a program,iWatcher adds only 66-174% overhead. Finally, TLS is effective atreducing overheads for programs with substantial monitoring.
44
IEEE Software · 2011 · 2K citations
Stefan Savage, Michael T. Burrows, Greg Nelson et al. · ACM Transactions on Computer Systems · 1997 · 1.6K citations · Full text
Amitabh Srivastava, Alan Eustace · 1994 · 1K citations · Full text
Gurindar S. Sohi, Scott E. Breach, T. N. Vijaykumar · 1995 · 978 citations