<  Back to the Polytechnique Montréal portal

Power Estimation Framework to Ensure the Reliability of Edge Devices in Internet-of-Things Applications

Mahsa Hadian

Ph.D. thesis (2023)

[img] Restricted to: Repository staff only until 13 November 2024
Terms of Use: All rights reserved
Show abstract
Hide abstract

Abstract

As of 2022, the global edge computing market was estimated to be worth USD 11.24 billion, with a projected growth rate of 37.9% from 2023 to 2030. The premise of edge computing is that data should be analyzed as close to its production as possible. This results in faster processing and a quicker application response time. However, edge devices and edge nodes typically have reduced capabilities compared to data centers. The distribution of data and computation workloads on different tiers (e.g., cloud or edge device) can highly impact the performance and resource utilization of the entire system and its infrastructure. Moreover, a lack of reliability due to the depletion of the batteries or the inaccessibility of power is another potential issue. Especially when an edge device performs complex data analytics on the edge, power consumption is a particularly critical resource for edge devices. Power consumption can be influenced by a variety of factors, such as input data volume, resource utilization, and the topology of the edge computing network. Uncertainty in power consumption can cause issues with planning, resource allocation, and system reliability. In order to maintain the reliability and functionality of edge computing platforms, effective estimation and management of power consumption, especially in energyconstrained nodes, are necessary. In view of this and to overcome these challenges, in this work, (1) we first present a performance and energy benchmarking tool for edge computing platforms (PEBEdge) in Internet of Things (IoT) applications to benchmark the overall performance and power consumption. PEBEdge’s benchmark system is comprised of multiple tiers, including a sensor tier (i.e., workload generator), an edge tier (including the application and benchmarking layers), and a cloud tier (for data storage and advanced analytics). This tool focuses particularly on edge devices, which carry the most substantial constraints. PEBEdge allows us to easily define different workloads that correspond to different sensor topologies and other deployments involving edge devices, edge nodes, and the cloud. PEBEdge monitors and collects resource utilization as system performance metrics like CPU, memory, disk I/O, and network, as well as power consumption on the edge device tier. PEBEdge allows configuring and deploying different data processing applications and running experiments to evaluate the performance and power consumption of the infrastructure for given workloads and applications. It is designed so that each component is implemented and virtualized as a container, allowing easy instantiation, customization, and runtime replacement with a different implementation using a different image at runtime. With docker containers, the framework also provides robust ix orchestration capabilities for large-scale experiments and collects consistent performance and power usage metrics across deployments. The PEBEdge framework requires both physical and software components. Since PEBEdge aims to measure power consumption on the edge device, specific physical components are required. To allow for greater representativeness, flexibility, and extensibility, all other components (e.g., sensors) are virtualized. In this thesis, (2) after identifying software-associated parameters impacting the edge device’s power consumption, a power estimation model is built to study how different parameters (like input sensors, container numbers, process units, CPU, memory, network, and disk) are co-related with edge devices’ power consumption. In this thesis, we propose the use of machine learning models for the estimation of power consumption. Compared with the methods that use analytical (i.e., mathematical or statistical) models for estimating power consumption (e.g., WattEdge), machine learning models have the advantage of being hardware independent and generally applicable. In software-related cases, when it is necessary to focus on retraining data, machine learning algorithms are a superior solution. Because machine learning approaches make data training much easier and faster. Conversely, analytical methods often produce more accurate results, require fewer computational resources, and are more interpretable. Different machine learning models have been utilized in the experiments, including eXtreme Gradient Boosting, Random Forest, Decision Tree, Linear Regression, AdaBoost Regressor, K-nearest neighbor, and neural network models, including Long Short-Term Memory, Multilayer Perceptron, and Dummy Regressor as a regression baseline. The process for training such a model is described in detail, including how to gather data and select the best model from a variety of algorithms. The experiments are conducted using a dataset that includes 381,232 samples collected from 35 types of experiments. On the basis of the performance metrics, machine learning models appear to perform better than neural network models in the presented results. Decision Tree and Random Forest exhibit excellent performance among the machine learning algorithms. In addition, the estimated amount of edge device power consumption helps us estimate the battery depletion time. Using the power estimation models, we find the most significant software-associated factor that allows us to make decisions about changing system configuration when the edge device is at the critical battery level; we determine the approximate edge device battery depletion time according to the estimated power consumption models. Eventually, in this research, (3) we provide the researchers with the possibility to perform experiments regarding edge device power consumption with considerably less time and without any required hardware like an edge device and power meter.

