Energy-based fair queuing: energy-centric processor scheduling algorithm for battery-limited mobile systems

Los dispositivos moviles modernos disponen cada vez de mas funcionalidad debido al rapido avance de las tecnologias de las comunicaciones y computaciones moviles. Sin embargo, la capacidad de la bateria no ha experimentado un aumento equivalente. Por ello, la experiencia de usuario en los sistemas moviles modernos se ve muy afectada por la vida de la bateria, que es un factor inestable de dificil de control. Para abordar este problema, investigaciones anteriores han propuesto un esquema de gestion del consumo (PM) centrada en la energia y que proporciona una garantia sobre la vida operativa de la bateria mediante la gestion de la energia como un recurso de primera clase en el sistema. Como el planificador juega un papel fundamental en la administracion del consumo de energia y en la garantia del rendimiento de las aplicaciones, esta tesis explora la optimizacion de la experiencia de usuario para sistemas moviles con energia limitada desde la perspectiva de un planificador que tiene en cuenta el consumo de energia en un contexto en el que esta es un recurso de primera clase. En esta tesis se analiza en primer lugar los factores que contribuyen de forma general a la experiencia de usuario en un sistema movil. Despues se determinan los requisitos esenciales que afectan a la experiencia de usuario en la planificacion centrada en el consumo de energia, que son el reparto proporcional de la potencia, el cumplimiento de las restricciones temporales, y cuando sea necesario, el compromiso entre la cuota de potencia y las restricciones temporales. Para cumplir con los requisitos, el algoritmo clasico de fair queueing y su modelo de referencia se extienden desde los dominios de las comunicaciones y ancho de banda de CPU hacia el dominio de la energia, y en base a esto, se propone el algoritmo energy-based fair queueing (EFQ) para proporcionar una planificacion basada en la energia. El algoritmo EFQ esta disenado para compartir la potencia consumida entre las tareas mediante su planificacion en funcion de la energia consumida y de la cuota reservada. La cuota de consumo de cada tarea con restricciones temporales esta protegida frente a diversos cambios que puedan ocurrir en el sistema. Ademas, para dar mejor soporte a las tareas en tiempo real y multimedia, se propone un mecanismo para combinar con el algoritmo EFQ para dar preferencia en la planificacion durante breves intervalos de tiempo a las tareas mas urgentes con restricciones temporales.Las propiedades del algoritmo EFQ se evaluan a traves del modelado de alto nivel y la simulacion. Los resultados de las simulaciones indican que los requisitos esenciales de la planificacion centrada en la energia pueden lograrse. El algoritmo EFQ se implementa mas tarde en el kernel de Linux. Para evaluar las propiedades del planificador EFQ basado en Linux, se desarrollo un banco de pruebas experimental basado en una sitema empotrado, un programa de banco de pruebas multihilo, y un conjunto de pruebas de codigo abierto. A traves de experimentos especificamente disenados, esta tesis verifica primero las propiedades de EFQ en la gestion de la cuota de consumo de potencia y la planificacion en tiempo real y, a continuacion, explora los beneficios potenciales de emplear la planificacion EFQ en la optimizacion de la experiencia de usuario para sistemas moviles con energia limitada. Los resultados experimentales sobre la gestion de la cuota de energia muestran que EFQ es mas eficaz que el planificador de Linux-CFS en la gestion de energia, logrando un reparto proporcional de la energia del sistema independientemente de en que dispositivo se consume la energia. Los resultados experimentales en la planificacion en tiempo real demuestran que EFQ puede lograr de forma eficaz, flexible y robusta el cumplimiento de las restricciones temporales aunque se de el caso de aumento del el numero de tareas o del error en la estimacion de energia. Por ultimo, un analisis comparativo de los resultados experimentales sobre la optimizacion de la experiencia del usuario demuestra que, primero, EFQ es mas eficaz y flexible que los algoritmos tradicionales de planificacion del procesador, como el que se encuentra por defecto en el planificador de Linux y, segundo, que proporciona la posibilidad de optimizar y preservar la experiencia de usuario para los sistemas moviles con energia limitada. Abstract Modern mobiledevices have been becoming increasingly powerful in functionality and entertainment as the next-generation mobile computing and communication technologies are rapidly advanced. However, the battery capacity has not experienced anequivalent increase. The user experience of modern mobile systems is therefore greatly affected by the battery lifetime,which is an unstable factor that is hard to control. To address this problem, previous works proposed energy-centric power management (PM) schemes to provide strong guarantee on the battery lifetime by globally managing energy as the first-class resource in the system. As the processor scheduler plays a pivotal role in power management and application performance guarantee, this thesis explores the user experience optimization of energy-limited mobile systemsfrom the perspective of energy-centric processor scheduling in an energy-centric context. This thesis first analyzes the general contributing factors of the mobile system user experience.Then itdetermines the essential requirements on the energy-centric processor scheduling for user experience optimization, which are proportional power sharing, time-constraint compliance, and when necessary, a tradeoff between the power share and the time-constraint compliance. To meet the requirements, the classical fair queuing algorithm and its reference model are extended from the network and CPU bandwidth sharing domain to the energy sharing domain, and based on that, the energy-based fair queuing (EFQ) algorithm is proposed for performing energy-centric processor scheduling. The EFQ algorithm is designed to provide proportional power shares to tasks by scheduling the tasks based on their energy consumption and weights. The power share of each time-sensitive task is protected upon the change of the scheduling environment to guarantee a stable performance, and any instantaneous power share that is overly allocated to one time-sensitive task can be fairly re-allocated to the other tasks. In addition, to better support real-time and multimedia scheduling, certain real-time friendly mechanism is combined into the EFQ algorithm to give time-limited scheduling preference to the time-sensitive tasks. Through high-level modelling and simulation, the properties of the EFQ algorithm are evaluated. The simulation results indicate that the essential requirements of energy-centric processor scheduling can be achieved. The EFQ algorithm is later implemented in the Linux kernel. To assess the properties of the Linux-based EFQ scheduler, an experimental test-bench based on an embedded platform, a multithreading test-bench program, and an open-source benchmark suite is developed. Through specifically-designed experiments, this thesis first verifies the properties of EFQ in power share management and real-time scheduling, and then, explores the potential benefits of employing EFQ scheduling in the user experience optimization for energy-limited mobile systems. Experimental results on power share management show that EFQ is more effective than the Linux-CFS scheduler in managing power shares and it can achieve a proportional sharing of the system power regardless of on which device the energy is spent. Experimental results on real-time scheduling demonstrate that EFQ can achieve effective, flexible and robust time-constraint compliance upon the increase of energy estimation error and task number. Finally, a comparative analysis of the experimental results on user experience optimization demonstrates that EFQ is more effective and flexible than traditional processor scheduling algorithms, such as those of the default Linux scheduler, in optimizing and preserving the user experience of energy-limited mobile systems.