loading...
MemTracker: Efficient and Programmable Support for Memory Access Monitoring and Debugging
Scottsdale, AZ, USA February 10-February 14
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/HPCA.2007.3462052007 IEEE 13th International Symposiu ...
 This Article 
 
PDF
HTML
 
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Guru Venkataramani, Georgia Tech, guru@cc.gatech.edu
Brandyn Roemer, Georgia Tech, gtg538y@mail.gatech.edu
Yan Solihin, North Carolina State University, solihin@ece.ncsu.edu
Milos Prvulovic, Georgia Tech, milos@cc.gatech.edu
Memory bugs are a broad class of bugs that is becoming increasingly common with increasing software complexity, and many of these bugs are also security vulnerabilities. Unfortunately, existing software and even hardware approaches for finding and identifying memory bugs have considerable performance overheads, target only a narrow class of bugs, are costly to implement, or use computational resources inefficiently. This paper describes MemTracker, a new hardware support mechanism that can be configured to perform different kinds of memory access monitoring tasks. MemTracker associates each word of data in memory with a few bits of state, and uses a programmable state transition table to react to different events that can affect this state. The number of state bits per word, the events to which MemTracker reacts, and the transition table are all fully programmable. MemTracker's rich set of states, events, and transitions can be used to implement different monitoring and debugging checkers with minimal performance overheads, even when frequent state updates are needed. To evaluate MemTracker, we map three different checkers onto it, as well as a checker that combines all three. For the most demanding (combined) checker, we observe performance overheads of only 2.7% on average and 4.8% worst-case on SPEC 2000 applications. Such low overheads allow continuous (always-on) use of MemTracker-enabled checkers even in production runs.
Citation:
Guru Venkataramani, Brandyn Roemer, Yan Solihin, Milos Prvulovic, "MemTracker: Efficient and Programmable Support for Memory Access Monitoring and Debugging," hpca, pp.273-284, 2007 IEEE 13th International Symposium on High Performance Computer Architecture, 2007
Usage of this product signifies your acceptance of the Terms of Use.