the accuracy of initial prediction in two-phase dynamic binary translators
Dynamic binary translators use a two-phase approachto identify and optimize frequently executed codedynamically. In the first step (profiling phase), blocks ofcode are interpreted or quickly translated to collectexecution frequency information for the blocks. In thesecond phase (optimization phase), frequently executedblocks are grouped into regions and advancedoptimizations are applied on them.This approach implicitly assumes that the initialprofile of each block is representative of the blockthroughout its lifetime. This study investigates the abilityof the initial profile to predict the average programbehavior. We compare the predicted behavior of varyinglengths of the initial execution with the average programbehavior for the whole program execution, and use theprediction from the training input as the reference. Ourresult indicates that, for the SPEC2000 benchmarks, evenvery short initial profiles have comparable predictionaccuracy to the traditional profile-guided optimizationsusing the training input, although the initial profile isinadequate for predicting loop trip count information forsome integer programs and several benchmarks canbenefit from phase-awareness during dynamic binarytranslation.
accuracy predict dynamic translation use optimality profiles blocking informal region lifetime program behavior training input benchmark awareness