| Scalable support for multithreaded applications on dynamic binary instrumentation systems |
| Full text |
Pdf
(885 KB)
|
Source
|
International Symposium on Memory Management
archive
Proceedings of the 2009 international symposium on Memory management
table of contents
Dublin, Ireland
SESSION: Paper session 1
table of contents
Pages 20-29
Year of Publication: 2009
ISBN:978-1-60558-347-1
|
|
Authors
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 24, Downloads (12 Months): 61, Citation Count: 0
|
|
|
ABSTRACT
Dynamic binary instrumentation systems are used to inject or modify arbitrary instructions in existing binary applications; several such systems have been developed over the past decade. Much of the literature describing the internal architecture and performance of these systems has focused on executing single-threaded guest applications. In this paper, we discuss the specific design decisions necessary for supporting large, multithreaded applications on JIT-based dynamic instrumentation systems. While implementing a working solution for multithreading is straightforward, providing a system that scales in terms of memory and performance is much more intricate. We highlight the design decisions in the latest version of the Pin dynamic instrumentation system, including the just-in-time compiler, the emulator, and the code cache. The overall design strives to provide scalable performance and memory footprints on modern applications.
REFERENCES
Note: 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
|
Ole Agesen. Binary translation of returns. In Workshop on Binary Instrumentation and Applications, pages 7--14, San Jose, CA, USA, October 2006.
|
 |
2
|
Vasanth Bala , Evelyn Duesterwald , Sanjeev Banerjia, Dynamo: a transparent dynamic optimization system, Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation, p.1-12, June 18-21, 2000, Vancouver, British Columbia, Canada
|
 |
3
|
Sanjay Bhansali , Wen-Ke Chen , Stuart de Jong , Andrew Edwards , Ron Murray , Milenko Drinić , Darek Mihočka , Joe Chau, Framework for instruction-level tracing and analysis of program executions, Proceedings of the 2nd international conference on Virtual execution environments, June 14-16, 2006, Ottawa, Ontario, Canada
[doi> 10.1145/1134760.1220164]
|
| |
4
|
|
| |
5
|
|
| |
6
|
|
| |
7
|
Apala Guha, Kim Hazelwood, and Mary Lou Soffa. Reducing exit stub memory consumption in code caches. In International Conference on High-Performance Embedded Architectures and Compilers (HiPEAC), Ghent, Belgium, January 2007.
|
 |
8
|
|
 |
9
|
|
| |
10
|
Jason D. Hiser , Daniel Williams , Wei Hu , Jack W. Davidson , Jason Mars , Bruce R. Childers, Evaluating Indirect Branch Handling Mechanisms in Software Dynamic Translation Systems, Proceedings of the International Symposium on Code Generation and Optimization, p.61-73, March 11-14, 2007
[doi> 10.1109/CGO.2007.10]
|
| |
11
|
|
| |
12
|
Intel. Intel64 architecture memory ordering white paper, August 2007.
|
| |
13
|
Aamer Jaleel, Robert S. Cohn, Chi--Keung Luk, and Bruce Jacob. Cmp$im: A pin-based on-the-fly multi-core cache simulator. In Fourth Annual Workshop on Modeling, Benchmarking and Simulation, 2008.
|
 |
14
|
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
|
 |
15
|
|
| |
16
|
Cristiano Pereira, Harish Patil, and Brad Calder. Reproducible simulation of multi-threaded workloads for architecture design exploration. In Proceedings of the IEEE International Symposium on Workload Characterization, pages 173--182, September 2008.
|
| |
17
|
K. Scott , N. Kumar , S. Velusamy , B. Childers , J. W. Davidson , M. L. Soffa, Retargetable and reconfigurable software dynamic translation, Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization, March 23-26, 2003, San Francisco, California
|
| |
18
|
|
 |
19
|
Swaroop Sridhar , Jonathan S. Shapiro , Eric Northup , Prashanth P. Bungale, HDTrans: an open source, low-level dynamic instrumentation system, Proceedings of the 2nd international conference on Virtual execution environments, June 14-16, 2006, Ottawa, Ontario, Canada
[doi> 10.1145/1134760.1220166]
|
| |
20
|
|
|