skip to main content
research-article

Hybrid compilation and optimization for java-based digital TV platforms

Published:27 January 2014Publication History
Skip Abstract Section

Abstract

The Java-based software platform for interactive digital TV (DTV) is composed of the system/middleware class statically installed on the DTV set-top box and the xlet applications dynamically downloaded from the TV stations. The xlet application includes Java classes and image/text files. The xlets are executed only when the TV viewer initiates an interaction, even if the xlets have been completely downloaded. To achieve high performance on this dual-component, user-initiated system, existing just-in-time (JIT) compilation and optimization is not enough; instead, ahead-of-time and idle-time compilation and optimization are also needed, requiring a hybrid compilation and optimization environment. We constructed such a hybrid environment for a commercial DTV software platform and evaluated it using real, on-air xlet applications. Our experimental results show that the proposed hybrid environment can improve the DTV Java performance by more than three times, compared to the JIT-only environment, with little change to other DTV behavior.

References

  1. B. Alpern, S. Augart, S. M. Blackburn, M. Butrico, A. Cocchi, P. Cheng, J. Dolby, S. Fink, D. Grove, M. Hind, K. S. McKinley, M. Mergen, J. E. B. Moss, T. Ngo, V. Sarkar, and M. Trapp. 2005. The Jikes Research Virtual Machine project: Building an open-source research community. IBM Syst. J. 44, 2, 399--417. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. A. Armbruster, H. Baker, A. Cunei, C. Flack, D. Holmes, F. Pizlo, E. Pla, M. Prochazka, and J. Vitek. 2007. A real-time Java virtual machine with applications in avionics. ACM Trans. Embed. Comput. Syst. 7, 1, 5:1--5:49. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. J. Aycock. 2003. A brief history of just-in-time. ACM Comput. Surv. 35, 2, 97--113. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. J. Baker, A. Cunei, T. Kalibera, F. Pizlo, and J. Vitek. 2009. Accurate garbage collection in uncooperative environments revisited. Concur. Comput. Pract. Exp. 21, 12, 1572--1606. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. BDA. 2005. BD-J Baseline Application and Logical Model Definition for BD-ROM. Blu-ray Disc Association. http://http://blu-raydisc.com/Assets/Downloadablefile/bdj_ gem_application_definition-15496.pdf.Google ScholarGoogle Scholar
  6. EEMBC. 2013. GrinderBench. http://www.grinderbench.org/.Google ScholarGoogle Scholar
  7. European Travel Commission. 2013. Mobile Devices. http://www.newmediatrendwatch.com/world-overview/98-interactive-tv-and-mobile-devices.Google ScholarGoogle Scholar
  8. S. Foote. 2005. Java in Digital TV update. http://www.oracle.com.Google ScholarGoogle Scholar
  9. Free Software Foundation. 1997. GCC: The GNU Compiler Collection. http://gcc.gnu.org.Google ScholarGoogle Scholar
  10. Free Software Foundation. 2012. GCJ: The GNU Compiler for the Java Programming Language. http://gcc.gnu.org/java/.Google ScholarGoogle Scholar
  11. M. Fulton, and M. Stoodley. 2007. Compilation techniques for real-time Java programs. In Proceedings of the International Symposium on Code Generation and Optimization. IEEE Computer Society, 221--231. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. GCC. 2012. GCJ: The GNU Compiler for the Java Programming Language. http://gcc.gnu.org/java/.Google ScholarGoogle Scholar
  13. D. H. Jung, S. M. Moon, and J. H. Bae. 2012. Evaluation of a Java ahead-of-time compiler for embedded systems. Comput. J. 55, 2, 232--252. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. D. H. Jung, J. S. Oh, H. S. Oh, and S. M. Moon. 2013. Java ahead-of-time compilation for Blu-ray disc player software platform. In Proceedings of the Asia-Pacific Programming Languages and Compilers Workshop.Google ScholarGoogle Scholar
  15. D. H. Jung, S. H. Bae, J. M. Lee, S. M. Moon, and J. K. Park. 2006. Supporting precise garbage collection for Java bytecode-to-C ahead-of-time compiler for embedded systems. In Proceedings of the International Conference on Compilers, Architecture, and Synthesis for Embedded Systems. ACM, New York, NY, 35--42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. D. H. Jung, J. K. Park, S. H. Bae, J. M. Lee, and S. M. Moon. 2008. Efficient exception handling in Java bytecode-to-C ahead-of-time compiler for embedded systems. Comput. Lang. Syst. Struct. 34, 4, 170--183. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. D. H. Jung, S. M. Moon, and H. S. Oh. 2010. Hybrid Java compilation and optimization for digital TV software platform. In Proceedings of the 8th Annual IEEE/ACM International Symposium on Code Generation and Optimization. ACM, New York, NY, 73--81. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. S. Morris. 2012. TV without Borders. http://www.interactivetvweb.org/.Google ScholarGoogle Scholar
  19. S. Morris and A. Smith-Chaigneau. 2005. Interactive TV Standards: A Guide to MHP, OCAP, and JavaTV. Focal Press, London, U.K. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. G. Muller, B. Moura, F. Bellard, and C. Consel. 1997. Harissa: A flexible and efficient Java environment mixing bytecode and compiled code. In Proceedings of the 3rd Conference on Object-Oriented Technologies. USENIX Association Berkeley, CA, 1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. A. Nilsson and S. Robertz. 2005. On real-time performance of ahead-of-time compiled Java. In Proceedings of the 8th IEEE International Symposium on Object-Oriented Real-Time Distributed Computing. IEEE Computer Society, 372--381. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Oracle. 2005. Mobile Information Device Profile (MIDP); JSR 118. http://www.oracle.com/technetwork/java/index-jsp-138820.html.Google ScholarGoogle Scholar
  23. Oracle. 2013a. Java TV. http://www.oracle.com/technetwork/java/javame/javatv/overview/getstarted/index.htm.Google ScholarGoogle Scholar
  24. Oracle. 2013b. Java Technology for the Wireless Industry (JTWI). http://www.oracle.com/technetwork/java/jtwi-137775.html.Google ScholarGoogle Scholar
  25. Oracle. 2013c. Java ME Technology - Mobile Service JSR 185. Architecture. http://www.oracle.com/technetwork/java/javame/tech/msa-139431.html.Google ScholarGoogle Scholar
  26. K. Palacz, J. Baker, C. Flack, C. Grothoff, H. Yamauchi, and J. Vitek. 2005. Engineering a common intermediate representation for the Ovm framework. Sci. Comput. Program. 57, 3, 357--378. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. PhoneMe Project. 2011. phoneME. https://java.net/projects/phoneme.Google ScholarGoogle Scholar
  28. F. Pizlo, L. Ziarek, P. Maj, A. Hosking, E. Blanton, and J. Vitek. 2010. Schism: Fragmentation-tolerant real-time garbage collection. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation. ACM, New York, NY, 146--159. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. T. A. Proebsting, G. Townsend, P. Bridges, J. H. Hartman, T. Newsham, and S. A. Watterson. 1997. Toba: Java for applications a way ahead of time (WAT) compiler. In Proceedings of the 3rd Conference on Object-Oriented Technologies. USENIX Association Berkeley, CA. 3. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. T. Schoofs, E. Jenn, S. Leriche, K. Nilsen, L. Gauthier, and M. Richard-Foy. 2009. Use of PERC pico in the AIDA avionics platform. In Proceedings of the International Workshop on Java Technologies for Real-Time and Embedded Systems. ACM, New York, NY, 169--178. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. M. Serrano, R. Bordawekar, S. Midkiff, and M. Gupta. 2000. Quicksilver: A quasi-static compiler for Java. In Proceedings of the ACM Conference on Object-Oriented Programming Systems, Languages, and Applications. ACM, New York, NY, 66--82. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. F. Siebert. 2000. Eliminating external fragmentation in a non-moving garbage collector for Java. In Proceedings of the International Conference on Compilers, Architecture, and Synthesis for Embedded Systems. ACM, New York, NY, 9--17. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. L. Stepanian, A. Brown, A. Kielstra, G. Koblents, and K. Stoodley. 2005. Inlining Java native calls at runtime. In Proceedings of the ACM/USENIX International Conference on Virtual Execution Environments. ACM, New York, NY, 121--131. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Sun Microsystems. 2005. CDC HotSpot Implementation Dynamic Compiler Architecture Guide. http://docs.oracle.com/javame/config/cdc/cdc-opt-impl/cdc_ dynamic_ compiler_ arch.pdf.Google ScholarGoogle Scholar
  35. A. Varma and S. S. Bhattacharyya. 2004. Java-through-C Compilation: An enabling technology for Java in embedded systems. In Proceedings of the Design, Automation and Test in Europe Conference. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. M. Weiss, F. Ferrière, B. Desart, C. Fabre, F. Hirsch, E. A. Johnson, V. Joloboff, F. Roy, F. Siebert, and X. Spengler. 1998. TurboJ, a Java bytecode-to-native compiler. In Proceedings of the ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Embedded Systems, F. Mueller and A. Bestavros, Eds. Lecture Notes in Computer Science, vol. 1474, Springer-Verlag, Berlin Heidelberg, 119--130. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. R. Wilkes. 2005. NGen revs up your performance with powerful new features. http://msdn.microsoft.com/en-us/magazine/cc163808.aspx.Google ScholarGoogle Scholar

Index Terms

  1. Hybrid compilation and optimization for java-based digital TV platforms

    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 Transactions on Embedded Computing Systems
      ACM Transactions on Embedded Computing Systems  Volume 13, Issue 2s
      Special Section ESFH'12, ESTIMedia'11 and Regular Papers
      January 2014
      409 pages
      ISSN:1539-9087
      EISSN:1558-3465
      DOI:10.1145/2544375
      Issue’s Table of Contents

      Copyright © 2014 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 27 January 2014
      • Accepted: 1 June 2013
      • Revised: 1 February 2013
      • Received: 1 January 2012
      Published in tecs Volume 13, Issue 2s

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader