loading...
Control-Flow Independence Reuse via Dynamic Vectorization
Denver, Colorado April 04-April 08
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/IPDPS.2005.15419th IEEE International Parallel and ...
 This Article 
 
PDF
HTML
 
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Alex Pajuelo, Universitat Polit?cnica de Catalunya, Barcelona, Spain
Antonio Gonz?lez, Universitat Polit?cnica de Catalunya, Barcelona, Spain
Mateo Valero, Universitat Polit?cnica de Catalunya, Barcelona, Spain
Current processors exploit out-of-order execution and branch prediction to improve instruction level parallelism. When a branch prediction is wrong, processors flush the pipeline and squash all the speculative work. However, control-flow independent instructions compute the same results when they re-enter the pipeline down the correct path. If these instructions are not squashed, branch misprediction penalty can significantly be reduced.
In this paper we present a novel mechanism that detects control-flow independent instructions, executes them before the branch is resolved, and avoids their re-execution in the case of a branch misprediction. The mechanism can detect and exploit control-flow independence even for instructions that are far away from the corresponding branch and even out of the instruction window.
Performance figures show that the proposed mechanism can exploit control-flow independence for nearly 50% of the mispredicted branches, which results in a performance improvement that ranges from 14% to 17,8% for realistic configurations of forthcoming microprocessors.
Citation:
Alex Pajuelo, Antonio Gonz?lez, Mateo Valero, "Control-Flow Independence Reuse via Dynamic Vectorization," ipdps, vol. 1, pp.21a, 19th IEEE International Parallel and Distributed Processing Symposium (IPDPS'05) - Papers, 2005
Usage of this product signifies your acceptance of the Terms of Use.