This paper describes BE-OS, a Buffer-based Energy-efficient CPU scheduler for mobile devices that primarily run real-time multimedia applications. BE-OS is an Operating System algorithm on low-power hardware technique such as Dynamic Voltage Scaling(DVS), which has been a key technique in taking advantage of hardware characteristics of processor(CPU) to reduce energy consumption. DVS provides operating system with the ability to dynamically change processor``s clock frequency and thus optimize energy consumption. The pre-buffering technique for multimedia output is a key motivation for our algorithm, that keeps output data(frames) of real-time multimedia applications in the buffers temporarily. We aimed the fact that the buffer absorbs the variation of CPU workload. Our control algorithm observes how much the buffer is occupied, and adjust CPU frequency accordingly. This frequency adjustment operates as a feedback control system for the buffer. Mathematical analysis shows that this control model is stable and well-behaved. This buffer-based algorithm eliminates CPU idle time fully, minimizing energy consumption compared with previously proposed algorithms. And our scheduling algorithm enables BE-OS to support multiple task case, which includes not only buffer-enabled multimedia tasks, but also interactive tasks.
Our simulation results show that overall operation of BE-OS is successful in guaranteeing both quick response of interactive tasks and QoS of multimedia tasks. And the results indicates that compared to previously proposed algorithms, BE-OS saves energy by 20% to 70% while delivering almost perfect QoS guarantees for multimedia playbacks.