an energy efficient garbage collector for java embedded devices
This paper presents a detailed design and implementation of a power-efficient garbage collector for Java embedded systems. The proposed scheme is a hybrid between the standard mark-sweep-compact collector available in Sun's KVM and a limited-field reference counter. There are three benefits resulting from the proposed scheme. (a) the proposed scheme reclaims memory more efficiently and this results in less mark-sweep garbage collection invocations, (b) reduction in garbage collection invocations improves cache locality and reduces the number of main memory accesses, and (c) reduction in memory access ultimately results in lower energy consumption, since a memory access can consume a large amount of energy when compared with an instruction execution. The proposed scheme has been implemented into Sun's KVM, and has been shown to reduce the number of mark-sweep garbage collection invocations by up to 100\% in some cases, and the number of level-1 cache misses by as much as 87\% when compared to the default garbage collector. We also find that in some applications, the proposed scheme can reduce the power consumption by as much as 27\% when compared to the default Sun's KVM.
garbage collection embedded systems virtual machines java mobile computing