Metadata driven memory optimizations in dynamic binary translator

  • Authors:
  • Chaohao Xu;Jianhui Li;Tao Bao;Yun Wang;Bo Huang

  • Affiliations:
  • Fudan University, Shanghai, China;Software and Solution Group (SSG), Intel China Software Center, Shanghai, China;Fudan University, Shanghai, China;Software and Solution Group (SSG), Intel China Software Center, Shanghai, China;Software and Solution Group (SSG), Intel China Software Center, Shanghai, China

  • Venue:
  • Proceedings of the 3rd international conference on Virtual execution environments
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

A dynamic binary translator offers solutions for translating and running source architecture binaries on target architecture at runtime. Regardless of its growing popularity, practical dynamic binary translators usually suffer from the limited optimizations performed when generating the translated code due to the lack of useful information available in the executable files and the requirement to conform to the binary-level compatibility. Trying to generate more efficient translated code, we propose in this paper a novel method of passing performance critical information to a dynamic binary translator through the metadata section generated during the static compilation phase. With the performance critical metadata, the dynamic binary translator is able to perform aggressive optimizations to generate higher quality code. We implemented a general and extensible framework in GCC 4.0 and IA-32® Execution Layer, and selected metadata related to memory optimizations as our target. The metadata enables IA-32 EL to perform memory optimizations such as registerization, memory ordering relaxation and address disambiguation of memory instructions. Experimental data shows an overall performance improvement of 15.03% for SPECfp2000 and 1.21% for SPECint2000. For some specific benchmarks, the performance improvement is even up to 37.09%.