Research

 

CSI ]   [ ETH ]


Lab Manager ]

LST Home ]     [ People ]     [ Research ]     [ Teaching ]
[ Publications ]     [ Research Opportunities ]     [ Partners & Supporters ]     [ Earlier Work ]

Requirements for Fast Binary Translation

Mathias Payer,  Thomas R. Gross,  Requirements for Fast Binary Translation, 2nd Workshop on Architectural and Microarchitectural Support for Binary Translation (AMAS-BT'09), June 2009. [AMASBT_2009.pdf]
Fast binary translation is a key component for many modern software techniques. This paper reflects on the implementation of fastBT, a generator for low-overhead, table-based dynamic (just-in-time) binary translators. We discuss the most challenging sources of overhead, propose optimizations to further reduce these penalties, and present a detailed performance analysis with different approaches to translate indirect control transfers. To allow comparison with other systems the paper includes an empirical evaluation of fastBT relative to three other binary translation systems (DynamoRIO, HDTrans, and PIN). The fastBT generator is architecture-neutral but this paper's analysis and performance data focus on IA-32 Linux. fastBT performs well in practice: we report an overhead of 0\% to 10\% for the majority of benchmarks. fastBT uses a trace cache and trampolines to obtain efficiency in translation and execution of the translated program. The keys to fastBT's good performance are a configurable inlining mechanism optimizations for the different forms of indirect jumps. To ease development of a binary translator, the translation actions of fastBT are specified in high-level abstractions that are compiled into fastBT's translation tables. This table generator allows a compact description of the transformations that the binary translator effects in the translated code.
[ Publications ]     [ Research Opportunities ]     [ Partners & Supporters ]     [ Earlier Work ]