Energy vs . Memory Trade-Offs on Energy-and-Memory Constraint Embedded JVM

Jie Tang
2014-01-01
Abstract:Due to the thriving of the mobile devices market, there has been a great momentum in adopting Java technology in embedded mobile devices where optimizing energy consumption is extremely critical. However, since Java Virtual Machines (JVMs) are conventionally used for server side clusters, the energy and memory tradeoff on embedded devices are not well understood. In this work, we attempt to find out how the memory heap size on embedded devices (running JVMs) could impact energy consumption. To approach this problem, we use an inhouse-developed production-level micro-JVM as a case study. This micro-JVM runs on top of a low-power co-processor with tight memory and battery constraints, and is designed for hosting security workloads. Focusing on security-related workloads, we first study the energy consumption distribution among JVM components. Second, we vary the size of the available physical memory, and find out how this would impact energy consumption. Third, we propose strategies to optimize memory consumption. Finally, we explore hardware strategies to further optimize energy consumption. The results show that garbage collector (GC) overhead is a function of memory heap size, the bigger heap the smaller overhead incurred. However, the increase of memory heap will not always translate into the energy reduction due to the offset from memory side energy cost. Keywords—Java Virtual Machine, Garbage Collector, Hardware Accelerator, Energy-aware Computing
What problem does this paper attempt to address?