GIT-CERCS-05-23
    Balasubramanian Seshasayee, Karsten Schwan,
    Energy-Efficient Device Scheduling through Contextual Timeouts

    Handheld and embedded hardware platforms are operating with an increasing number of internal and external devices, potentially increasing energy consumption and more importantly, motivating the need for energy management techniques for peripheral devices. This paper presents a platform-wide, system-level approach to dynamic energy management, termed contextual timeouts. The approach exploits the fact that most current peripheral devices support the ability to switch to a low power mode when not in use and automatically resuming operation upon use. The approach utilizes the energy savings derived from such device suspensions, considering that the device suspend/resume actions themselves consume power and have associated latencies. Contextual timeouts do not require programmer involvement. Instead, dynamic instrumentation is used to automatically capture and monitor the contexts (i.e., the execution points) at which programs make the service requests that cause device usage. From such dynamic monitoring data, system-level algorithms predict future request times and manage devices to best meet program needs under predicted behaviors. Adaptive methods for dynamic workload characterization coupled with runtime techniques for request prediction result in experimentally obtained energy savings of up to 50% over an aggressive timeout-based regime on a Linux-based iPAQ PDA.