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} }