Infoscience

Conference paper

Exploration of Memory Hierarchy Configurations for Efficient Garbage Collection on High-Performance Embedded Systems

Modern embedded devices (e.g., PDAs, mobile phones) are now incorporating Java as a very popular implementation language in their designs. These new embedded systems include multiple applications that are dynamically launched by the user, which can produce very energy-hungry systems if they are not properly designed.Therefore, it is crucial for new embedded devices a better understanding of the interactions between the applications and the garbage collectors to reduce their energy consumption and to extend their battery life. In this paper we present a complete exploration, from an energy viewpoint, of the different possibilities of memory hierarchies for high-performance embedded systems when used by state-of-the-art garbage collectors. Moreover, we explore the potential benefits (with respect to performance improvements and power reduction) of using an scratchpad memory directed by the virtual machine to store critical code and data structures of the garbage collectors; thus, enabling up to 40% performance improvements and 41% leakage reduction with respect to classical cache-based memory architectures. Indeed, our experimental results show that the key for an efficient low-power implementation of {\it Java Virtual Machines (JVM)} for high-performance embedded systems is the synergy between the collection algorithm choice, the memory architecture tuning, and the inclusion of power management schemes controlled by the JVM, exploiting the knowledge of the used garbage collection scheme.

Related material