ABSTRACT
Dynamic binary translation (DBT) can provide security, virtualization, resource management and other desirable services to embedded systems. Although DBT has many benefits, its run-time performance overhead can be relatively high. The run-time overhead is important in embedded systems due to their slow processor clock speeds, simple microarchitectures, and small caches. This paper addresses how to implement efficient DBT for ARM-based embedded systems, taking into account instruction set and cache/TLB nuances. We develop several techniques that reduce DBT overhead for the ARM. Our techniques focus on cache and TLB behavior. We tested the techniques on an ARM-based embedded device and found that DBT overhead was reduced by 54% in comparison to a general-purpose DBT configuration that is known to perform well, thus further enabling DBT for a wide range of purposes.
- Keith Adams and Ole Agesen. A comparison of software and hardware techniques for x86 virtualization,Int'l Conf. on Architectural Support for Programming Languages and Operating Systems. 2006. Google Scholar
Digital Library
- Jose Baiocchi and Bruce Childers and Jack Davidson and Jason Hiser. Reducing Pressure in Bounded DBT Code Caches. Int'l Conf. on Compilers, Architecture, and Synthesis for Embedded Systems. 2008. Google Scholar
Digital Library
- Jose Baiocchi, Bruce Childers, Jack Davidson, Jason Hiser and Jonathan Misurda. Fragment cache management for dynamic binary translators in embedded systems with scratchpad. Int'l Conf. on Compilers, Architecture, and Synthesis for Embedded Systems. 2007. Google Scholar
Digital Library
- Vasanth Bala and Evelyn Duesterwald and Sanjeev Banerjia. Dynamo: a transparent dynamic optimization system. Int'l Conf. on Programming language design and implementation. 2000. Google Scholar
Digital Library
- Giuseppe Desoli, Nikolay Mateev, Evelyn Duesterwald, Paolo Faraboschi, and Joseph Fisher. DELI: a new run-time control point. Int'l. Symp. on Microarchitecture. 2002. 1072--4451} Google Scholar
Digital Library
- Apala Guha and Kim Hazelwood and Mary Lou Soffa. Reducing exit stub memory consumption in code caches. Int'l. Conf. on High-Performance Embedded Architectures and Compilers. 2007. Google Scholar
Digital Library
- Suhas Gupta and Pranay Pratap and Huzur Saran and S. Arun-Kumar. Dynamic code instrumentation to detect and recover from return address corruption. Intl'l Workshop on Dynamic Systems Analysis. 2006. Google Scholar
Digital Library
- Matthew R. Guthaus, Jeffrey S. Ringenberg, Dan Ernst, Todd M. Austin, Trevor Mudge and Richard B. Brown. MiBench: A free, commercially representative embedded benchmark suite. Workshop on Workload Characterization. 2001. Google Scholar
Digital Library
- Kim Hazelwood and Artur Klauser. A dynamic binary instrumentation engine for the ARM architecture. Int'l. Conf. on Compilers, Architecture and Synthesis for Embedded Systems. 2006. Google Scholar
Digital Library
- Jason Hiser, Daniel Williams, Wei Hu, Jack Davidson, Jason Mars and Bruce Childers. Evaluating Indirect Branch Handling Mechanisms in Software Dynamic Translation Systems. Int'l. Symp. on Code Generation and Optimization. 2007. Google Scholar
Digital Library
- Wei Hu, Jason Hiser, Daniel Williams, Adrian Filipi, Jack Davidson, David Evans, John Knight, Anh Nguyen-Tuong and Jonathan Rowanhill. Secure and practical defense against code-injection attacks using software dynamic translation. Int'l. Conf. on Virtual Execution Environments. 2006. Google Scholar
Digital Library
- Vladimir Kiriansky, Derek Bruening, Saman Amarasinghe. Secure execution via program shepherding. USENIX Security Symp. 2002. Google Scholar
Digital Library
- Maebe, J., Ronsse, Michiel, De Bosschere, K. DIOTA: Dynamic Instrumentation, Optimization and Transformation of Applications. Compendium of Workshops and Tutorials Held in conjunction with PACT'02. 2002.Google Scholar
- Arkaitz Ruiz-Alvarez and Kim Hazelwood. Evaluating the Impact of Dynamic Binary Translation Systems on Hardware Cache Performance. IEEE Int'l. Symp. on Workload Characterization. 2008.Google Scholar
- Kevin Scott, Naveen Kumar, Bruce Childers, Jack Davidson and Mary Lou Soffa. Overhead reduction techniques for software dynamic translation. Int'l. Parallel and Distributed Processing Symp. 2004.Google Scholar
- Kevin Scott, Naveen Kumar, Silva Velusamy, Bruce Childers, Jack Davidson and Mary Lou Soffa. Retargetable and reconfigurable software dynamic translation. Int'l. Symp. on Code Generation and Optimization. 2003. Google Scholar
Digital Library
- Stacey Shogan and Bruce Childers. Compact binaries with code compression in a software dynamic translator. Int'l Conf. on Design, Automation and Test in Europe. 2004. Google Scholar
Digital Library
- J. Smith and R. Nair. Virtual Machines: Versatile Platforms for Systems and Processes. Morgan Kaufmann Publishers Inc. 2005. Google Scholar
Digital Library
- Swaroop Sridhar, Jonathan Shapiro, Eric Northup and Prashanth Bungale. HDTrans: an open source, low-level dynamic instrumentation system. Int'l Conf. on Virtual Execution Environments. 2006. Google Scholar
Digital Library
- Qiang Wu, Margaret Martonosi, Douglas W. Clark, Vijay Janapa Reddi, Dan Connors, Youfeng Wu, Jin Lee and David Brooks. Dynamic-Compiler-Driven Control for Microprocessor Energy and Performance. IEEE Micro. 2006. 26.(1) Google Scholar
Digital Library
- Qiang Wu, V.J. Reddi, Youfeng Wu, Jin Lee, Dan Connors, David Brooks, Margaret Martonosi and Douglas Clark. A dynamic compilation framework for controlling microprocessor energy and performance. Int'l. Symp. on Microarchitecture. 2005. Google Scholar
Digital Library
- Shukang Zhou, Bruce Childers and Mary Lou Soffa. Planning for code buffer management in distributed virtual execution environments. Int'l Conf. on Virtual Execution Environments. 2005. Google Scholar
Digital Library
Index Terms
Addressing the challenges of DBT for the ARM architecture
Recommendations
A Retargetable System-level DBT Hypervisor
Section: Best of ATC 2019 and Regular PaperSystem-level Dynamic Binary Translation (DBT) provides the capability to boot an Operating System (OS) and execute programs compiled for an Instruction Set Architecture (ISA) different from that of the host machine. Due to their performance-critical ...
Addressing the challenges of DBT for the ARM architecture
LCTES '09Dynamic binary translation (DBT) can provide security, virtualization, resource management and other desirable services to embedded systems. Although DBT has many benefits, its run-time performance overhead can be relatively high. The run-time overhead ...
Low overhead dynamic binary translation on ARM
PLDI '17The ARMv8 architecture introduced AArch64, a 64-bit execution mode with a new instruction set, while retaining binary compatibility with previous versions of the ARM architecture through AArch32, a 32-bit execution mode. Most hardware implementations ...







Comments