• Home
  • Search
  • Improving dynamic binary optimization through early-exit guided code region formation
  • Open Access IconOpen Access
  • Cite Icon2
  • https://doi.org/10.1145/2517326.2451519Copy DOI Icon

Improving dynamic binary optimization through early-exit guided code region formation

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

Most dynamic binary translators (DBT) and optimizers (DBO) target binary traces, i.e. frequently executed paths, as code regions to be translated and optimized. Code region formation is the most important first step in all DBTs and DBOs. The quality of the dynamically formed code regions determines the extent and the types of optimization opportunities that can be exposed to DBTs and DBOs, and thus, determines the ultimate quality of the final optimized code. The Next-Executing-Tail (NET) trace formation method used in HP Dynamo is an early example of such techniques. Many existing trace formation schemes are variants of NET. They work very well for most binary traces, but they also suffer a major problem: the formed traces may contain a large number of early exits that could be branched out during the execution. If this happens frequently, the program execution will spend more time in the slow binary interpreter or in the unoptimized code regions than in the optimized traces in code cache. The benefit of the trace optimization is thus lost. Traces/regions with frequently taken early-exits are called delinquent traces/regions. Our empirical study shows that at least 8 of the 12 SPEC CPU2006 integer benchmarks have delinquent traces. In this paper, we propose a light-weight region formation technique called Early-Exit Guided Region Formation (EEG) to improve the quality of the formed traces/regions. It iteratively identifies and merges delinquent regions into larger code regions. We have implemented our EEG algorithm in two LLVM-based multi-threaded DBTs targeting ARM and IA32 instruction set architecture (ISA), respectively. Using SPEC CPU2006 benchmark suite with reference inputs, our results show that compared to an NET-variant currently used in QEMU, a state-of-the-art retargetable DBT, EEG can achieve a significant performance improvement of up to 72% (27% on average), and to 49% (23% on average) for IA32 and ARM, respectively.

Similar Papers
  • Conference Article
  • Citations12

Improving dynamic binary optimization through early-exit guided code region formation

  • Mar 16, 2013
  • Chun-Chen Hsu +6
  • Conference Article
  • Citations18

Reducing pressure in bounded DBT code caches

  • Oct 19, 2008
  • José A Baiocchi +3
  • Book Chapter
  • Citations2

A Novel Chaining Approach to Indirect Control Transfer Instructions

  • Jan 01, 2011
  • Wei Chen +3
  • Conference Article
  • Citations32

Generational cache management of code traces in dynamic optimization systems

  • May 25, 2004
  • K Hazelwood +1
  • Book Chapter
  • Citations10

Supporting Legacy Binary Code in a Software Transaction Compiler with Dynamic Binary Translation and Optimization

  • Mar 29, 2008
  • Cheng Wang +2
  • Conference Article
  • Citations6

Runtime Protection via Dataflow Flattening

  • Jun 01, 2009
  • B Anckaert +3
  • Conference Article
  • Citations46

Code cache management schemes for dynamic optimizers

  • Feb 03, 2002
  • K Hazelwood +1
  • Conference Article
  • Citations13

LAR-CC: Large atomic regions with conditional commits

  • Apr 01, 2011
  • Edson Borin +3
  • Research Article
  • Citations3

Processor-Tracing Guided Region Formation in Dynamic Binary Translation

  • Nov 16, 2018
  • ACM Transactions on Architecture and Code Optimization
  • Ding-Yong Hong +4
  • Conference Article
  • Citations4

Bungee jumps

  • Dec 05, 2015
  • Daniel S Mcfarlin +1
  • Conference Article
  • Citations70

An event-driven multithreaded dynamic optimization framework

  • Jan 01, 2005
  • Weifeng Zhang +2
  • Book Chapter
  • Citations3

Chapter 11 - The ARM Architecture

  • Jan 01, 2005
  • Hardware and Computer Organization
  • Arnold S Berger
  • Conference Article

A novel clustered multi-dictionary code compression method

  • May 01, 2015
  • Ji Tu +2
  • Research Article

Collecting Profile Information Using Application Execution Traces for Static Optimizing Binary Translation

  • Jun 30, 2021
  • Международный научный журнал "Современные информационные технологии и ИТ-образование"
  • С.А Лисицын
  • Conference Article
  • Citations48

AutomaDeD: Automata-based debugging for dissimilar parallel tasks

  • Jun 01, 2010
  • Greg Bronevetsky +5
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.