|
ABSTRACT
Dynamic translation is a general purpose tool used for instrumenting programs at run time. Performance of translated execution relies on balancing the cost of translation against the benefits of any optimizations achieved, and many current translators perform substantial rewriting during translation in an attempt to reduce execution time. Our results show that these optimizations offer no significant benefit even when the translated program has a small, hot working set. When used in a broader range of applications, such as ubiquitous policy enforcement or penetration detection, translator performance cannot rely on the presence of a hot working set to amortize the cost of translation. A simpler, more maintainable, adaptable, and smaller translator appears preferable to more complicated designs in most cases.HDTrans is a light-weight dynamic instrumentation system for the IA-32 architecture that uses some simple and effective translation techniques in combination with established trace linearization and code caching optimizations. We present an evaluation of translation overhead under both benchmark and less idealized conditions, showing that conventional benchmarks do not provide a good prediction of translation overhead when used pervasively.A further contribution of this paper is an analysis of the effectiveness of post-link static pre-translation techniques for overhead reduction. Our results indicate that static pre-translation is effective only when expensive instrumentation or optimization is performed.
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
|
Advanced Micro Devices, Inc. AMD64 Architecture Tech Docs, 2005. http://www.amd.com/us-en/Processors/TechnicalResources/0,,30_182_739_7044,00.html.
|
| |
2
|
Altman, E., Gschwind, M., and Sathaye, S. BOA: The architecture of a binary translation processor. In Research Report RC21665 IBM T.J. Watson Research Center (2000).
|
 |
3
|
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
|
 |
4
|
|
| |
5
|
Bellard, F. QEMU, a Fast and Portable Dynamic Translator. In Proc. 2005 USENIX Annual Technical Conference, FREENIX Track (2005), pp. 41--46.
|
| |
6
|
|
| |
7
|
|
| |
8
|
|
| |
9
|
|
| |
10
|
Bungale, P., Sridhar, S., and Shapiro, J. S. Low-Complexity Dynamic Translation in VDebug. Tech. Rep. SRL2004-02, Johns Hopkins University Systems Research Laboratory, May 2004.
|
| |
11
|
Bungale, P., Sridhar, S., and Shapiro, J. S. Supervisor-Mode Virtualization for x86 in VDebug. Tech. Rep. SRL2004-01, Johns Hopkins University Systems Research Laboratory, May 2004.
|
| |
12
|
Chen, W. K., Lerner, S., Chaiken, R., and Gillies, D. M. Mojo: A Dynamic Optimization System. In ACM Workshop on Feedback-directed and Dynamic Optimization (FDDO-3) (Dec 2000).
|
| |
13
|
|
| |
14
|
Cifuentes, C., Lewis, B., and Ung, D. Walkabout--A Retargetable Dynamic Binary Translation Framework. In Technical report 2002-106, Sun Microsystems Laboratories (January 2002).
|
 |
15
|
|
 |
16
|
|
| |
17
|
Devine, S., Bugnion, E., and Rosenblum, M. Virtualization System Including a Virtual Machine Monitor for a Computer with a Segmented Architecture. In United States Patent 6,397,242 (May 2002).
|
 |
18
|
|
 |
19
|
Paul Barham , Boris Dragovic , Keir Fraser , Steven Hand , Tim Harris , Alex Ho , Rolf Neugebauer , Ian Pratt , Andrew Warfield, Xen and the art of virtualization, Proceedings of the nineteenth ACM symposium on Operating systems principles, October 19-22, 2003, Bolton Landing, NY, USA
|
 |
20
|
|
 |
21
|
Dawson R. Engler, VCODE: a retargetable, extensible, very fast dynamic code generation system, Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation, p.160-170, May 21-24, 1996, Philadelphia, Pennsylvania, United States
|
 |
22
|
Dawson R. Engler , Wilson C. Hsieh , M. Frans Kaashoek, C: a language for high-level, efficient, and machine-independent dynamic code generation, Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.131-144, January 21-24, 1996, St. Petersburg Beach, Florida, United States
[doi> 10.1145/237721.237765]
|
 |
