Improving instrumentation speed via buffering
|
Tools and Resources
Share: |
|||||||||||||||||||||||||||
ABSTRACTDynamic binary instrumentation systems are useful tools for a wide range of tasks including program analysis, security policy enforcement, and architectural simulation. The overhead of such systems is a primary concern, as some tasks introduce as much as several orders of magnitude slowdown. A large portion of this overhead stems from both data collection and analysis. In this paper, we present a method to reduce overhead by decoupling data collection from analysis. We accomplish this by buffering the data for analysis in bulk. We implement buffering as an extension to Pin, a popular dynamic instrumentation system. For collecting a memory trace, we see an average improvement of nearly 4x compared to the best-known implementation of buffering using the existing Pin API.
AUTHORS
|
|
||||||||||||||||||||||||||||||||||||||||
| View colleagues of Dan Upton | |||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
| View colleagues of Kim Hazelwood | |||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
| View colleagues of Robert Cohn | |||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
| View colleagues of Greg Lueck | |||||||||||||||||||||||||||||||||||||||||
REFERENCESNote: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
|
1
|
E. R. Altman, M. Gschwind, S. Sathaye, S. Kosonocky, A. Bright, J. Fritz, P. Ledak, D. Appenzeller, C. Agricola, and Z. Filan. BOA: The architecture of a binary translation processor. IBM Research Report RC 21665, Dec 2000.
|
|
| |
2
|
|
|
3
|
||
|
4
|
||
|
5
|
||
|
6
|
||
|
7
|
||
| |
8
|
Chi-Keung Luk , Robert Cohn , Robert Muth , Harish Patil , Artur Klauser , Geoff Lowney , Steven Wallace , Vijay Janapa Reddi , Kim Hazelwood, Pin: building customized program analysis tools with dynamic instrumentation, Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, June 12-15, 2005, Chicago, IL, USA [doi>10.1145/1065010.1065034]
|
|
9
|
||
| |
10
|
|
|
11
|
||
|
12
|
X. Shen and J. Shaw. Scalable implementation of efficient locality approximation. In 21st Workshop on Languages and Compilers for Parallel Computing, Edmonton, AB, July 2008.
|
|
|
13
|
||
|
14
|
||
| |
15
|
CITED BY4 Citations
|
|
|
|
|
INDEX TERMSThe ACM Computing Classification System (CCS rev.2012)
PUBLICATION| Title | WBIA '09 Proceedings of the Workshop on Binary Instrumentation and Applications table of contents |
| Conference Chairs | Robert Cohn Intel |
| Jeff Hollingsworth U of Maryland | |
| Naveen Kumar Vmware | |
| Pages | 52-61 |
| Publication Date | 2009-12-12 (yyyy-mm-dd) |
| Publisher | ACM New York, NY, USA ©2009 |
| ISBN: 978-1-60558-793-6 doi>10.1145/1791194.1791202 | |
| Conference | WBIABinary Instrumentation and Applications Workshop |
REVIEWS
COMMENTSBe the first to comment To Post a comment please sign in or create a free Web account
Table of Contents| SESSION: Instrumentation for improving hardware | ||
| Studying microarchitectural structures with object code reordering | ||
| Shah Mohammad Faizur Rahman, Zhe Wang, Daniel A. Jiménez | ||
| Pages: 7-16 | ||
| doi>10.1145/1791194.1791196 | ||
Full text: PDF
|
||
|
Modern microprocessors have many microarchitectural features. Quantifying the performance impact of one feature such as dynamic branch prediction can be difficult. On one hand, a timing simulator can predict the difference in performance given two different ...
expand
|
||
| Synthesizing contention | ||
| Jason Mars, Mary Lou Soffa | ||
| Pages: 17-25 | ||
| doi>10.1145/1791194.1791197 | ||
Full text: PDF
|
||
|
Multicore microarchitecture designs have become ubiquitous in today's computing environment enabling multiple processes to execute simultaneously on a single chip. With these new parallel processing capabilities comes a need to better understand how ...
expand
|
||
| Assessing cache false sharing effects by dynamic binary instrumentation | ||
| Stephan M. Günther, Josef Weidendorfer | ||
| Pages: 26-33 | ||
| doi>10.1145/1791194.1791198 | ||
Full text: PDF
|
||
|
Unnecessary sharing of cache lines among threads of a program due to private data which is located in close proximity in memory is a performance obstacle. Depending on access frequency to this data and scheduling of threads to processor cores, this can ...
expand
|
||
| SESSION: Instrumentation for improving software | ||
| Metaman: system-wide metadata management | ||
| Daniel Williams, Jack W. Davidson | ||
| Pages: 34-42 | ||
| doi>10.1145/1791194.1791200 | ||
Full text: PDF
|
||
|
Understanding how programs are created and how they behave at run time is vital to building secure and efficient programs. Typically program information generated when building and linking a program is not available to run-time instrumentation tools ...
expand
|
||
| A binary instrumentation tool for the Blackfin processor | ||
| Enqiang Sun, David Kaeli | ||
| Pages: 43-51 | ||
| doi>10.1145/1791194.1791201 | ||
Full text: PDF
|
||
|
While a large number of program profiling and instrumentation tools have been developed to support hardware and software analysis on general purpose systems, there is a general lack of sophisticated tools available for embedded architectures. Embedded ...
expand
|
||
| Improving instrumentation speed via buffering | ||
| Dan Upton, Kim Hazelwood, Robert Cohn, Greg Lueck | ||
| Pages: 52-61 | ||
| doi>10.1145/1791194.1791202 | ||
Full text: PDF
|
||
|
Dynamic binary instrumentation systems are useful tools for a wide range of tasks including program analysis, security policy enforcement, and architectural simulation. The overhead of such systems is a primary concern, as some tasks introduce as much ...
expand
|
||
| ThreadSanitizer: data race detection in practice | ||
| Konstantin Serebryany, Timur Iskhodzhanov | ||
| Pages: 62-71 | ||
| doi>10.1145/1791194.1791203 | ||
Full text: PDF
|
||
|
Data races are a particularly unpleasant kind of threading bugs. They are hard to find and reproduce -- you may not observe a bug during the entire testing cycle and will only see it in production as rare unexplainable failures. This paper presents ThreadSanitizer ...
expand
|
||