Impact of GC Design on Power and Performance for Android
Loading...
Date
Authors
Hussein, Ahmed
Payer, Mathias
Hosking, Antony
Vick, Christopher A.
Journal Title
Journal ISSN
Volume Title
Publisher
Association for Computing Machinery (ACM)
Abstract
Small mobile devices have evolved to versatile computing systems. Android devices run a complete software stack, including a full Linux kernel, user land with several software daemons and a virtual machine to run applications. On these mobile systems energy is a scarce resource and needs to be handled carefully. Current systems rely on governors that adjust the frequency of individual cores depending on the system load. We measure energy consumption of different components of this complex software stack, including garbage collection (GC) of the Android virtual machine. Here we propose several extensions to the default GC configuration of Android, including a generational collector, across established dimensions of heap memory size and concurrency. Our evaluation shows that Android's asynchronous GC thread consumes a significant amount of energy. Therefore, varying the GC strategy can reduce total on-chip energy (by 20--30%) whilst slightly impacting application throughput (by 10--40%) and increasing worst-case pause times (by 20--30%). Our work quantifies the direct impact of GC on mobile system, enumerates the main factors and layers of this relationship, and offers a guide for analysis of memory behavior in understanding and tuning system performance
Description
Keywords
Citation
Collections
Source
Proceedings of the 8th ACM International Systems and Storage Conference, SYSTOR 2015
Type
Book Title
Entity type
Access Statement
License Rights
Restricted until
2037-12-31
Downloads
File
Description