Tesis:

Dynamic Management in Operating Systems to Improve Energy Efficiency of Resource-Constrained and Wireless Devices


  • Autor: RODRÍGUEZ ZURRUNERO, Roberto

  • Título: Dynamic Management in Operating Systems to Improve Energy Efficiency of Resource-Constrained and Wireless Devices

  • Fecha: 2021

  • Materia: Sin materia definida

  • Escuela: E.T.S. DE INGENIEROS DE TELECOMUNICACION

  • Departamentos: INGENIERIA ELECTRONICA

  • Acceso electrónico: https://oa.upm.es/69615/

  • Director/a 1º: ARAUJO PINTO, Álvaro

  • Resumen: During the last decades, there has been a large increase in the number of electronic computing devices and their use has been extended to all kinds of applications present in our daily life. Moreover, this increase is expected to be even higher in the next years, and there is an increasingly growth of applications in which the devices must operate wirelessly and autonomously the longest possible. Internet of Things (IoT) has been a major boost for such applications, but there are also other important areas where devices should work autonomously such as for implanted medical devices, remote traffic surveillance systems or infrastructures monitoring devices. Therefore, the energy efficiency is becoming critical issue for more and more applications. For that reason, such devices usually have very important constraints in their resources available, which translates in very reduced clock frequency (processing speed), storage size and volatile memory (RAM). Operating Systems (OSes) have been stablished as one of the key elements regarding the software running on the computing devices. They provide high-level features, tools and abstraction layers to isolate the software development from the device’s hardware which allows boosting the development speed and the complexity of the applications running on these devices. However, OSes for resource-constrained devices usually provides a limited set of features since they must introduce the lowest overhead possible. Dynamic management is one of the key features of general-purpose OSes, but it has barely been exploited for devices with strict constraints. In this way, the OS can be used to automatically adapt some internal parameters such as the clock frequency, the operating mode, the scheduling policy, or the loaded modules, to achieve improved performance or energy-efficiency at each specific point in time. Toward this aim, the main goal of this Ph.D. thesis consists of the study and development of dynamic techniques to improve the energy efficiency in resource-constrained devices running an OS. Thus, a number of contributions have been made in this area for this thesis. First, a proof of concept implementing an adaptive scheduler for a preemptive OS was done. It demonstrated the feasibility of this approach to increase the batteries lifetime in some scenarios and served as the basis of the OS developed for this thesis YetiOS. Its main feature is providing an adaptive module to ease the implementation of adaptive algorithms. On the other hand, an experimental evaluation of the performance in the process management of an OS was performed when both communication and processing tasks are running. In that case, a set of trade-offs were stablished for such situations, demonstrating the effects of running some processing intensive applications on the processing and communications performance. In addition, it is important to highlight that a set of tools were developed for this thesis that may also be considered as part of its contributions since they served to evaluate the proposed approaches. These tools are the OS, YetiOS, the custom-developed devices YetiMotes and an aDBS emulator. Another important contribution was done in the field of medical implanted devices, more specifically in adaptive deep brain stimulation (aDBS) controllers. The energy efficiency is a critical issue for such devices, so OSes have not been used to date due to the overhead they introduce. Thus, it was demonstrated that by implementing a set of methods it is possible to use OSes also for these kinds of devices to take advantage of high-level development features while introducing an almost negligible power consumption overhead. Finally, what may be considered the main contribution of this Ph.D thesis was done in the area of frequency scaling for resource-constrained devices. Traditionally, it was a well-stablished assumption that reducing the clock frequency of a processor always reduced its power consumption. However, it was demonstrated that for most recent devices including advanced low power modes, this assumption is no longer fulfilled in all the cases, and the best clock frequency in terms of power consumption is not always the lowest one. Instead, the best frequency depends on the application being running and may vary with time. To address this issue, a machine learning based method was developed and evaluated which dynamically calculates the best clock frequency in terms of power consumption, which allowed achieving significant energy efficiency improvements in dynamic applications. This thesis may be considered as a step forward to introduce dynamic and adaptive capabilities in OSes for future wireless and resource-constrained devices where energy efficiency is a critical issue. However, there is still a wide open field for research in this area and technology advances in devices’ hardware could enable the study of more complex adaptive approaches even for resource-constrained devices. ----------RESUMEN---------- Durante las últimas décadas, se ha producido un gran aumento del número de dispositivos electrónicos y su uso se ha extendido a todo tipo de aplicaciones presentes en nuestro día a día. Además, se espera que este aumento sea aún mayor en los próximos años, y cada vez son más las aplicaciones en las que los dispositivos deben funcionar de forma inalámbrica y autónoma el mayor tiempo posible. Lo que se conoce como Internet of Things (IoT) ha supuesto un gran impulso para este tipo de aplicaciones, pero también hay otros ámbitos importantes en los que los dispositivos deben funcionar de forma autónoma, como los dispositivos médicos implantados, la vigilancia remota del tráfico o la monitorización de infraestructuras críticas. Por lo tanto, la eficiencia energética se está convirtiendo en un elemento crítico para un cada vez mayor número de aplicaciones. Por ello, estos dispositivos suelen tener restricciones muy importantes en sus recursos disponibles, que se traducen en una frecuencia de reloj (velocidad de procesamiento), un tamaño de almacenamiento y una memoria volátil (RAM) muy reducidos. Los sistemas operativos (SO) se han establecido como uno de los elementos clave en lo que respecta al software que se ejecuta en los dispositivos electrónicos. Proporcionan algunas características de alto nivel, herramientas avanzadas y capas de abstracción para aislar el desarrollo de software del hardware del dispositivo, lo que permite aumentar la velocidad de desarrollo y la complejidad de las aplicaciones que se ejecutan en estos dispositivos. Sin embargo, los sistemas operativos para dispositivos con recursos limitados suelen ofrecer un conjunto limitado de funciones, ya que deben introducir la menor sobrecarga posible. La gestión dinámica es una de las características clave de los SO, pero apenas se ha explotado en dispositivos con restricciones de recursos estrictas. De este modo, el SO puede utilizarse para adaptar automáticamente algunos parámetros internos, como la frecuencia del reloj, el modo de funcionamiento, la política del planificador o los módulos cargados, para lograr un mejor rendimiento o eficiencia energética en cada momento concreto. En este sentido, el objetivo principal de esta tesis doctoral consiste en el estudio y desarrollo de técnicas dinámicas para mejorar la eficiencia energética en dispositivos con recursos limitados que usan un SO como elemento central. Así, en esta tesis doctoral se han realizado varias contribuciones en este ámbito. En primer lugar, se realizó una prueba de concepto para implementar un planificador adaptativo para un sistema operativo preventivo. Se demostró la viabilidad de este enfoque para aumentar la vida útil de las baterías en algunos escenarios y sirvió como base del SO desarrollado para esta tesis, YetiOS. La principal característica de este SO es proporcionar un módulo adaptativo para facilitar la implementación de algoritmos adaptativos. Por otro lado, se realizó una evaluación experimental de la gestión de procesos del SO cuando se ejecutan tanto tareas de comunicación como de procesamiento. Se demostró los efectos que tienen la ejecución de ciertas aplicaciones de procesamiento intensivo en el rendimiento del procesamiento y las comunicaciones. Además, es importante destacar que para esta tesis se han desarrollado un conjunto de herramientas que también pueden considerarse como parte de las aportaciones de ésta, ya que han servido para evaluar las distintas propuestas. Estas herramientas son el ya mencionado YetiOS, los dispositivos electrónicos desarrollados YetiMotes y un emulador para aDBS. Otra contribución importante se realizó en el campo de los dispositivos médicos implantados, más concretamente en los controladores de estimulación cerebral profunda adaptativa (aDBS). La eficiencia energética es una cuestión crítica para este tipo de dispositivos, por lo que hasta la fecha no se han utilizado sistemas operativos debido a la sobrecarga que introducen. Así, se ha demostrado que, mediante la aplicación de un conjunto de métodos, es posible utilizar sistemas operativos también para este tipo de dispositivos, con el fin de aprovechar las características de desarrollo de alto nivel que estos proveen mientras se consigue introducir una sobrecarga de consumo de energía casi insignificante. Por último, la que puede considerarse la principal aportación de esta tesis doctoral se ha realizado en el ámbito del escalado de frecuencia para dispositivos con recursos limitados. Hasta la fecha, se ha asumido que la reducción de la frecuencia de reloj de un procesador siempre reducía su consumo de energía. Sin embargo, se ha demostrado que, para los dispositivos más recientes, que incluyen modos avanzados de bajo consumo, esta suposición ya no se cumple en todos los casos, y la mejor frecuencia de reloj en términos de consumo de energía no es siempre la más baja. Por el contrario, la mejor frecuencia depende de la aplicación que se esté ejecutando y puede variar con el tiempo. Por lo tanto, se ha desarrollado y evaluado un método basado en “machine learning” que es capaz de calcular dinámicamente la mejor frecuencia de reloj en términos de consumo de energía, lo que permite lograr importantes mejoras de eficiencia energética en aplicaciones dinámicas. Esta tesis puede considerarse como un paso adelante para introducir capacidades dinámicas y adaptativas en los SO para futuros dispositivos inalámbricos y con recursos limitados en los que la eficiencia energética es una cuestión crítica. Sin embargo, todavía hay un amplio campo abierto para la investigación en esta área y los avances tecnológicos en el hardware de los dispositivos podrían permitir el estudio de enfoques adaptativos más complejos incluso para dispositivos con recursos limitados.