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

    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!