User-aware performance and energy management for interactive, multi-tasking mobile systems
MetadataShow full item record
Billions of mobile devices aim to satisfy users through fast interaction and long battery life. To provide high quality-of-service (QoS) to users, the performance of mobile processors has significantly increased over the last decade and reached a point that is comparable to conventional desktop processors. Simultaneously, however, the power and energy consumption of mobile processors have increased, often shortening battery life and, thus, lowering overall user experience. This trend forces conventional performance and energy management schemes to be user-aware such that mobile systems can provide expected service levels to users while minimizing energy for long battery life. Recent user-aware approaches provide a promising direction for such performance and energy optimization for mobile device users. They precisely deliver certain service levels based on how they satisfy users, guaranteeing maximum user satisfaction from interactions while minimizing energy by not over-provisioning performance. However, this solution faces three major practical challenges. First, prior user-aware work mainly focuses on interaction, ignoring user satisfaction from battery life, which is another major factor in mobile user experience. Second, applying prior user-aware work to current mobile systems is challenging because existing performance and energy modeling approaches are costly due to high online and offline modeling overhead. Third, prior user-aware performance management approaches are for single user tasks, and, thus, fail to precisely meet diverse user expectations of concurrent user tasks. This dissertation addresses the aforementioned three challenges as follows. Battery- and user-aware QoS scaling (BUQS) is proposed to take into account user satisfaction from battery life. A new battery-aware user model and QoS management approach that account for user dissatisfaction when a battery is fully depleted are proposed. Evaluation results demonstrate that prior user-aware work that has static QoS targets often leads to early battery depletion. During unusable hours, end-users experience dissatisfaction, lowering overall user experience. The proposed battery and user-aware approach improves user experience on average 30% by dynamically adjusting QoS targets based on expected battery status, varying user expectations, and device usage of a specific user. In addition, this dissertation advances both performance and energy modeling approaches to increase modeling efficiency and practicality. For performance, prior online modeling approaches have high overhead to build predictors offline and to perform prediction and further learning online on mobile devices. Applying training based approaches to web applications is particularly challenging because they have virtually unlimited inputs and complex software. This dissertation proposes to offload performance modeling of web applications to cloud resources to remove the overhead of building predictors and performance online computation on mobile devices. Devices in the cloud are used to build precise per-input models for newly created or updated web pages. These models are delivered as metadata along with web pages to mobile devices and used for precise performance control without any online computation. Results show that cloud-based offloading can minimize offline and online modeling overhead. For energy, prior offline modeling approaches incur high overhead to increase accuracy across workloads and require re-building of models for each hardware platform. To reduce such costs, a learning-based online synthesis approach is proposed that builds energy models at runtime using only generically available, platform-independent information. This dissertation finds that there exists a strong linear relationship between per-instruction performance and energy on modern devices, and that this relationship can be learned with lightweight online computation using power and instruction count samples. A complete energy model is built by further learning the impact of voltage and frequency scaling on each component of energy and performance. Results show that the proposed approach can achieve accurate predictions with 2% MAPE and negligible online learning overhead (0.1%). Lastly, to simultaneously meet diverse performance goals of user tasks in current mobile systems, a per-task performance and energy balancing approach (TaskForce) is proposed. Interactive mobile systems enhance user satisfaction through concurrent user tasks, each of which uniquely contributes to user experience. Current mobile systems that maximize user experience through performance-oriented computing for all user tasks suffer from inevitably high energy consumption. By contrast, prior user-aware work only works for single user tasks. TaskForce proposes per-task dynamic voltage and frequency scaling (DVFS) to allow per-task performance and energy balancing by precisely setting computing frequencies for each task in the scheduler, leading to 48% energy savings. User-aware scheduling maximizes user experience by prioritizing core residency of user tasks that cause more experience loss under conflicts.