Garbage collection: algorithms for automatic dynamic memory management
Garbage collection: algorithms for automatic dynamic memory management
The energy efficiency of IRAM architectures
Proceedings of the 24th annual international symposium on Computer architecture
One-bit counts between unique and sticky
Proceedings of the 1st international symposium on Memory management
IEEE Spectrum
The design and use of simplepower: a cycle-accurate energy estimation tool
Proceedings of the 37th Annual Design Automation Conference
Leakage Energy Management in Cache Hierarchies
Proceedings of the 2002 International Conference on Parallel Architectures and Compilation Techniques
Some practical methods for rapid combinator reduction
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Tuning Garbage Collection in an Embedded Java Environment
HPCA '02 Proceedings of the 8th International Symposium on High-Performance Computer Architecture
Java virtual machine timing probes: a study of object life span and garbage collection
PCC '02 Proceedings of the Performance, Computing, and Communications Conference, 2002. on 21st IEEE International
Hi-index | 0.00 |
This paper presents an energy consumption comparison between two well-known garbage collection algorithms---mark-sweep-compact and reference counting. Our goal is to evaluate the suitability of reference counting as an algorithm for memory-constrained Java embedded devices. We hypothesize that reference counting would be suitable because it has higher data locality, which should reduce the number of data-cache misses, and so reduce energy consumption. However, this benefit could be offset by the extra instructions required for each reference update, a basic requirement of reference counting. To test our hypothesis, we implement, into Sun's KVM, a hybrid scheme that combines a standard mark-sweep-compact collector and limited-field reference counting. Our hybrid scheme is then compared against the default KVM with only mark-sweep-compact. We investigate several performance metrics that contribute to the performance of the system, including number of garbage collections, instructions, level-1 instruction and data cache misses, and total energy consumption.Based on our observations, the hybrid scheme yields three important benefits: (a) the hybrid scheme reclaims most memory quickly, resulting in less mark-sweep garbage collection invocations, (b) the reduction in garbage collection improves cache locality and reduces the number of main memory accesses, and (c) the reduction in memory accesses ultimately results in lower energy consumption, since a memory access can be energy-intensive. Our results confirm our hypothesis, with the hybrid scheme requiring up to 59% less energy than the default KVM.