|Abstract:||Multimedia-enabled mobile devices, such as camera phones, need to support multimedia semantics with high quality of service (QoS) requirements under limited system resources such as CPU time and battery energy. On the other hand, these mobile devices also provide new opportunity for QoS provisioning and energy saving due to the adaptive hardware and software components. Researchers have therefore introduced adaptation into various system layers, ranging from hardware to applications. Previous adaptation work often adapts only some layers or only at coarse time granularity such as application entry or exit. We believe that to fully reap the benefits of adaptation, it is necessary to take a cross-layer adaptation approach, in which all system layers are adaptive and cooperate with each other in response to system changes at different time granularity.
This thesis presents a novel operating system, called GRACE-OS, to support such cross-layer adaptation in the operating system by coordinating the adaptation in different layers and enforcing the coordinated decisions via energy-aware real-time scheduling. This thesis makes four major contributions. First, we propose a hierarchical adaptation framework to coordinate adaptation in different layers. This framework consists of global and internal adaptation. The former coordinates all three layers in response to large system changes, while the latter adapts each individual layer in response to small system changes. This two-level adaptation hierarchy achieves the benefits of the cross-layer adaptation with acceptable overhead. Second, we extend traditional real-time scheduling with another dimension, speed, for mobile devices with a variable-speed processor. That is, the scheduler decides how fast to execute applications in addition to when to execute what applications. This extended scheduling algorithm enables applications to operate at the coordinated quality level with minimum energy. Third, we develop a set of algorithms for internal adaptation in the operating system and CPU hardware. These algorithms adjust the CPU speed to handle small variations in application CPU demand. Their goal is to minimize the total power consumed by the device while preserving the soft deadline guarantees. Finally, we develop a kernel-based profiling technique to monitor the CPU usage of individual applications and predict their CPU demand for both global and internal adaptation.
We have implemented GRACE-OS in the Linux kernel and evaluated it with adaptive Athlon processor and adaptive video codec applications. Our experimental results show that GRACE-OS efficiently trades off QoS for energy with acceptable overhead. In particular, compared to previous systems that adapt only some system layers, GRACE-OS achieves the user-desired battery lifetime and saves energy by up to 59% while providing better or the same multimedia quality. Compared to previous systems that adapt only at coarse time granularity, GRACE-OS saves energy by 2% to 8.9% without affecting multimedia quality.