System Energy Efficiency Lab
Home People Research Publications Sponsors Contacts

Usage Characterization and Context-aware Management of Mobile Devices

With the rapid adoption of mobile devices and the extreme power constraints they operate in, understanding user behavior on mobile systems is crucial. We are actively looking at 'mobile workload design' with initial emphasis on characterizing the compute and the memory-bandwidth usage by commonly used apps on state-of-the-art smartphone/tablet platforms. More importantly, this study will also include the characterization of the usage of heterogeneous components (like GPUs), an aspect overlooked in previous workload studies.

Mobile devices are power hungry due to the limited battery life time. Our group have focused on finding a solution to manage power consumption of mobiles by understanding the context of mobile usage. We investigate how to accurately represent and recognize contexts such as user’s mobility and location, and we showed that context recognition algorithms such as fuzzy inference can help improve system energy efficiency while delivering good performance. Some context such as fine-grained user interaction activities of running applications may require more sophisticated models since its type is not only varied but also subjective. Here we explore how to recognize app phase contexts initiated by various user interaction activities. Since these types of context can change arbitrarily due to frequent user interactions, user activity models are required to represent the hierarchical relationship between semantic meaning of activities and app usage phase. We devised a user activity recognition framework which monitors software workloads to identify which tasks are executed when an interaction is encountered. The framework was implemented the user activity recognition framework on a real Android smartphone, and showed that, by applying different management policy for each recognized user activities, the system power efficiency can be significantly improved, for example, by up to 26% of CPU energy consumption.

Current and future technologies also deal with problems related to high temperatures, reliability and variability. Our group focuses on developing low-overhead yet effective techniques to control operating conditions of mobile devices automatically to mitigate such problems, while still providing high quality of experience to the user. Our goal is to develop flexible solutions and implement them in the operating system of real mobile device. Active projects in this are include:

  • Workload-aware dynamic reliability management for Linux/Android devices
  • User experience and application-aware dual energy management of mobile devices
  • Vardroid: Online variability emulation on real Linux/Android devices
  • Our group also devotes attention to emerging technologies and study the opportunities for their integration into the future mobile hardware/software stack. Emerging non-volatile memories such STT-RAM, ReRAM and PCRAM have been extensively researched for their potential to replace SRAM and DRAM main memories in digital systems. Their nearly zero leakage power and high density make them appropriate candidate to replace with on-chip and off-chip memories. The application of NVMs does not limit to cache or main memory. In SeeLab we exploit especially characters of these memories to design alternative computer/memory architecture for mobile devices. Since in real devices we deal with real users, our design space expand from power/performance space to power/performance/user-experience. This opens an idea of approximation in different levels of design. We are searching for alternative memory architecture which can solve memory bottleneck from state of the art mobile architectures. This includes both architectural and circuit level work to make computation more energy efficient and faster. Our active projects in SeeLab are listed as follows:

  • Tunable approximate computing using NVM-based associative memory
  • Approximate storage for energy efficient mobile devices
  • Memory based computation on DRAM for local data processing on mobile systems
  • Energy efficient accelerators based on NVMs for image/video processing, query processing, search engine, etc
  • Neuromorphic computing