loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
International Symposium on Code Generation and Optimization (CGO'04)
The Accuracy of Initial Prediction in Two-Phase Dynamic Binary Translators
San Jose, California
March 20-March 24
ISBN: 0-7695-2102-9
Youfeng Wu, Intel Corporation
Mauricio Breternitz, Intel Corporation
Justin Quek, University of Illinois, Urbana-Champaign
Orna Etzion, Intel Corporation
Jesse Fang, Intel Corporation
Dynamic binary translators use a two-phase approach to identify and optimize frequently executed code dynamically. In the first step (profiling phase), blocks of code are interpreted or quickly translated to collect execution frequency information for the blocks. In the second phase (optimization phase), frequently executed blocks are grouped into regions and advanced optimizations are applied on them.
This approach implicitly assumes that the initial profile of each block is representative of the block throughout its lifetime. This study investigates the ability of the initial profile to predict the average program behavior. We compare the predicted behavior of varying lengths of the initial execution with the average program behavior for the whole program execution, and use the prediction from the training input as the reference. Our result indicates that, for the SPEC2000 benchmarks, even very short initial profiles have comparable prediction accuracy to the traditional profile-guided optimizations using the training input, although the initial profile is inadequate for predicting loop trip count information for some integer programs and several benchmarks can benefit from phase-awareness during dynamic binary translation.
Citation:
Youfeng Wu, Mauricio Breternitz, Justin Quek, Orna Etzion, Jesse Fang, "The Accuracy of Initial Prediction in Two-Phase Dynamic Binary Translators," cgo, pp.227, International Symposium on Code Generation and Optimization (CGO'04), 2004
Usage of this product signifies your acceptance of the Terms of Use.