skip to main content
research-article

Superblock compilation and other optimization techniques for a Java-based DBT machine emulator

Published:16 March 2013Publication History
Skip Abstract Section

Abstract

Superblock compilation techniques such as control flow graph (CFG) or trace compilation have become a widely adopted approach to increase the performance of dynamically compiling virtual machines even further. While this was shown to be successful for many conventional virtual machines, it did not result in a higher performance for Java-based DBT machine emulators so far. These emulators dynamically translate application binaries of a target machine into Java bytecode, which is then eventually compiled into the native code of the emulating host by the Java Virtual Machine (JVM). Successful superblock compilation techniques for this class of emulators must consider the special requirements that result from the two-stage translation as well as the characteristics of the JVM, such as the inability of most Java JIT compilers to handle large bytecode methods efficiently.

In this paper, we present a superblock compilation approach for a Java-based DBT machine emulator that generates a performance increase of up to 90 percent and of 32 percent on average. The key idea of our design is to provide a large scope over the control flow of target applications across basic block boundaries for the JVM, while still keeping small bytecode methods for the execution units.

In addition, we also present two further optimizations -- interpreter context elimination and program counter elimination -- which increase the emulation performance by 16 percent again. In total, the optimization techniques discussed in this paper provide an average performance gain of 48 percent for the surveyed emulator.

References

  1. EEMBC AutoBench 1.1 Benchmark Software. http://www.eembc.org/benchmark/automotive_sl.php, 2011.Google ScholarGoogle Scholar
  2. Java DOSBox. http://jdosbox.sourceforge.net, 2011.Google ScholarGoogle Scholar
  3. JPC -- The Pure Java x86 PC Emulator. http://jpc.sourceforge.net, 2011.Google ScholarGoogle Scholar
  4. M. Baer. Emulating the ARM Architecture Using a Java Dynamic Binary Translator. Master's thesis, University of Manchester, School of Computer Science, 2007.Google ScholarGoogle Scholar
  5. V. Bala, E. Duesterwald, and S. Banerjia. Transparent dynamic optimization: The design and implementation of dynamo. Technical report, HP Laboratories Cambridge, June 1999.Google ScholarGoogle Scholar
  6. E. Duesterwald and V. Bala. Software profiling for hot path prediction: less is more. SIGOPS Oper. Syst. Rev., 34(5):202--211, Nov. 2000. ISSN 0163-5980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. A. Gal, C. W. Probst, and M. Franz. Hotpathvm: an effective jit compiler for resource-constrained devices. In Proceedings of the 2nd international conference on Virtual execution environments, VEE '06, pages 144--153, New York, NY, USA, 2006. ACM. ISBN 1-59593-332-8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. C. Häubl and H. Mössenböck. Trace-based compilation for the java hotspot virtual machine. In Proceedings of the 9th International Conference on Principles and Practice of Programming in Java, PPPJ'11, pages 129--138, New York, NY, USA, 2011. ACM. ISBN 978-1-4503-0935-6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. H. Hayashizaki, P. Wu, H. Inoue, M. J. Serrano, and T. Nakatani. Improving the performance of trace-based systems by false loop filtering. SIGARCH Comput. Archit. News, 39(1):405--418, Mar. 2011. ISSN 0163-5964. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. D. Jones and N. Topham. High speed cpu simulation using ltu dynamic binary translation. In Proceedings of the 4th International Conference on High Performance Embedded Architectures and Compilers, HiPEAC '09, pages 50--64, Berlin, Heidelberg, 2009. Springer-Verlag. ISBN 978-3-540-92989-5. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. M. Kaufmann, M. Häsing, T. Preußer, and R. Spallek. The java virtual machine in retargetable, high-performance instruction set simulation. In Proceedings of the 9th International Conference on Principles and Practice of Programming in Java, PPPJ '11, pages 21--30, New York, NY, USA, 2011. ACM. ISBN 978-1-4503-0935-6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. I. Rogers and C. Kirkham. JikesNODE and PearColator: A Jikes RVM Operating System and Legacy Code Execution Environment. In 2nd ECOOP Workshop on Programm Languages and Operating Systems (ECOOP-PLOS'05), 2005.Google ScholarGoogle Scholar
  13. D. Sosniski. Java programming dynamics, part 2: Introducing reflection. http://www.ibm.com/developerworks/java/library/j-dyn0603, June 2003. {Online; accessed 2012/03}.Google ScholarGoogle Scholar
  14. R. Vallée-Rai, E. Gagnon, L. J. Hendren, P. Lam, P. Pominville, and V. Sundaresan. Optimizing java bytecode using the soot framework: Is it feasible? In Proceedings of the 9th International Conference on Compiler Construction, CC '00, pages 18--34, London, UK, UK, 2000. Springer-Verlag. ISBN 3-540-67263-X. URL http://dl.acm.org/citation.cfm?id=647476.727758. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. A. Yermolovich, A. Gal, and M. Franz. Portable execution of legacy binaries on the java virtual machine. In Proceedings of the 6th international symposium on Principles and practice of programming in Java, PPPJ '08, pages 63--72, New York, NY, USA, 2008. ACM. ISBN 978-1-60558-223-8. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Superblock compilation and other optimization techniques for a Java-based DBT machine emulator

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 48, Issue 7
        VEE '13
        July 2013
        194 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/2517326
        Issue’s Table of Contents
        • cover image ACM Conferences
          VEE '13: Proceedings of the 9th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
          March 2013
          210 pages
          ISBN:9781450312660
          DOI:10.1145/2451512

        Copyright © 2013 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 16 March 2013

        Check for updates

        Qualifiers

        • research-article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!