Dynamic Optimization Techniques

According to the discussion made at the end of the previous chapter, reconfigurable systems alone cannot deal with the high heterogeneous behavior of recent applications. Hence, the only solution to cope with that is to use dynamic optimization techniques, such as Binary Translation and reuse. The section about Binary translation starts with an explanation on how it works. The main concepts are clarified, as well as the main challenges that a binary translator mechanism must handle to work properly. The section ends with a detailed view of some examples of Binary Translation machines. The study on Reuse, in turn, covers diverse types: instruction reuse, value prediction and the difference between them; basic block, trace reuse and dynamic trace memoization.

[1]  Richard L. Sites,et al.  Binary translation , 1993, CACM.

[2]  Erik R. Altman,et al.  Welcome to the Opportunities of Binary Translation , 2000, Computer.

[3]  Felipe Maia Galvão França,et al.  The dynamic trace memoization reuse technique , 2000, Proceedings 2000 International Conference on Parallel Architectures and Compilation Techniques (Cat. No.PR00622).

[4]  Maurício L. Pilla,et al.  A Speculative Trace Reuse Architecture with Reduced Hardware Requirements , 2006, 2006 18th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD'06).

[5]  John Yates,et al.  FX!32 a profile-directed binary translator , 1998, IEEE Micro.

[6]  Michael Gschwind,et al.  Binary translation and architecture convergence issues for IBM system/390 , 2000, ICS '00.

[7]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[8]  Mikko H. Lipasti,et al.  Value locality and load value prediction , 1996, ASPLOS VII.

[9]  Erik R. Altman,et al.  Advances and future challenges in binary translation and optimization , 2001, Proc. IEEE.

[10]  Erik R. Altman,et al.  LaTTe: a Java VM just-in-time compiler with fast and efficient register allocation , 1999, 1999 International Conference on Parallel Architectures and Compilation Techniques (Cat. No.PR00425).

[11]  Maurício L. Pilla,et al.  The limits of speculative trace reuse on deeply pipelined processors , 2003, Proceedings. 15th Symposium on Computer Architecture and High Performance Computing.

[12]  Mikko H. Lipasti,et al.  Exceeding the dataflow limit via value prediction , 1996, Proceedings of the 29th Annual IEEE/ACM International Symposium on Microarchitecture. MICRO 29.

[13]  Richard Johnson,et al.  The Transmeta Code Morphing/spl trade/ Software: using speculation, recovery, and adaptive retranslation to address real-life challenges , 2003, International Symposium on Code Generation and Optimization, 2003. CGO 2003..

[14]  Jian Huang,et al.  Exploiting basic block value locality with block reuse , 1999, Proceedings Fifth International Symposium on High-Performance Computer Architecture.

[15]  Antonio González,et al.  Trace-level reuse , 1999, Proceedings of the 1999 International Conference on Parallel Processing.

[16]  Avi Mendelson,et al.  Using value prediction to increase the power of speculative execution hardware , 1998, TOCS.

[17]  Gurindar S. Sohi,et al.  An empirical analysis of instruction repetition , 1998, ASPLOS VIII.

[18]  Todd M. Austin,et al.  The SimpleScalar tool set, version 2.0 , 1997, CARN.

[19]  Raymond J. Hookway,et al.  DIGITAL FX!32: Combining Emulation and Binary Translation , 1997, Digit. Tech. J..

[20]  David J. Sager,et al.  The microarchitecture of the Pentium 4 processor , 2001 .

[21]  G.S. Sohi,et al.  Dynamic Instruction Reuse , 1997, Conference Proceedings. The 24th Annual International Symposium on Computer Architecture.

[22]  Gurindar S. Sohi,et al.  Understanding the differences between value prediction and instruction reuse , 1998, Proceedings. 31st Annual ACM/IEEE International Symposium on Microarchitecture.

[23]  K. Ebcioglu,et al.  Daisy: Dynamic Compilation For 10o?40 Architectural Compatibility , 1997, Conference Proceedings. The 24th Annual International Symposium on Computer Architecture.

[24]  Michael Gschwind,et al.  Dynamic Binary Translation and Optimization , 2001, IEEE Trans. Computers.

[25]  Michael Gschwind,et al.  An eight-issue tree-VLIW processor for dynamic binary translation , 1998, Proceedings International Conference on Computer Design. VLSI in Computers and Processors (Cat. No.98CB36273).

[26]  Richard L. Sites,et al.  Binary translation : Digital's alpha chip project , 1993 .

[27]  Vasanth Bala,et al.  Dynamo: a transparent dynamic optimization system , 2000, SIGP.

[28]  Jian Huang,et al.  Extending Value Reuse to Basic Blocks with Compiler Support , 2000, IEEE Trans. Computers.