ACM Home Page
Please provide us with feedback. Feedback
Scalable support for multithreaded applications on dynamic binary instrumentation systems
Full text PdfPdf (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
Kim Hazelwood  University of Virginia, Charlottesville, VA, USA
Greg Lueck  Intel Corporation, Hudson, MA, USA
Robert Cohn  Intel Corporation, Hudson, MA, USA
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 24,   Downloads (12 Months): 61,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1542431.1542435
What is a DOI?

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
3
 
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
 
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
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
 
18
19
 
20

Collaborative Colleagues:
Kim Hazelwood: colleagues
Greg Lueck: colleagues
Robert Cohn: colleagues