23
|
Dawson R. Engler , M. Frans Kaashoek, DPF: fast, flexible message demultiplexing using dynamic code generation, Conference proceedings on Applications, technologies, architectures, and protocols for computer communications, p.53-59, August 28-30, 1996, Palo Alto, California, United States
|
 |
24
|
Dawson R. Engler , Todd A. Proebsting, DCG: an efficient, retargetable dynamic code generation system, Proceedings of the sixth international conference on Architectural support for programming languages and operating systems, p.263-272, October 05-07, 1994, San Jose, California, United States
|
| |
25
|
Hazelwood, K. Code Cache Management in Dynamic Optimization Systems. PhD thesis, Harvard University, Cambridge, MA, May 2004.
|
| |
26
|
|
| |
27
|
|
| |
28
|
|
| |
29
|
|
| |
30
|
|
 |
31
|
|
| |
32
|
|
| |
33
|
Kruegel, C., Robertson, W., Valeur, F., and Vigna, G. Static Disassembly of Obfuscated Binaries. In Proceedings of USENIX Security 2004 (August 2004).
|
 |
34
|
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
|
 |
35
|
|
| |
36
|
Nethercote, N. Dynamic Binary Analysis and Instrumentation. PhD thesis, University of Cambridge, November 2004.
|
| |
37
|
Operation, A. U. S. System V Interface Definition. 1989.
|
 |
38
|
|
| |
39
|
Reddi, V. J., Connors, D. A., and Cohn, R. S. Persistence in Dynamic Code Transformation Systems. In Proc. 2005 Workshop on Binary Instrumentation and Analysis (Sept. 2005).
|
| |
40
|
Scott, K., Kumar, N., Childers, B., Davidson, J., and Soffa, M. Overhead Reduction Techniques for Software Dynamic Translation. In NSF Workshop on Next Generation Software (April 2004).
|
| |
41
|
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
|
| |
42
|
Shapiro, J. Debug: The Next Generation UNIX Debugger, 1989.
|
| |
43
|
Shapiro, J. S., Northup, E., Doerrie, M. S., and Sridhar, S. Coyotos Microkernel Specification, 2006. http:// www.coyotos.org/.
|
 |
44
|
Jonathan S. Shapiro , Jonathan M. Smith , David J. Farber, EROS: a fast capability system, Proceedings of the seventeenth ACM symposium on Operating systems principles, p.170-185, December 12-15, 1999, Charleston, South Carolina, United States
|
| |
45
|
Shiveley, R. Enhanced Virtualization on Intel Architecture-based Servers. In Technology@Intel Magazine (April 2005).
|
| |
46
|
Sridhar, S., Shapiro, J. S., and Bungale, P. P. HDTrans: A Low-Overhead Dynamic Translator. In Proc. 2005 Workshop on Binary Instrumentation and Analysis (Sept. 2005).
|
| |
47
|
Standard Performance Evaluation Corporation. SPEC OMP OpenMP Benchmark Suite, version 3.0, Dec. 2003. http://www.spec.org/omp.
|
| |
48
|
Standard Performance Evaluation Corporation. SPEC CPU2000 Benchmark Suite, version 1.3, Nov. 2005. http://www.spec.org/ osg/cpu2000.
|
 |
49
|
|
CITED BY 6
|
|
|
|
|
|
|
|
|
|
|
Jose Baiocchi , Bruce R. Childers , Jack W. Davidson , Jason D. Hiser , Jonathan Misurda, Fragment cache management for dynamic binary translators in embedded systems with scratchpad, Proceedings of the 2007 international conference on Compilers, architecture, and synthesis for embedded systems, September 30-October 03, 2007, Salzburg, Austria
|
|
|
|
|
|
Daniel Williams , Jason D. Hiser , Jack W. Davidson, Using program metadata to support SDT in object-oriented applications, Proceedings of the 4th workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages and Programming Systems, p.55-62, July 06-06, 2009, Genova, Italy
|
|