Dynamic voltage and frequency scaling (DVFS) is ubiquitous on mobile devices as a mechanism for saving energy. Reducing the clock frequency of a processor allows a corresponding reduction in power consumption, as does turning off idle cores. Garbage collection is a canonical example of the sort of memory-bound workload that best responds to such scaling. Here, we explore the impact of frequency scaling for garbage collection in a real mobile device running Android’s Dalvik virtual machine, which uses a concurrent collector. By controlling the frequency of the core on which the concurrent collector thread runs we can reduce power significantly. Running established multi-threaded benchmarks shows that total processor energy can be reduced up to 30%, with end-to-end performance loss of at most 10%.
@inproceedings{Hussein+2015ISMM,
author = {Hussein, Ahmed and Hosking, Antony L. and Payer, Mathias and Vick, Christopher A.},
title = {Don’t Race the Memory Bus: Taming the GC Leadfoot},
booktitle = {ACM SIGPLAN International Symposium on Memory Management},
series = {ISMM},
year = {2015},
month = {June},
address = {Portland, Oregon},
pages = {15--27},
doi = {10.1145/2754169.2754182}
}