Dissertation Defense
Balancing Interactive Performance and Budgeted Resources in Mobile Computing
Add to Google Calendar
In this dissertation, we explore the various limited resources involved in
mobile applications — battery energy, cellular data usage, and, critically,
user attention — and we devise principled methods for managing the tradeoffs
involved in creating a good user experience. Building quality mobile
applications requires developers to understand complex interactions between
network usage, performance, and resource consumption. Because of this
difficulty, developers commonly choose simple but suboptimal approaches that
strictly prioritize performance or resource conservation.
These extremes are symptoms of a lack of system-provided abstractions for
managing this complexity. By providing services to applications to manage
performance/resource tradeoffs, mobile systems can significantly improve
user-visible performance without exhausting resource budgets. This dissertation
explores three such abstractions in detail. We first present Intentional
Networking, a system that provides synchronization primitives and intelligent
scheduling for multi-network traffic. Next, we present Informed Mobile
Prefetching, a system that helps applications decide when to prefetch data
and how aggressively to spend limited battery energy and cellular data resources
toward that end. Finally, we present Meatballs, a library that helps
applications consider the cloudy nature of predictions when making decisions,
selectively employing redundancy to mitigate uncertainty and provide more
reliable performance. Overall, experiments show that these abstractions can
significantly reduce interactive delay without overspending the available energy
and data resources.