Advertisement

Dynamic Optimization Techniques

  • Antonio Carlos Schneider Beck Fl.
  • Luigi Carro
Chapter

Abstract

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.

Keywords

Basic Block Virtual Machine Monitor Target Architecture Binary Translation VLIW Processor 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 107.
    Altman, E.R., Ebcioğlu, K., Gschwind, M., Sathaye, S.: Advances and future challenges in binary—translation and optimization. In: Proc. of the IEEE, pp. 1710–1722 (2001) Google Scholar
  2. 108.
    Altman, E.R., Kaeli, D.R., Sheffer, Y.: Welcome to the opportunities of binary translation. IEEE Comput. 33(3), 40–45 (2000) Google Scholar
  3. 109.
    Bala, V., Duesterwald, E., Banerjia, S.: Dynamo: a transparent dynamic optimization system. In: PLDI’00: Proceedings of the ACM SIGPLAN 2000 Conference on Programming Language Design and Implementation, pp. 1–12. ACM, New York (2000). doi: 10.1145/349299.349303 CrossRefGoogle Scholar
  4. 110.
    Burger, D., Austin, T.M.: The simplescalar tool set, version 2.0. SIGARCH Comput. Archit. News 25(3), 13–25 (1997). doi: 10.1145/268806.268810 CrossRefGoogle Scholar
  5. 111.
    Chernoff, A., Herdeg, M., Hookway, R., Reeve, C., Rubin, N., Tye, T., Bharadwaj, S., Yates, J.: Fx!32 a profile-directed binary translator. IEEE Micro 18(2), 56–64 (1998). doi: 10.1109/40.671403 CrossRefGoogle Scholar
  6. 112.
    Costa, A.T.D., Franca, F.M., Filho, E.M.C.: The dynamic trace memoization reuse technique. In: 9th PACT, 2000, IEEE CS, pp. 92–99 (2000) Google Scholar
  7. 113.
    Dehnert, J.C., Grant, B.K., Banning, J.P., Johnson, R., Kistler, T., Klaiber, A., Mattson, J.: The transmeta code morphing™ software: using speculation, recovery, and adaptive retranslation to address real-life challenges. In: CGO’03: Proceedings of the International Symposium on Code Generation and Optimization, pp. 15–24. IEEE Computer Society, Los Alamitos (2003) Google Scholar
  8. 114.
    Ebcioğlu, K., Altman, E., Gschwind, M., Sathaye, S.: Dynamic binary translation and optimization. IEEE Trans. Comput. 50(6), 529–548 (2001). doi: 10.1109/12.931892 CrossRefGoogle Scholar
  9. 115.
    Ebcioğlu, K., Fritts, J., Kosonocky, S., Gschwind, M., Altman, E., Kailas, K., Brigh, T.: An eight issue tree-vliw processor for dynamic binary translation. In: ICCD’98: Proceedings of the International Conference on Computer Design, p. 488. IEEE Computer Society, Los Alamitos (1998) Google Scholar
  10. 116.
    Ebcioğlu, K., Altman, E.R.: Daisy: dynamic compilation for 100 architectural compatibility. In: ISCA’97: Proceedings of the 24th Annual International Symposium on Computer Architecture, pp. 26–37. ACM, New York (1997) CrossRefGoogle Scholar
  11. 117.
    Gabbay, F., Gabbay, F.: Speculative execution based on value prediction. Tech. Rep., EE Department TR 1080, Technion–Israel Institute of Technology (1996) Google Scholar
  12. 118.
    Gabbay, F., Mendelson, A.: Using value prediction to increase the power of speculative execution hardware. ACM Trans. Comput. Syst. 16(3), 234–270 (1998). doi: 10.1145/290409.290411 CrossRefGoogle Scholar
  13. 119.
    Gonzalez, A., Tubella, J., Molina, C.: Trace-level reuse. In: ICPP’99: Proceedings of the 1999 International Conference on Parallel Processing, p. 30. IEEE Computer Society, Los Alamitos (1999) CrossRefGoogle Scholar
  14. 120.
    Gschwind, M., Ebcioğlu, K., Altman, E., Sathaye, S.: Binary translation and architecture convergence issues for IBM system/390. In: ICS ’00: Proceedings of the 14th International Conference on Supercomputing, pp. 336–347. ACM, New York (2000). doi: 10.1145/335231.335264 CrossRefGoogle Scholar
  15. 121.
    Hennessy, J.L., Patterson, D.A.: Computer Architecture: A Quantitative Approach, 4th edn. Morgan Kaufmann, San Mateo (2006) zbMATHGoogle Scholar
  16. 122.
    Hookway, R.J., Herdeg, M.A.: Digital fx!32: combining emulation and binary translation. Digit. Tech. J. 9(1), 3–12 (1997) Google Scholar
  17. 123.
    Huang, J., Lilja, D.: Exploiting basic block value locality with block reuse. In: HPCA’99: Proceedings of the 5th International Symposium on High Performance Computer Architecture, p. 106. IEEE Computer Society, Los Alamitos (1999) CrossRefGoogle Scholar
  18. 124.
    Huang, J., Lilja, D.J.: Extending value reuse to basic blocks with compiler support. IEEE Trans. Comput. 49(4), 331–347 (2000). doi: 10.1109/12.844346 CrossRefGoogle Scholar
  19. 125.
    Lipasti, M.H., Shen, J.P.: Exceeding the dataflow limit via value prediction. In: MICRO 29: Proceedings of the 29th Annual ACM/IEEE International Symposium on Microarchitecture, pp. 226–237. IEEE Computer Society, Los Alamitos (1996) CrossRefGoogle Scholar
  20. 126.
    Lipasti, M.H., Wilkerson, C.B., Shen, J.P.: Value locality and load value prediction. In: ASPLOS-VII: Proceedings of the Seventh International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 138–147. ACM, New York (1996). doi: 10.1145/237090.237173 CrossRefGoogle Scholar
  21. 127.
    Pilla, M.L., Childers, B.R., da Costa, A.T., Franca, F.M.G., Navaux, P.O.A.: A speculative trace reuse architecture with reduced hardware requirements. In: SBAC-PAD ’06: Proceedings of the 18th International Symposium on Computer Architecture and High Performance Computing, pp. 47–54. IEEE Computer Society, Los Alamitos (2006). doi: 10.1109/SBAC-PAD.2006.7 Google Scholar
  22. 128.
    Pilla, M.L., da Costa, A.T., França, F.M.G., Childers, B.R., Soffa, M.L.: The limits of speculative trace reuse on deeply pipelined processors. In: SBAC-PAD’03: Proceedings of the 15th Symposium on Computer Architecture and High Performance Computing, p. 36. IEEE Computer Society, Los Alamitos (2003) CrossRefGoogle Scholar
  23. 129.
    Sager, D., Group, D.P., Corp, I.: The microarchitecture of the Pentium 4 processor. Intel Technol. J. 1, 2001 (2001) Google Scholar
  24. 130.
    Shankland, S.: Transmeta shoots for 700 MHz with new chip. In: CNET News (2000) Google Scholar
  25. 131.
    Sites, R.L., Chernoff, A., Kirk, M.B., Marks, M.P., Robinson, S.G.: Binary translation. Commun. ACM 36(2), 69–81 (1993). doi: 10.1145/151220.151227 CrossRefGoogle Scholar
  26. 132.
    Sodani, A., Sohi, G.S.: Dynamic instruction reuse. SIGARCH Comput. Archit. News 25(2), 194–205 (1997). doi: 10.1145/384286.264200 CrossRefGoogle Scholar
  27. 133.
    Sodani, A., Sohi, G.S.: An empirical analysis of instruction repetition. SIGOPS Oper. Syst. Rev. 32(5), 35–45 (1998). doi: 10.1145/384265.291016 CrossRefGoogle Scholar
  28. 134.
    Sodani, A., Sohi, G.S.: Understanding the differences between value prediction and instruction reuse. In: MICRO 31: Proceedings of the 31st Annual ACM/IEEE International Symposium on Microarchitecture, pp. 205–215. IEEE Computer Society, Los Alamitos (1998) CrossRefGoogle Scholar
  29. 135.
    Yang, B.S., Moon, S.M., Park, S., Lee, J., Lee, S., Park, J., Chung, Y.C., Kim, S., Ebcioğlu, K., Altman, E.R.: Latte: A java vm just-in-time compiler with fast and efficient register allocation. In: IEEE PACT, pp. 128–138 (1999) Google Scholar

Copyright information

© Springer Science+Business Media B.V. 2010

Authors and Affiliations

  • Antonio Carlos Schneider Beck Fl.
    • 1
  • Luigi Carro
    • 1
  1. 1.Instituto de InformáticaUniversidade Federal do Rio Grande do Sul (UFRGS)Porto AlegreBrazil

Personalised recommendations