ACM SIGARCH Computer Architecture News · 2008 · 120 citations · 39 references
EngineeringHardware Verification LanguageComputer ArchitectureSoftware EngineeringProcessor ArchitectureSoftware AnalysisHardware SecurityDynamic Binary InstrumentationStatic CheckingBinary InstrumentationParallel ComputingInstruction-level ParallelismProfiling ToolRuntime VerificationFlexible Hardware AccelerationComputer EngineeringInstruction-grain Monitoring ToolsComputer ScienceDebuggerStatic Program AnalysisProgram AnalysisSoftware TestingSystem Software
Instruction-grain program monitoring tools, which check and analyze executing programs at the granularity of individual instructions, are invaluable for quickly detecting bugs and security attacks and then limiting their damage (via containment and/or recovery). Unfortunately, their fine-grain nature implies very high monitoring overheads for software-only tools, which are typically based on dynamic binary instrumentation. Previous hardware proposals either focus on mechanisms that target specific bugs or address only the cost of binary instrumentation. In this paper, we propose a flexible hardware solution for accelerating a wide range of instruction-grain monitoring tools. By examining a number of diverse tools (for memory checking, security tracking, and data race detection), we identify three significant common sources of overheads and then propose three novel hardware techniques for addressing these overheads: Inheritance Tracking, Idempotent Filters, and Metadata-TLBs. Together, these constitute a general-purpose hardware acceleration framework. Experimental results show our framework reduces overheads by 2-3X over the previous state-of-the-art, while supporting the needed flexibility.
39
Steven Cameron Woo, Moriyoshi Ohara, Evan Torrie et al. · 1995 · 3.6K citations · Full text
Chi-Keung Luk, Robert Cohn, Robert Muth et al. · ACM SIGPLAN Notices · 2005 · 3.2K citations
Engineering, Computer Architecture, Software Engineering +16
Chi-Keung Luk, Robert Cohn, Robert Muth et al. · 2005 · 2.3K citations
Engineering, Computer Architecture, Software Engineering +16
Nicholas Nethercote, Julian Seward · 2007 · 2.2K citations
Engineering, Computer Architecture, Software Engineering +18
Stefan Savage, Michael T. Burrows, Greg Nelson et al. · ACM Transactions on Computer Systems · 1997 · 1.6K citations · Full text