Ameliorating the Overhead of Dynamic Optimization


Autoria(s): Zhao, Qin; Wong, Weng Fai
Data(s)

13/12/2004

13/12/2004

01/01/2005

Resumo

Dynamic optimization has several key advantages. This includes the ability to work on binary code in the absence of sources and to perform optimization across module boundaries. However, it has a significant disadvantage viz-a-viz traditional static optimization: it has a significant runtime overhead. There can be performance gain only if the overhead can be amortized. In this paper, we will quantitatively analyze the runtime overhead introduced by a dynamic optimizer, DynamoRIO. We found that the major overhead does not come from the optimizer's operation. Instead, it comes from the extra code in the code cache added by DynamoRIO. After a detailed analysis, we will propose a method of trace construction that ameliorate the overhead introduced by the dynamic optimizer, thereby reducing the runtime overhead of DynamoRIO. We believe that the result of the study as well as the proposed solution is applicable to other scenarios such as dynamic code translation and managed execution that utilizes a framework similar to that of dynamic optimization.

Singapore-MIT Alliance (SMA)

Formato

95652 bytes

application/pdf

Identificador

http://hdl.handle.net/1721.1/7411

Idioma(s)

en

Relação

Computer Science (CS);

Palavras-Chave #Dynamic optimization #DynamoRIO #overhead #indirect jump
Tipo

Article