Abstract
dc:description.abstract<p>Smartphones, tablets, and other mobile devices exhibit vastly different constraints compared to <em>regular</em> or <em>classic</em> computing environments like desktops, laptops, or servers. Mobile devices run dozens of so-called <em>“apps”</em> hosted by independent virtual machines (VM). All these VMs run concurrently and each VM deploys <em>purely local</em> heuristics to organize resources like memory, performance, and power. Such a design causes conflicts across all layers of the software stack, calling for the evaluation of VMs and the optimization techniques specific for mobile frameworks.</p> <p>In this dissertation, we study the design of managed runtime systems for mobile platforms. More specifically, we deepen the understanding of interactions between <em>garbage collection</em> (GC) and system layers. We develop tools to monitor the memory behavior of Android-based apps and to characterize GC performance, leading to the development of new techniques for memory management that address energy constraints, time performance, and responsiveness.</p> <p>We implement a GC-aware frequency scaling governor for Android devices. We also explore the tradeoffs of power and performance <em>in vivo</em> for a range of realistic GC variants, with established benchmarks and real applications running on Android virtual machines. We control for variation due to dynamic voltage and frequency scaling (DVFS), Just-in-time (JIT) compilation, and across established dimensions of heap memory size and concurrency. Finally, we provision GC as a global service that collects statistics from all running VMs and then makes an informed decision that optimizes across all them (and not just locally), and across all layers of the stack.</p> <p>Our evaluation illustrates the power of such a central coordination service and garbage collection mechanism in improving memory utilization, throughput, and adaptability to user activities. In fact, our techniques aim at a sweet spot, where total on-chip energy is reduced (20–30%) with minimal impact on throughput and responsiveness (5–10%). The simplicity and efficacy of our approach reaches well beyond the usual optimization techniques.</p>
Degree
thesis:*- Name thesis:degree_name
- Doctor of Philosophy (PhD)
- Level thesis:degree_level
- Dissertation
- Discipline thesis:degree_discipline
- Computer Science
- Year
- 2016
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Hussein, Ahmed Mohamed Abd-elhaffiez
- Contributors dc:contributor
-
- Antony L. Hosking
- Mathias Payer
- Suresh Jagannathan
- Xiangyu Zhang
Subjects
dc:subject × 7Identifiers
dc:identifier.*- Repository record dc:identifier
- https://docs.lib.purdue.edu/open_access_dissertations/941
- OAI identifier oai:identifier
- oai:docs.lib.purdue.edu:open_access_dissertations-2164