skip to main content
research-article

Impact of JVM superoperators on energy consumption in resource-constrained embedded systems

Published:12 June 2008Publication History
Skip Abstract Section

Abstract

Energy consumption is one of the most important issues in resource-constrained embedded systems. Many such systems run Java-based applications due to Java's architecture-independent format (bytecode). Standard techniques for executing bytecode programs, e.g. interpretation or just-in-time compilation, have performance or memory issues that make them unsuitable for resource-constrained embedded systems.

A superoperator-extended, lightweight Java Virtual Machine (JVM) can be used in resource-constrained embedded systems to improve performance and reduce memory consumption. This paper shows that such a JVM also significantly reduces energy consumption. This is due primarily to a considerable reduction in the number of memory accesses and thus in energy consumption in the instruction and data TLBs and caches and, in most cases, in DRAM energy consumption. Since the fraction of processor energy dissipated in these units is approximately 60%, the energy savings achieved are significant.

The paper evaluates the number of load, store, and computational instructions eliminated by the use of proposed superoperators as compared to a simple interpreter on a set of embedded benchmarks. Using cache and DRAM per access energy we estimate the total processor/DRAM energy saved by using our JVM. Our results show that with 32KB caches the reduction in energy consumption ranges from 40% to 60% of the overall processor, plus DRAM energy. Even higher savings may be achieved with smaller caches and increased access to DRAM as DRAM access energy is fairly high.

References

  1. Tim Lindholm and Frank Yellin. Java Virtual Machine Specification. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Paul Capewell and Ian Watson. A risc hardware platform for low power java. In VLSID ?05: Proceedings of the 18th International Conference on VLSI Design held jointly with 4th International Conference on Embedded Systems Design (VLSID?05), pages 138--143, Washington, DC, USA, 2005. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. David S. Hardin. aJile Systems: Low-Power Direct-Execution Java Microprocessors for Real-Time and Networked Embedded Applications. White paper. Available at www.ajile.com/downloads/aJilewhite-paper.pdf as of Aug. 2007.Google ScholarGoogle Scholar
  4. V. Tiwari, S. Malik, and A. Wolfe. Compilation techniques for low energy: An overview. In Proc. of Symp. Low-Power Electronics, 1994.Google ScholarGoogle ScholarCross RefCross Ref
  5. Nik Shaylor. A just-in-time compiler for memory-constrained lowpower devices. In Proceedings of the 2nd Java Virtual Machine Research and Technology Symposium, pages 119--126, Berkeley, CA, USA, 2002. USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Carmen Badea, Alexandru Nicolau, and Alexander Veidenbaum. A simplified java bytecode compilation system for resource-constrained embedded processors. In Proc. Intl. Conference on Compilers, Architecture, and Synthesis for Embedded Systems, Salzburg, Austria, Oct. 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Jikes Research Virtual Machine. http://jikesrvm.sourceforge.net/.Google ScholarGoogle Scholar
  8. James Montanaro et. al. A 160-mhz, 32-b, 0.5-w cmos risc microprocessor. Digital Tech. J., 9(1):49--62, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Sebastien Lafond and Johan Lilius. An energy consumption model for java virtual machine. In TR597. TUCS, Finland, 2004.Google ScholarGoogle Scholar
  10. N. Vijaykrishnan, M. Kandemir, S. Kim, S. Tomar, A. Sivasubramaniam, and M. J. Irwin. Energy behavior of java applications from the memory perspective. In JVM?01: Proceedings of the JavaTM Virtual Machine Research and Technology Symposium on JavaTM Virtual Machine Research and Technology Symposium, pages 23--23, Berkeley, CA, USA, 2001. USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Francky Catthoor, Eddy de Greef, and Sven Suytack. Custom Memory Management Methodology: Exploration of Memory Organisation for Embedded Multimedia System Design. Kluwer Academic Publishers, Norwell, MA, USA, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. N. Vijaykrishnan, M. Kandemir, M. J. Irwin, H. S. Kim, and W. Ye. Energy-driven integrated hardware-software optimizations using simplepower. In ISCA ?00: Proceedings of the 27th annual international symposium on Computer architecture, pages 95--106, New York, NY, USA, 2000. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. V. Tiwari, S. Malik, and A. Wolfe. Power analysis of embedded software: a first step towards software power minimization. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2(4):437--445, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. G. Sinevriotis and Th. Stouraitis. Power analysis of the arm 7 embedded microprocessor. In Proc. of the 9th Inter. Workshop on Power and Timing Modeling, Optimization and Simulation (PATMOS?99), pages 261--270. IEEE, 1999.Google ScholarGoogle Scholar
  15. Phillip Stanley-Marbell and Michael Hsiao. Fast, flexible, cycleaccurate energy estimation. In ISLPED ?01: Proceedings of the 2001 international symposium on Low power electronics and design, pages 141--146, New York, NY, USA, 2001. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Kathleen Baynes, Chris Collins, Eric Fiterman, Brinda Ganesh, Paul Kohout, Christine Smit, Tiebing Zhang, and Bruce Jacob. The performance and energy consumption of three embedded realtime operating systems. In CASES ?01: Proceedings of the 2001 international conference on Compilers, architecture, and synthesis for embedded systems, pages 203--210, New York, NY, USA, 2001. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Vivek Tiwari and Mike Tien-Chien Lee. Power analysis of a 32-bit embedded microcontroller. In ASP-DAC ?95: Proceedings of the 1995 conference on Asia Pacific design automation (CD-ROM), page 23, New York, NY, USA, 1995. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Mike Tien-Chien Lee, Vivek Tiwari, Sharad Malik, and Masahiro Fujita. Power analysis and low-power scheduling techniques for embedded dsp software. In ISSS ?95: Proceedings of the 8th international symposium on System synthesis, pages 110--115, New York, NY, USA, 1995. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. CACTI 4.2. http://quid.hpl.hp.com:9081/cacti/.Google ScholarGoogle Scholar
  20. Jelena Trajkovic and Alexander Veidenbaum. Reducing SDRAM Energy Consumption in Embedded Systems. Technical Report TR04-02, University of California, Irvine, 2004.Google ScholarGoogle Scholar
  21. Standard Performance Evaluation Corporation. www.spec.org.Google ScholarGoogle Scholar
  22. PNG Software. http://www.sixlegs.com/software/png/.Google ScholarGoogle Scholar
  23. The Legion of the Bouncy Castle. http://www.bouncycastle.org/.Google ScholarGoogle Scholar
  24. ej TECHNOLOGIES. Jprofiler. http://www.ej-technologies.com/products/jprofiler/overview.html.Google ScholarGoogle Scholar
  25. Todd A. Proebsting. Optimizing an ansi c interpreter with superoperators. In POPL ?95: Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pages 322--332, New York, NY, USA, 1995. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Ana Lucia Velloso Azevedo. Annotation-aware dynamic compilation and interpretation. PhD thesis, 2002. Chair-Alexandru Nicolau.Google ScholarGoogle Scholar
  27. Ben Stephenson and Wade Holst. Advancements in multicode optimization. In OOPSLA ?04: Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, pages 186--187, New York, NY, USA, 2004. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Diarmuid O?Donoghue and James F. Power. Identifying and evaluating a generic set of superinstructions for embedded java programs. In ESA/VLSI, pages 192--198, 2004.Google ScholarGoogle Scholar
  29. Kevin Casey, David Gregg, M. Anton Ertl, and Andrew Nisbet. Towards superinstructions for java interpreters. In SCOPES, pages 329--343, 2003.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Impact of JVM superoperators on energy consumption in resource-constrained embedded systems

          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!