Résumé

En 2022, le marché mondial de l’informatique de pointe était estimé à 11,24 milliards USD, avec un taux de croissance projeté de 37,9% de 2023 à 2030. Le principe de l’edge computing est que les données doivent être analysées aussi près que possible de leur production. Cela se traduit par un traitement plus rapide et un temps de réponse de l’application plus rapide. Cependant, les périphériques périphériques et les noeuds périphériques ont généralement des capacités réduites par rapport aux centres de données. La répartition des charges de travail de données et de calcul sur différents niveaux (par exemple, cloud ou périphérique périphérique) peut avoir un impact important sur les performances et l’utilisation des ressources de l’ensemble du système et de son infrastructure. De plus, un manque de fiabilité dû à l’épuisement des batteries ou à l’inaccessibilité de l’alimentation est un autre problème potentiel. En particulier lorsqu’un périphérique périphérique effectue des analyses de données complexes en périphérie, la consommation d’énergie est une ressource particulièrement critique pour les périphériques périphériques. La consommation d’énergie peut être influencée par divers facteurs, tels que le volume de données d’entrée, l’utilisation des ressources et la topologie du réseau informatique de périphérie. L’incertitude de la consommation d’énergie peut entraîner des problèmes de planification, d’allocation des ressources et de fiabilité du système. Afin de maintenir la fiabilité et la fonctionnalité des plates-formes informatiques de pointe, une estimation et une gestion efficaces de la consommation d’énergie, en particulier dans les noeuds à énergie limitée, sont nécessaires. Compte tenu de cela et pour surmonter ces défis, dans ce travail, (1) nous présentons d’abord un outil d’analyse comparative des performances et de l’énergie pour les plates-formes informatiques de périphérie (PEBEdge) dans les applications de l’Internet des objets (IoT) afin d’évaluer les performances globales et la consommation d’énergie. Le système de référence de PEBEdge est composé de plusieurs niveaux, y compris un niveau de capteur (c’est-àdire un générateur de charge de travail), un niveau de périphérie (y compris les couches d’application et d’analyse comparative) et un niveau cloud (pour le stockage de données et l’analyse avancée). Cet outil se concentre particulièrement sur les dispositifs périphériques, qui portent les contraintes les plus importantes. PEBEdge nous permet de définir facilement différentes charges de travail qui correspondent à différentes topologies de capteurs et autres déploiements impliquant des appareils périphériques, des noeuds périphériques et le cloud. PEBEdge surveille et collecte l’utilisation des ressources sous forme de métriques de performances système telles que le processeur, la mémoire, les E/S de disque et le réseau, ainsi que vi la consommation d’énergie au niveau des périphériques périphériques. PEBEdge permet de configurer et de déployer différentes applications de traitement de données et d’exécuter des expériences pour évaluer les performances et la consommation d’énergie de l’infrastructure pour des charges de travail et des applications données. Il est conçu pour que chaque composant soit implémenté et virtualisé en tant que conteneur, permettant une instanciation, une personnalisation et un remplacement d’exécution faciles avec une implémentation différente utilisant une image différente au moment de l’exécution. Avec les conteneurs Docker, le framework fournit également des capacités d’orchestration robustes pour les expériences à grande échelle et collecte des mesures cohérentes de performance et d’utilisation de l’énergie à travers les déploiements. Le framework PEBEdge nécessite à la fois des composants physiques et logiciels. Étant donné que PEBEdge vise à mesurer la consommation d’énergie sur l’appareil de périphérie, des composants physiques spécifiques sont nécessaires. Pour permettre une plus grande représentativité, flexibilité et extensibilité, tous les autres composants (par exemple, les capteurs) sont virtualisés. Dans cette thèse, (2) après avoir identifié les paramètres associés au logiciel ayant un impact sur la consommation d’énergie de l’appareil de périphérie, un modèle d’estimation de puissance est construit pour étudier comment différents paramètres (comme les capteurs d’entrée, les numéros de conteneur, les unités de traitement, le CPU, la mémoire, le réseau et le disque ) sont corrélées à la consommation d’énergie des appareils périphériques. Dans cette thèse, nous proposons l’utilisation de modèles d’apprentissage automatique pour l’estimation de la consommation d’énergie. Par rapport aux méthodes qui utilisent des modèles analytiques (c’està- dire mathématiques ou statistiques) pour estimer la consommation d’énergie (par exemple, WattEdge), les modèles d’apprentissage automatique ont l’avantage d’être indépendants du matériel et généralement applicables. Dans les cas liés aux logiciels, lorsqu’il est nécessaire de se concentrer sur le recyclage des données, les algorithmes d’apprentissage automatique sont une solution supérieure. Parce que les approches d’apprentissage automatique rendent la formation aux données beaucoup plus facile et plus rapide. Inversement, les méthodes analytiques produisent souvent des résultats plus précis, nécessitent moins de ressources informatiques et sont plus interprétables. Différents modèles d’apprentissage automatique ont été utilisés dans les expériences, notamment eXtreme Gradient Boosting, Random Forest, Decision Tree, Linear Regression, AdaBoost Regressor, K-plus proche voisin et des modèles de réseau neuronal, notamment Long Short-Term Memory, Multilayer Perceptron et Dummy Régresseur comme ligne de base de régression. Le processus de formation d’un tel modèle est décrit en détail, y compris comment collecter des données et sélectionner le meilleur modèle parmi une variété d’algorithmes. Les expériences sont menées à l’aide d’un ensemble de données qui comprend 381 232 échantillons collectés à partir de 35 types d’expériences. Sur vii la base des mesures de performance, les modèles d’apprentissage automatique semblent être plus performants que les modèles de réseau neuronal dans les résultats présentés. L’arbre de décision et la forêt aléatoire présentent d’excellentes performances parmi les algorithmes d’apprentissage automatique. De plus, la quantité estimée de consommation d’énergie de l’appareil de périphérie nous aide à estimer le temps d’épuisement de la batterie. À l’aide des modèles d’estimation de puissance, nous trouvons le facteur logiciel le plus important qui nous permet de prendre des décisions concernant la modification de la configuration du système lorsque l’appareil de périphérie est au niveau critique de la batterie ; nous déterminons le temps d’épuisement approximatif de la batterie de l’appareil périphérique en fonction des modèles de consommation d’énergie estimés. Finalement, dans cette recherche, (3) nous offrons aux chercheurs la possibilité d’effectuer des expériences concernant la consommation d’énergie des périphériques de périphérie avec beaucoup moins de temps et sans aucun matériel requis comme un périphérique de périphérie et un wattmètre.

Department: Department of Computer Engineering and Software Engineering
Program: Génie informatique
Academic/Research Directors: Giovanni Beltrame and Marios-Eleftherios Fokaefs
PolyPublie URL: https://publications.polymtl.ca/54386/
Institution: Polytechnique Montréal
Date Deposited: 13 Nov 2023 11:27
Last Modified: 13 Apr 2024 06:08
Cite in APA 7: Hadian, M. (2023). Power Estimation Framework to Ensure the Reliability of Edge Devices in Internet-of-Things Applications [Ph.D. thesis, Polytechnique Montréal]. PolyPublie. https://publications.polymtl.ca/54386/

Statistics

Total downloads

Downloads per month in the last year

Origin of downloads

Repository Staff Only

View Item View Item