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 consumptions extremely critical. However, since Java Virtual Machines(JVMs) are conventionally used for server side clusters, the energy and memory tradeoffs 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 in-house-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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call