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.
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- J. Aycock. 2003. A brief history of just-in-time. ACM Comput. Surv. 35, 2, 97--113. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- EEMBC. 2013. GrinderBench. http://www.grinderbench.org/.Google Scholar
- European Travel Commission. 2013. Mobile Devices. http://www.newmediatrendwatch.com/world-overview/98-interactive-tv-and-mobile-devices.Google Scholar
- S. Foote. 2005. Java in Digital TV update. http://www.oracle.com.Google Scholar
- Free Software Foundation. 1997. GCC: The GNU Compiler Collection. http://gcc.gnu.org.Google Scholar
- Free Software Foundation. 2012. GCJ: The GNU Compiler for the Java Programming Language. http://gcc.gnu.org/java/.Google Scholar
- 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 ScholarDigital Library
- GCC. 2012. GCJ: The GNU Compiler for the Java Programming Language. http://gcc.gnu.org/java/.Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- S. Morris. 2012. TV without Borders. http://www.interactivetvweb.org/.Google Scholar
- S. Morris and A. Smith-Chaigneau. 2005. Interactive TV Standards: A Guide to MHP, OCAP, and JavaTV. Focal Press, London, U.K. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Oracle. 2005. Mobile Information Device Profile (MIDP); JSR 118. http://www.oracle.com/technetwork/java/index-jsp-138820.html.Google Scholar
- Oracle. 2013a. Java TV. http://www.oracle.com/technetwork/java/javame/javatv/overview/getstarted/index.htm.Google Scholar
- Oracle. 2013b. Java Technology for the Wireless Industry (JTWI). http://www.oracle.com/technetwork/java/jtwi-137775.html.Google Scholar
- Oracle. 2013c. Java ME Technology - Mobile Service JSR 185. Architecture. http://www.oracle.com/technetwork/java/javame/tech/msa-139431.html.Google Scholar
- 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 ScholarDigital Library
- PhoneMe Project. 2011. phoneME. https://java.net/projects/phoneme.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- R. Wilkes. 2005. NGen revs up your performance with powerful new features. http://msdn.microsoft.com/en-us/magazine/cc163808.aspx.Google Scholar
Index Terms
- Hybrid compilation and optimization for java-based digital TV platforms
Recommendations
Hybrid Java compilation and optimization for digital TV software platform
CGO '10: Proceedings of the 8th annual IEEE/ACM international symposium on Code generation and optimizationThe Java software platform for the interactive digital TV (DTV) is composed of the system/middleware classes statically installed on the DTV set-top box and the xlet classes dynamically downloaded from the TV stations, where xlets are executed only when ...
Advanced ahead-of-time compilation for Javascript engine: work-in-progress
CASES '17: Proceedings of the 2017 International Conference on Compilers, Architectures and Synthesis for Embedded Systems CompanionJavaScript1 is heavily used in the web, yet it is much slower than other languages. To improve the JavaScript performance, ahead-of-time compilation (AOTC) has been used, either to reuse the bytecode or the machine code generated by the baseline just-in-...
Decisional DNA applied to digital TV
KES'11: Proceedings of the 15th international conference on Knowledge-based and intelligent information and engineering systems - Volume Part IIAs the booming of digital TV, viewer's TV watch experience could be extremely valuable. Thanks to the fast developing IT techniques and solutions in the digital TV field, now we can run customized applications either inside the digital TV or at the ...
Comments